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

Reply via email to