An error occurred while fetching folder content.
MLK-20753: mxc-jpeg: Switch from single to multi-planar v4l2 buffers
Mirela Rabulea
authored
Adjust the driver to use the "mplane" flavor of v4l2 structures: "mplane" flavor ioctls for format negotiation in mxc_jpeg_ioctl_ops, V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE instead of V4L2_BUF_TYPE_VIDEO_CAPTURE, V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE instead of V4L2_BUF_TYPE_VIDEO_OUTPUT, V4L2_CAP_VIDEO_M2M_MPLANE instead of V4L2_CAP_VIDEO_M2M, pix_mp member of struct v4l2_format, instead of pix (previously, the pix_mp was sometimes used wrongly for single-plane). Adjust the sizeimage & bytesperline members of mxc_jpeg_q_data as MXC_JPEG_MAX_PLANES elements arrays, to accommodate maximum 2 planes. In case of YUV420, which is the only multi-planar format supported, use the first plane address as buf_base0 and the second plane address as buf_base1, to configure the CAST IP. Previously, the buf_base1 was calculated as an offset to buf_base0, in mxc_jpeg_addrs. After decoding, set the payload for both planes via vb2_set_plane_payload. Multi-planar support current status: -gst-launch with filesink & fbdevsink always pass -gst-launch with waylandsink & kmssink sometimes fail for resolutions where height is multiple of 256 (1024 x 256, 1024 x 512). Signed-off-by:Mirela Rabulea <mirela.rabulea@nxp.com> Reviewed-by:
Robert Chiras <robert.chiras@nxp.com>
Name | Last commit | Last update |
---|