Hello community,

here is the log from the commit of package gstreamer-plugins-vaapi for 
openSUSE:Factory checked in at 2017-02-21 13:49:44
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/gstreamer-plugins-vaapi (Old)
 and      /work/SRC/openSUSE:Factory/.gstreamer-plugins-vaapi.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "gstreamer-plugins-vaapi"

Changes:
--------
--- 
/work/SRC/openSUSE:Factory/gstreamer-plugins-vaapi/gstreamer-plugins-vaapi.changes
  2017-02-03 17:42:00.444130359 +0100
+++ 
/work/SRC/openSUSE:Factory/.gstreamer-plugins-vaapi.new/gstreamer-plugins-vaapi.changes
     2017-02-21 13:49:48.600916678 +0100
@@ -1,0 +2,7 @@
+Thu Feb  9 20:08:39 UTC 2017 - [email protected]
+
+- Add gstreamer-plugins-vaapi-vaapipostproc-set-GST_VAAPI.patch and
+  gstreamer-plugins-vaapi-h264-reduce-frame-gaps.patch:: Add two
+  upstream bugfix commits (bgo#777506).
+
+-------------------------------------------------------------------

New:
----
  gstreamer-plugins-vaapi-h264-reduce-frame-gaps.patch
  gstreamer-plugins-vaapi-vaapipostproc-set-GST_VAAPI.patch

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ gstreamer-plugins-vaapi.spec ++++++
--- /var/tmp/diff_new_pack.QiJ4Du/_old  2017-02-21 13:49:49.012858702 +0100
+++ /var/tmp/diff_new_pack.QiJ4Du/_new  2017-02-21 13:49:49.016858139 +0100
@@ -26,6 +26,10 @@
 Group:          Productivity/Multimedia/Other
 Url:            https://gstreamer.freedesktop.org/
 Source0:        
https://gstreamer.freedesktop.org/src/gstreamer-vaapi/gstreamer-vaapi-%{version}.tar.xz
+# PATCH-FIX-UPSTREAM gstreamer-plugins-vaapi-vaapipostproc-set-GST_VAAPI.patch 
[email protected] -- vaapipostproc: set GST_VAAPI_POSTPROC_FLAG_SIZE 
according to src caps
+Patch0:         gstreamer-plugins-vaapi-vaapipostproc-set-GST_VAAPI.patch
+# PATCH-FIX-UPSTREAM gstreamer-plugins-vaapi-h264-reduce-frame-gaps.patch 
bgo#777506 [email protected] -- libs: decoder: h264: reduce frame number of 
gaps
+Patch1:         gstreamer-plugins-vaapi-h264-reduce-frame-gaps.patch
 BuildRequires:  Mesa-devel
 BuildRequires:  Mesa-libGLESv3-devel
 BuildRequires:  gtk-doc
@@ -87,6 +91,8 @@
 
 %prep
 %setup -q -n gstreamer-vaapi-%{version}
+%patch0 -p1
+%patch1 -p1
 
 %build
 %configure \

++++++ gstreamer-plugins-vaapi-h264-reduce-frame-gaps.patch ++++++
>From de29f03361cd1c55195322be571582c3d4d0392b Mon Sep 17 00:00:00 2001
From: Hyunjun Ko <[email protected]>
Date: Tue, 7 Feb 2017 16:17:39 +0900
Subject: libs: decoder: h264: reduce frame number of gaps
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Reduce frame num gaps so that we don't have to create unnecessary
dummy pictures, just throw them away.

Signed-off-by: Víctor Manuel Jáquez Leal <[email protected]>

https://bugzilla.gnome.org/show_bug.cgi?id=777506

diff --git a/gst-libs/gst/vaapi/gstvaapidecoder_h264.c 
b/gst-libs/gst/vaapi/gstvaapidecoder_h264.c
index 1d33a1f..c349b3f 100644
--- a/gst-libs/gst/vaapi/gstvaapidecoder_h264.c
+++ b/gst-libs/gst/vaapi/gstvaapidecoder_h264.c
@@ -3116,6 +3116,7 @@ fill_picture_gaps (GstVaapiDecoderH264 * decoder, 
GstVaapiPictureH264 * picture,
   GstVaapiDecoderH264Private *const priv = &decoder->priv;
   GstH264SPS *const sps = get_sps (decoder);
   const gint32 MaxFrameNum = 1 << (sps->log2_max_frame_num_minus4 + 4);
+  gint32 prev_frame_num;
   GstVaapiFrameStore *prev_frame;
   GstVaapiPicture *base_picture;
   GstVaapiPictureH264 *lost_picture, *prev_picture;
@@ -3143,8 +3144,20 @@ fill_picture_gaps (GstVaapiDecoderH264 * decoder, 
GstVaapiPictureH264 * picture,
   lost_slice_hdr.dec_ref_pic_marking.adaptive_ref_pic_marking_mode_flag = 0;
 
   /* XXX: this process is incorrect for MVC */
-  /* XXX: optimize to reduce the number of dummy pictures created */
-  priv->frame_num = priv->prev_ref_frame_num;
+  /* Reduce frame num gaps so we don't have to create unnecessary
+   * dummy pictures */
+  prev_frame_num = priv->prev_ref_frame_num;
+  if (prev_frame_num > slice_hdr->frame_num)
+    prev_frame_num -= MaxFrameNum;
+
+  if ((slice_hdr->frame_num - prev_frame_num) - 1 > sps->num_ref_frames) {
+    prev_frame_num = (slice_hdr->frame_num - sps->num_ref_frames) - 1;
+
+    if (prev_frame_num < 0)
+      prev_frame_num += MaxFrameNum;
+  }
+  priv->frame_num = prev_frame_num;
+
   for (;;) {
     priv->prev_ref_frame_num = priv->frame_num;
     priv->frame_num = (priv->prev_ref_frame_num + 1) % MaxFrameNum;
-- 
cgit v0.10.2


++++++ gstreamer-plugins-vaapi-vaapipostproc-set-GST_VAAPI.patch ++++++
>From 7f69f679b12a042d09fe22845cca5a26ae800856 Mon Sep 17 00:00:00 2001
From: Hyunjun Ko <[email protected]>
Date: Wed, 1 Feb 2017 14:32:45 +0900
Subject: vaapipostproc: set GST_VAAPI_POSTPROC_FLAG_SIZE according to src caps

A value of width/height property should be set to out caps,
if negotiation had been going properly.
So we can use srcpad_info when making decision of scaling.

https://bugzilla.gnome.org/show_bug.cgi?id=778010

diff --git a/gst/vaapi/gstvaapipostproc.c b/gst/vaapi/gstvaapipostproc.c
index fb469ac..1bae9e9 100644
--- a/gst/vaapi/gstvaapipostproc.c
+++ b/gst/vaapi/gstvaapipostproc.c
@@ -981,10 +981,12 @@ gst_vaapipostproc_update_src_caps (GstVaapiPostproc * 
postproc, GstCaps * caps,
       postproc->format != DEFAULT_FORMAT)
     postproc->flags |= GST_VAAPI_POSTPROC_FLAG_FORMAT;
 
-  if ((postproc->width || postproc->height) &&
-      postproc->width != GST_VIDEO_INFO_WIDTH (&postproc->sinkpad_info) &&
-      postproc->height != GST_VIDEO_INFO_HEIGHT (&postproc->sinkpad_info))
+  if (GST_VIDEO_INFO_WIDTH (&postproc->srcpad_info) !=
+      GST_VIDEO_INFO_WIDTH (&postproc->sinkpad_info)
+      && GST_VIDEO_INFO_HEIGHT (&postproc->srcpad_info) !=
+      GST_VIDEO_INFO_HEIGHT (&postproc->sinkpad_info))
     postproc->flags |= GST_VAAPI_POSTPROC_FLAG_SIZE;
+
   return TRUE;
 }
 
-- 
cgit v0.10.2


Reply via email to