<memeka> is there a way to do full rotation with gscaler?
<memeka> with gstreamer i can do this: v4l2video21convert extra-controls="convert,rotate=90"
<memeka> but this will keep the original video size, e.g. 1920x1080 won't rotate to 1080x1980
<memeka> if i manually add caps (e.g. ! video/x-raw,width=1080,height=1920 ! ) then the performance is very bad (fps drops from 25 to 11)
<memeka> looks like rotating directly in glimagesink produces better results ....
nighty- has joined #linux-exynos
genii has quit [Remote host closed the connection]
<memeka> did anyone managed to use the jpeg decoder for mjpg?
<memeka> with gstreamer pipeline: gst-launch-1.0 filesrc location=mjpeg.mov ! parsebin ! v4l2jpegdec ! fakesink => I get this error: :gst_v4l2_buffer_pool_start:<v4l2jpegdec0:pool:sink> we received 1 buffer from device '/dev/video31', we want at least 2
<memeka> is the jpeg decoder limited to 1 buffer ?
<memeka> snawrocki: did you work on the jpeg decoder in the past? :D
_whitelogger has joined #linux-exynos
mszyprow has joined #linux-exynos
<memeka> mszyprow: ping
<mszyprow> memeka: pong
<memeka> with gstreamer pipeline: gst-launch-1.0 filesrc location=mjpeg.mov ! parsebin ! v4l2jpegdec ! fakesink => I get this error: :gst_v4l2_buffer_pool_start:<v4l2jpegdec0:pool:sink> we received 1 buffer from device '/dev/video31', we want at least 2
<memeka> 3:05 PM is the jpeg decoder limited to 1 buffer ?
<mszyprow> memeka: I don't think so, it should work with any number of buffers
<mszyprow> memeka: maybe gst simply selects minimal number of buffers supported by device
<mszyprow> memeka: jpeg driver definitely advertises that it is capable of processing a single buffer
<mszyprow> memeka: aren't there any options for v4l2 gst plugins to specify the number of buffers?
<memeka> Hm ok I will have another look
<memeka> Afair, gst asks for how many it wants
<memeka> Then checks driver
<memeka> Eg mfc it uses many
<memeka> So i will check why gst thinks jpegdec is limited to 1 buffer
<mszyprow> memeka: mfc always requires more than one buffer (exact value depends on the selected codec)
PabloPL has joined #linux-exynos
PabloPL has quit [Quit: PabloPL]
PabloPL has joined #linux-exynos
<memeka> mszyprow: ping
<mszyprow> memeka: pong
<memeka> mszyprow: so basically there is a VIDIOC_REQBUFS for 2 buffers, the jpeg decoder returns only 1
<memeka> .vidioc_reqbufs= v4l2_m2m_ioctl_reqbufs :(
<mszyprow> memeka: okay, I see why it is requiring only one buffer
<mszyprow> memeka: see drivers/media/platform/s5p-jpeg/jpeg-core.c s5p_jpeg_queue_setup()
<memeka> f (ctx->mode == S5P_JPEG_DECODE)
<memeka> count = 1;
<memeka> this? :)
<mszyprow> memeka: destination format depends on the queued compressed data
PabloPL has quit [Quit: PabloPL]
<mszyprow> memeka: it may work if you remove that and you will queue jpeg frames of the same format
<memeka> so it should be a if (ctx->state == HEADER) then count = 1
<memeka> would that be better?
<mszyprow> memeka: you may try to remove the check at all
<mszyprow> memeka: vb2 core should handle it (untested)
<memeka> oki i will try :D
<mszyprow> assuming that all queued frames will be of the same format
<memeka> mszyprow: it makes sense to be the same format, right? unless you decode multiple files at the same time
<mszyprow> memeka: yes, so if it works then that check can be removed to give userspace more flexibility
<mszyprow> memeka: at least it is not related to any hw limitation, just a way v4l2 m2m jpeg decoding is implemented
<memeka> mszyprow: doesn't this means that it's also a hw limitation - decode only 1 format at a time?
<memeka> e.g. MFC can decode h264 and mpeg4 at the same time, right?
<memeka> or actually ... for multiple files decoded you get different setup right? is that queue associate with the hardware of with the buffers allocated by v4l2?
<mszyprow> memeka: jpeg driver uses m2m framework which keeps the context for each opened file handle and does time multiplexing/sharing of the hw
<memeka> right so it's associated with the v4l2 not the hw
<memeka> which means you can have multiple decodings at the same time
<mszyprow> jpeg hw is context-less basically
<mszyprow> it process a single image data at once
<memeka> the only "limitation" is to have all the frames in 1 file the same format, correct?
<mszyprow> and requires complete configuration for every processed image
<mszyprow> yep
<memeka> mszyprow: compiling kernel now and testing, will let you know
<memeka> mszyprow: btw i did look again at older code for thermals, and there's 4 trip points indeed :P so i revised my patch but still kept 8 points there just to eliminate the warning that there are more than 4 trip points in dts
<memeka> i picked up the irq-mode patches from samsung-soc list, so I am using irq trip points, and 3 polling ones
<memeka> but I think this means that the critical trip point is disabled (diff irq) :) so i have to re-check the code again :P
<mszyprow> memeka: I didn't check thermal yet, feel free to mail your comments to Bartlomiej
<memeka> mszyprow: actually i see "3" is hardcoded
<memeka> mszyprow: my comments are basically useless, don't have manual etc so it's just guesswork :))
afaerber has quit [Quit: Leaving]
<memeka> mszyprow: it works ... i can play a mjpeg video :D thanks!
<memeka> mszyprow: ermmm there is still an issue :))
<memeka> at the end(? - or at some point in time) there an infinite "<v4l2jpegdec0> Decoder is producing too many buffers" :)
<memeka> mszyprow: yeah it fails on V4L2_DEC_CMD_STOP
<memeka> VIDIOC_DECODER_CMD
<memeka> then it remains stuck in decoder loop with that error
<memeka> mszyprow: there is no VIDIOC_DECODER_CMD from what i see, so gst does this: /* keep queuing empty buffers until the processing thread has stopped, _pool_process() will return FLUSHING when that happened */
<memeka> but then the buffers are empty => they are not the same format (JPEG) ? => error getting stuff back :)
<mszyprow> memeka: v4l2jpegdec need to be improved then
<memeka> mszyprow: i will just add a VIDIOC_DECODER_CMD that returns 0 :)
<mszyprow> memeka: yea, this might make gst v4l2 plugin happy
<memeka> i don't think there is anything it needs to do to stop decoding so it should be ok
<mszyprow> memeka: jpegdecoding is context-less, so there is no need for separate STOP command
<memeka> i think the issue is that to "stop", at least gst, will try 1. issue VIDIOC_DECODER_CMD(V4L2_DEC_CMD_STOP), and if this fails then 2. send some empty buffers
afaerber has joined #linux-exynos
<memeka> mszyprow: it's not getting back a valid frame
<memeka> and remains stuck in the loop
<mszyprow> memeka: I don't know what the v4l2jpegdev is doing...
mszyprow has quit [Ping timeout: 250 seconds]
wwilly has quit [Quit: Leaving]
wwilly has joined #linux-exynos
_whitelogger has joined #linux-exynos
mszyprow|home has joined #linux-exynos
mszyprow|home has quit [Ping timeout: 250 seconds]
PabloPL has joined #linux-exynos
mszyprow|home has joined #linux-exynos
PabloPL has quit [Remote host closed the connection]
PabloPL has joined #linux-exynos
<PabloPL> krzk: About that kernel oops on s5pv210 and sgx - it was my mistake (when porting driver from old kernel). Fixed and it looks like gpu is initializing (kernel is not crasing), but getting information that there is no available egl configuration
<PabloPL> krzk: Need more investigation
<PabloPL> EGL Version 1.4
<PabloPL> Extensions: EGL_KHR_get_all_proc_addresses EGL_ANDROID_presentation_time EGL_KHR_swap_buffers_with_damage EGL_ANDROID_create_native_client_buffer EGL_ANDROID_front_buffer_auto_refresh EGL_KHR_image EGL_KHR_image_base EGL_KHR_gl_texture_2D_image EGL_KHR_gl_texture_cubemap_image EGL_KHR_gl_renderbuffer_image EGL_KHR_fence_sync EGL_ANDROID_image_native_buffer EGL_ANDROID_recordable
<PabloPL> Available configurations: 0
mszyprow|home has quit [Ping timeout: 246 seconds]
sle85276 has joined #linux-exynos
nighty- has quit [Remote host closed the connection]
PabloPL has quit [Remote host closed the connection]
afaerber has quit [Quit: Leaving]
aalm has quit [Ping timeout: 246 seconds]
PabloPL has joined #linux-exynos
PabloPL has quit [Remote host closed the connection]
mszyprow|home has joined #linux-exynos
aalm has joined #linux-exynos
mszyprow|home has quit [Ping timeout: 246 seconds]
mszyprow|home has joined #linux-exynos
aalm has quit [Ping timeout: 240 seconds]
aalm has joined #linux-exynos
mszyprow|home has quit [Ping timeout: 246 seconds]
sle85276 has quit [Quit: KVIrc 4.2.0 Equilibrium http://www.kvirc.net/]
afaerber has joined #linux-exynos