On Thu, Mar 16, 2017 at 01:29:36PM -0400, Eric Ruei wrote: > Signed-off-by: Eric Ruei <[email protected]> > --- > .../0002-kmssink-add-YUYV-support.patch | 81 > ++++++++++++++++++++++ > .../gstreamer1.0-plugins-bad_1.6.3.bbappend | 2 + > 2 files changed, 83 insertions(+) > create mode 100644 > meta-arago-extras/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0002-kmssink-add-YUYV-support.patch > > diff --git > a/meta-arago-extras/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0002-kmssink-add-YUYV-support.patch > > b/meta-arago-extras/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0002-kmssink-add-YUYV-support.patch > new file mode 100644 > index 0000000..a5791cc > --- /dev/null > +++ > b/meta-arago-extras/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0002-kmssink-add-YUYV-support.patch > @@ -0,0 +1,81 @@ > +From af348c890c04ce9626d411055aae0974f410219f Mon Sep 17 00:00:00 2001 > +From: Eric Ruei <[email protected]> > +Date: Tue, 14 Mar 2017 17:24:07 -0400 > +Subject: [PATCH 2/2] kmssink: add YUYV support > + > +Signed-off-by: Eric Ruei <[email protected]> > +--- > + sys/kms/gstkmsbufferpriv.c | 32 +++++++++++++++++++++++++++----- > + sys/kms/gstkmssink.c | 2 +- > + 2 files changed, 28 insertions(+), 6 deletions(-) > + > +diff --git a/sys/kms/gstkmsbufferpriv.c b/sys/kms/gstkmsbufferpriv.c > +index 172a4c3..57c01f8 100644 > +--- a/sys/kms/gstkmsbufferpriv.c > ++++ b/sys/kms/gstkmsbufferpriv.c > +@@ -41,22 +41,44 @@ > + static int > + create_fb (GstKMSBufferPriv * priv, GstKMSSink * sink) > + { > ++ > + /* TODO get format, etc from caps.. and query device for > + * supported formats, and make this all more flexible to > + * cope with various formats: > + */ > +- uint32_t fourcc = GST_MAKE_FOURCC ('N', 'V', '1', '2'); > +- > ++ GstVideoFormat format = sink->format; > ++ uint32_t fourcc; > + uint32_t handles[4] = { > +- omap_bo_handle (priv->bo), omap_bo_handle (priv->bo), > ++ omap_bo_handle (priv->bo), > + }; > + uint32_t pitches[4] = { > +- GST_ROUND_UP_4 (sink->input_width), GST_ROUND_UP_4 (sink->input_width), > ++ GST_ROUND_UP_4 (sink->input_width), > + }; > + uint32_t offsets[4] = { > +- 0, pitches[0] * sink->input_height > ++ 0, > + }; > + > ++ /** > ++ * Only two formats are supported: > ++ * AM3/4: YUYV > ++ * AM5: NV12, YUYV > ++ */ > ++ if(format == GST_VIDEO_FORMAT_YUY2) > ++ { > ++ /* YUYV */ > ++ fourcc = GST_MAKE_FOURCC ('Y', 'U', 'Y', 'V'); > ++ pitches[0] = GST_ROUND_UP_4 (sink->input_width*2); > ++ } > ++ else > ++ { > ++ /* NV12 */ > ++ fourcc = GST_MAKE_FOURCC ('N', 'V', '1', '2'); > ++ handles[1] = omap_bo_handle (priv->bo); > ++ pitches[1] = GST_ROUND_UP_4 (sink->input_width); > ++ offsets[1] = pitches[0] * sink->input_height; > ++ } > ++ > ++ > + return drmModeAddFB2 (priv->fd, sink->input_width, sink->input_height, > + fourcc, handles, pitches, offsets, &priv->fb_id, 0); > + } > +diff --git a/sys/kms/gstkmssink.c b/sys/kms/gstkmssink.c > +index 9795bdf..b36d88f 100644 > +--- a/sys/kms/gstkmssink.c > ++++ b/sys/kms/gstkmssink.c > +@@ -50,7 +50,7 @@ static GstStaticPadTemplate gst_kms_sink_template_factory = > + GST_STATIC_PAD_TEMPLATE ("sink", > + GST_PAD_SINK, > + GST_PAD_ALWAYS, > +- GST_STATIC_CAPS (GST_VIDEO_CAPS_MAKE("NV12")) > ++ GST_STATIC_CAPS (GST_VIDEO_CAPS_MAKE("{NV12,YUY2}"))
YUY2 or YUYV? > + ); > + > + enum > +-- > +1.9.1 > + > diff --git > a/meta-arago-extras/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.6.3.bbappend > > b/meta-arago-extras/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.6.3.bbappend > index 2c903d4..317b19e 100644 > --- > a/meta-arago-extras/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.6.3.bbappend > +++ > b/meta-arago-extras/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.6.3.bbappend > @@ -21,10 +21,12 @@ DEPENDS_append_ti33x = " \ > > SRC_URI_append_omap-a15 = " \ > file://0001-kmssink-remove-DCE-dependencies.patch \ > + file://0002-kmssink-add-YUYV-support.patch \ > " > > SRC_URI_append_ti43x = " \ > file://0001-kmssink-remove-DCE-dependencies.patch \ > + file://0002-kmssink-add-YUYV-support.patch \ > " > > SRC_URI_append_ti33x = " \ > -- > 1.9.1 > > _______________________________________________ > meta-arago mailing list > [email protected] > http://arago-project.org/cgi-bin/mailman/listinfo/meta-arago _______________________________________________ meta-arago mailing list [email protected] http://arago-project.org/cgi-bin/mailman/listinfo/meta-arago
