mszyprow has joined #linux-exynos
nighty-- has joined #linux-exynos
genii has quit [Remote host closed the connection]
paulk-leonov has quit [Ping timeout: 240 seconds]
paulk-leonov has joined #linux-exynos
paulk-leonov has quit [Excess Flood]
paulk-leonov has joined #linux-exynos
paulk-leonov-spa has joined #linux-exynos
paulk-leonov has quit [Ping timeout: 268 seconds]
paulk-leonov-spa has quit [Quit: Leaving]
paulk-leonov has joined #linux-exynos
afaerber has quit [Quit: Leaving]
afaerber has joined #linux-exynos
nighty-- has quit [Quit: Disappears in a puff of smoke]
afaerber has quit [Ping timeout: 260 seconds]
afaerber has joined #linux-exynos
<memeka> anyone awake?
<javier__> memeka: eaec420f530 [media] v4l2-ioctl/exynos: fix G/S_SELECTION's type handling
<javier__> it seems that hans made a subsystem wide changed and added a regression
<javier__> memeka: so I think you should change ctx_get_frame() to not use the _MPLANE versions
<memeka> javier__: THANK F*
<memeka> I WAS GOING CRAZY
<memeka> why my code was not working
<memeka> after 3 days of debugging I noticed:
<memeka> gsc v4l2 driver on capture has 1 plane only!!!
<memeka> javier__: can you please take a look at this: https://pastebin.com/WQciRhar
<memeka> i am having this issue where GScaler outputs only 1 plane instead of 3
<memeka> capture is set to YU12
<memeka> [ 94.483158] video21: VIDIOC_S_FMT: type=vid-out-mplane, width=1920, height=1088, format=NM21, field=none, colorspace=0, num_planes=2, flags=0x0, ycbcr_enc=0, quantization=0, xfer_func=0
<memeka> [ 94.483200] video21: VIDIOC_S_FMT: type=vid-cap-mplane, width=1920, height=1088, format=YU12, field=none, colorspace=0, num_planes=1, flags=0x0, ycbcr_enc=0, quantization=0, xfer_func=0
* javier__ looks
<memeka> javier__: does it matter that input is USERPTR?
<memeka> i mean output is USERPTR?
<javier__> memeka: I don't think it should
<javier__> I always get confused that M2M input and output are backwards
<memeka> javier__: yes me too :)
<memeka> javier__: so I am trying to do MFC -> GScaler with USERPTR
<memeka> MFC output is MMAP
<memeka> MFC capture is MMAP
<memeka> GScaler output is USERPTR
<memeka> GScaler capture is MMAP
<memeka> after I get the 2-plane buffer from MFC, I update the userptr to point to their mmap addresses:
Vasco_O has quit [Ping timeout: 260 seconds]
<memeka> for (ret = 0; ret < avbuf->num_planes; ret++)
<memeka> outbuf->planes[ret].m.userptr = (unsigned long)avbuf->plane_info[ret].mm_addr;
Vasco_O has joined #linux-exynos
<javier__> memeka: did you try with gst? something like: gst-launch-1.0 filesrc location=test.mov ! qtdemux ! h264parse ! v4l2video1dec output-io-mode=mmap ! v4l2video6convert capture-io-mode=userptr ! kmssink
<memeka> javier__: GST works :|
<memeka> ah wait
<memeka> not with userptr
<javier__> memeka: hmm, do you have the same error there?
<memeka> javier__: checkng now
<javier__> memeka: I really haven't done anything for years with exynos v4l2 drivers so my memory is fuzzy :/
<javier__> memeka: but if I were you I would first attempt to have a gst pipeline working for your use case and once you are sure that the driver works, then code your v4l2 app
<memeka> javier__: it works for MMAP all the way
<javier__> since IME there were some code paths in the driver that weren't too well tested, so it may be a problem with the MFC or GSC drivers
<javier__> memeka: yes, I tested with mmap and dma-buf all the way and it worked
<javier__> mfc -> gsc -> exynos drm driver that is
<memeka> yes
<javier__> but that was 2 years ago :)
<memeka> mmap and dmabuf
<memeka> not userptr :)
<javier__> yeah, so I would start there
<javier__> memeka: if you have any issues with gst v4l2 elements, you can ping ndufresne (in #v4l) who's the maintainer
<javier__> have to leave now, good luck!
mszyprow has quit [Ping timeout: 268 seconds]
<memeka> javier__: VIDIOC_CREATE_BUFS: error -25
genii has joined #linux-exynos
<javier__> memeka: right, that ioctl isn't implemented by the driver
<memeka> javier__: that's the USERPTR in gstreamer :)
<javier__> I see
<javier__> anyway, leaving for real now
<javier__> bye!
<memeka> thx javier__
Vasco_O is now known as Vasco
genii has quit [Read error: Connection reset by peer]
genii has joined #linux-exynos
afaerber has quit [Quit: Leaving]
afaerber has joined #linux-exynos
_whitelogger has joined #linux-exynos
afaerber has quit [Quit: Leaving]
Vasco is now known as Vasco_O