The v4l2 decoder can return YUV422M decoded output. This support was missing in the v4l2plugin, however. This patch adds the missing support.
Signed-off-by: Angela Stegmaier <[email protected]> --- ...Update-formats-table-to-include-YUV422-mu.patch | 61 ++++++++++++++++++++++ .../gstreamer1.0-plugins-good_1.14.4.bbappend | 3 +- 2 files changed, 63 insertions(+), 1 deletion(-) create mode 100644 meta-arago-extras/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good/0001-v4l2object-Update-formats-table-to-include-YUV422-mu.patch diff --git a/meta-arago-extras/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good/0001-v4l2object-Update-formats-table-to-include-YUV422-mu.patch b/meta-arago-extras/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good/0001-v4l2object-Update-formats-table-to-include-YUV422-mu.patch new file mode 100644 index 0000000..c7f7a6f --- /dev/null +++ b/meta-arago-extras/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good/0001-v4l2object-Update-formats-table-to-include-YUV422-mu.patch @@ -0,0 +1,61 @@ +From 57370dbe73c970077ad028fa1008cb6303445c21 Mon Sep 17 00:00:00 2001 +From: Angela Stegmaier <[email protected]> +Date: Tue, 20 Aug 2019 15:59:02 -0500 +Subject: [PATCH] v4l2object: Update formats table to include YUV422 + multiplanar + +YUV422 multiplanar is missing from the table. Add the support +for this format. + +Signed-off-by: Angela Stegmaier <[email protected]> +--- + sys/v4l2/gstv4l2object.c | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/sys/v4l2/gstv4l2object.c b/sys/v4l2/gstv4l2object.c +index c32608c..87d262f 100644 +--- a/sys/v4l2/gstv4l2object.c ++++ b/sys/v4l2/gstv4l2object.c +@@ -129,6 +129,7 @@ static const GstV4L2FormatDesc gst_v4l2_formats[] = { + {V4L2_PIX_FMT_UYVY, TRUE, GST_V4L2_RAW}, + {V4L2_PIX_FMT_VYUY, TRUE, GST_V4L2_RAW}, + {V4L2_PIX_FMT_YUV422P, TRUE, GST_V4L2_RAW}, ++ {V4L2_PIX_FMT_YUV422M, TRUE, GST_V4L2_RAW}, + {V4L2_PIX_FMT_YUV411P, TRUE, GST_V4L2_RAW}, + {V4L2_PIX_FMT_Y41P, TRUE, GST_V4L2_RAW}, + {V4L2_PIX_FMT_YUV444, TRUE, GST_V4L2_RAW}, +@@ -1088,6 +1089,7 @@ gst_v4l2_object_format_get_rank (const struct v4l2_fmtdesc *fmt) + rank = YUV_BASE_RANK + 4; + break; + case V4L2_PIX_FMT_YUV422P: /* Y42B, 16 bits per pixel */ ++ case V4L2_PIX_FMT_YUV422M: + rank = YUV_BASE_RANK + 8; + break; + +@@ -1343,6 +1345,7 @@ gst_v4l2_object_v4l2fourcc_to_video_format (guint32 fourcc) + format = GST_VIDEO_FORMAT_Y41B; + break; + case V4L2_PIX_FMT_YUV422P: ++ case V4L2_PIX_FMT_YUV422M: + format = GST_VIDEO_FORMAT_Y42B; + break; + case V4L2_PIX_FMT_YVYU: +@@ -1484,6 +1487,7 @@ gst_v4l2_object_v4l2fourcc_to_bare_struct (guint32 fourcc) + case V4L2_PIX_FMT_YVU420: + case V4L2_PIX_FMT_UYVY: + case V4L2_PIX_FMT_YUV422P: ++ case V4L2_PIX_FMT_YUV422M: + case V4L2_PIX_FMT_YVYU: + case V4L2_PIX_FMT_YUV411P:{ + GstVideoFormat format; +@@ -1714,6 +1718,7 @@ gst_v4l2_object_get_caps_info (GstV4l2Object * v4l2object, GstCaps * caps, + break; + case GST_VIDEO_FORMAT_Y42B: + fourcc = V4L2_PIX_FMT_YUV422P; ++ fourcc_nc = V4L2_PIX_FMT_YUV422M; + break; + case GST_VIDEO_FORMAT_NV12: + fourcc = V4L2_PIX_FMT_NV12; +-- +1.9.1 + diff --git a/meta-arago-extras/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.14.4.bbappend b/meta-arago-extras/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.14.4.bbappend index e262424..98b0123 100644 --- a/meta-arago-extras/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.14.4.bbappend +++ b/meta-arago-extras/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.14.4.bbappend @@ -1,4 +1,4 @@ -PR_append = ".arago1" +PR_append = ".arago2" FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" @@ -7,4 +7,5 @@ SRC_URI += " \ file://0002-v4l2src-Use-generic-dmabuf-import-in-v4l2src.patch \ file://0001-v4l2-Sync-kernel-header-with-linuxtv-tree.patch \ file://0002-v4l2videodec-Add-HEVC-decoder-support.patch \ + file://0001-v4l2object-Update-formats-table-to-include-YUV422-mu.patch \ " -- 1.9.1 _______________________________________________ meta-arago mailing list [email protected] http://arago-project.org/cgi-bin/mailman/listinfo/meta-arago
