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