On 2/8/19 4:20 PM, Tim Harvey wrote:
On Fri, Feb 8, 2019 at 11:28 AM Steve Longerbeam <slongerbeam@xxxxxxxxx> wrote:
if (inf == outf)
params = &ic_csc_identity;
else if (inf == IPUV3_COLORSPACE_YUV)
- params = &ic_csc_ycbcr2rgb_bt601;
+ params = &ic_csc_ycbcr2rgb;
Steve,
compile issue...
params = params_yuv2rgb;
else
- params = &ic_csc_rgb2ycbcr_bt601;
+ params = &ic_csc_rgb2ycbcr;
params = params_rgb2yuv;
Wow, did I not even compile test that? Must be my head cold :-/
Sending v4.
But, I'm still failing when using the mem2mem element (gst-launch-1.0
v4l2src device=/dev/video4 ! v4l2video8convert
output-io-mode=dmabuf-import ! fbdevsink) with 'Unsupported YCbCr
encoding' because of inf=IPU_COLORSPACE_YCBCR outf=IPU_COLORSPACE_RGB
and a seemingly unset encoding being passed in.
It looks like maybe something in the mem2mem driver isn't defaulting
encoding. The call path is (v4l2_m2m_streamon -> device_run ->
ipu_image_convert_queue -> convert_start -> ipu_ic_task_init_rsc ->
init_csc).
Looking at v7 of the mem2mem driver, it will set ycbcr_enc at the output
side to V4L2_YCBCR_ENC_DEFAULT if colorspace is default. So colorspace
will need to be set to something non-default in addition to setting
ycbcr_enc, at the output side. I don't know whether gstreamer
v4l2videoNconvertelement will do this, but you could hack the driver for
now to get around it, and let Philipp know this may need a workaround in
mem2mem for v8.
Steve