Hello community,

here is the log from the commit of package intel-vaapi-driver for 
openSUSE:Factory checked in at 2019-03-26 15:42:33
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/intel-vaapi-driver (Old)
 and      /work/SRC/openSUSE:Factory/.intel-vaapi-driver.new.25356 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "intel-vaapi-driver"

Tue Mar 26 15:42:33 2019 rev:9 rq:685565 version:2.3.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/intel-vaapi-driver/intel-vaapi-driver.changes    
2019-02-24 17:16:03.176443577 +0100
+++ 
/work/SRC/openSUSE:Factory/.intel-vaapi-driver.new.25356/intel-vaapi-driver.changes
 2019-03-26 15:43:26.884208730 +0100
@@ -1,0 +2,17 @@
+Fri Mar 15 22:42:11 UTC 2019 - Bjørn Lie <[email protected]>
+
+- Add upstream bug fix patches:
+  * U_vaapi_HEVC-encoder-correct-minimal-bitrate.patch
+  * U_vaapi_Remove-dep-on-EncRoi-attr.patch
+  * U_vaapi_Fix-off-by-one-in-ROI-regions.patch
+
+-------------------------------------------------------------------
+Thu Mar  7 22:32:09 UTC 2019 - Bjørn Lie <[email protected]>
+
+- Add upstream bug fix patches:
+  * U_vaapi_Check-interface-from-libva.patch
+    (gh#intel/intel-vaapi-driver#419).
+  * U_vaapi_Revert-VPP-clear-surface.patch
+  * U_vaapi_Return-false-instead-assertion-fail.patch
+
+-------------------------------------------------------------------

New:
----
  U_vaapi_Check-interface-from-libva.patch
  U_vaapi_Fix-off-by-one-in-ROI-regions.patch
  U_vaapi_HEVC-encoder-correct-minimal-bitrate.patch
  U_vaapi_Remove-dep-on-EncRoi-attr.patch
  U_vaapi_Return-false-instead-assertion-fail.patch
  U_vaapi_Revert-VPP-clear-surface.patch

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

Other differences:
------------------
++++++ intel-vaapi-driver.spec ++++++
--- /var/tmp/diff_new_pack.z7v9D2/_old  2019-03-26 15:43:27.608208316 +0100
+++ /var/tmp/diff_new_pack.z7v9D2/_new  2019-03-26 15:43:27.612208313 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package intel-vaapi-driver
 #
-# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -22,19 +22,23 @@
 Summary:        Intel Driver for Video Acceleration (VA) API for Linux
 License:        MIT AND EPL-1.0
 Group:          System/Libraries
-Url:            https://github.com/intel/%{name}
-Source0:        
https://github.com/intel/%{name}/archive/%{version}.tar.gz#/%{name}-%{version}.tar.bz2
-Source1:        
https://github.com/intel/%{name}/archive/%{version}.tar.gz#/%{name}-%{version}.tar.bz2.sha1sum
+URL:            https://github.com/intel/%{name}/
+Source0:        %{url}/archive/%{version}.tar.gz#/%{name}-%{version}.tar.bz2
+Source1:        
%{url}/archive/%{version}.tar.gz#/%{name}-%{version}.tar.bz2.sha1sum
 Source2:        baselibs.conf
-# Intel graphics hardware only available on these platforms
-ExclusiveArch:  %ix86 x86_64
+Patch0:         U_vaapi_Check-interface-from-libva.patch
+Patch1:         U_vaapi_Revert-VPP-clear-surface.patch
+Patch2:         U_vaapi_Return-false-instead-assertion-fail.patch
+Patch3:         U_vaapi_HEVC-encoder-correct-minimal-bitrate.patch
+Patch4:         U_vaapi_Remove-dep-on-EncRoi-attr.patch
+Patch5:         U_vaapi_Fix-off-by-one-in-ROI-regions.patch
 
 BuildRequires:  meson
 BuildRequires:  pkgconfig
 BuildRequires:  pkgconfig(egl)
 BuildRequires:  pkgconfig(libdrm) >= 2.4.45
 BuildRequires:  pkgconfig(libdrm_intel)
-BuildRequires:  pkgconfig(libva) >= 1.1.0
+BuildRequires:  pkgconfig(libva) >= 1.4.0
 BuildRequires:  pkgconfig(libva-drm)
 BuildRequires:  pkgconfig(libva-wayland)
 BuildRequires:  pkgconfig(libva-x11) >= 0.39.4
@@ -43,6 +47,8 @@
 BuildRequires:  pkgconfig(xext)
 BuildRequires:  pkgconfig(xfixes)
 
+# Intel graphics hardware only available on these platforms
+ExclusiveArch:  %ix86 x86_64
 # due to pkg rename vaapi-intel-driver > intel-vaapi-driver
 Provides:       vaapi-intel-driver = %{version}
 Obsoletes:      vaapi-intel-driver < %{version}

++++++ U_vaapi_Check-interface-from-libva.patch ++++++
>From f139dafa59172d40543f2ec469a035d3de9fdc6a Mon Sep 17 00:00:00 2001
From: Haihao Xiang <[email protected]>
Date: Fri, 7 Dec 2018 13:31:43 +0800
Subject: [PATCH] Check the interface from libva first

And bump libva dependency to 1.4.0

This fixes https://github.com/intel/intel-vaapi-driver/issues/419

Signed-off-by: Haihao Xiang <[email protected]>
---
 configure.ac              |  2 +-
 src/i965_output_wayland.c | 27 ++++++++++++++++-----------
 2 files changed, 17 insertions(+), 12 deletions(-)

diff --git a/configure.ac b/configure.ac
index 6cde1a3a..a0b462fb 100644
--- a/configure.ac
+++ b/configure.ac
@@ -10,7 +10,7 @@ m4_append([intel_vaapi_driver_version], 
intel_vaapi_driver_pre_version, [.pre])
 ])
 
 # libva minimum version requirement
-m4_define([va_api_version], [1.1.0])
+m4_define([va_api_version], [1.4.0])
 
 # libdrm minimum version requirement
 m4_define([libdrm_version], [2.4.52])
diff --git a/src/i965_output_wayland.c b/src/i965_output_wayland.c
index 122db953..a637552e 100644
--- a/src/i965_output_wayland.c
+++ b/src/i965_output_wayland.c
@@ -397,6 +397,7 @@ i965_output_wayland_init(VADriverContextP ctx)
     struct i965_driver_data * const i965 = i965_driver_data(ctx);
     struct dso_handle *dso_handle;
     struct wl_vtable *wl_vtable;
+    struct VADriverVTableWayland * const vtable = ctx->vtable_wayland;
 
     static const struct dso_symbol libegl_symbols[] = {
         {
@@ -465,25 +466,29 @@ i965_output_wayland_init(VADriverContextP ctx)
     if (!i965->wl_output)
         goto error;
 
-    i965->wl_output->libegl_handle = dso_open(LIBEGL_NAME);
-    if (!i965->wl_output->libegl_handle) {
-        i965->wl_output->libegl_handle = dso_open(LIBEGL_NAME_FALLBACK);
-        if (!i965->wl_output->libegl_handle)
+    wl_vtable = &i965->wl_output->vtable;
+
+    if (vtable->wl_interface)
+        wl_vtable->drm_interface = vtable->wl_interface;
+    else {
+        i965->wl_output->libegl_handle = dso_open(LIBEGL_NAME);
+        if (!i965->wl_output->libegl_handle) {
+            i965->wl_output->libegl_handle = dso_open(LIBEGL_NAME_FALLBACK);
+            if (!i965->wl_output->libegl_handle)
+                goto error;
+        }
+
+        dso_handle = i965->wl_output->libegl_handle;
+        if (!dso_get_symbols(dso_handle, wl_vtable, sizeof(*wl_vtable),
+                             libegl_symbols))
             goto error;
     }
 
-    dso_handle = i965->wl_output->libegl_handle;
-    wl_vtable  = &i965->wl_output->vtable;
-    if (!dso_get_symbols(dso_handle, wl_vtable, sizeof(*wl_vtable),
-                         libegl_symbols))
-        goto error;
-
     i965->wl_output->libwl_client_handle = dso_open(LIBWAYLAND_CLIENT_NAME);
     if (!i965->wl_output->libwl_client_handle)
         goto error;
 
     dso_handle = i965->wl_output->libwl_client_handle;
-    wl_vtable  = &i965->wl_output->vtable;
     if (!dso_get_symbols(dso_handle, wl_vtable, sizeof(*wl_vtable),
                          libwl_client_symbols))
         goto error;

++++++ U_vaapi_Fix-off-by-one-in-ROI-regions.patch ++++++
>From 881e67a49b14631cb24a3880a28af9e5e5bacb96 Mon Sep 17 00:00:00 2001
From: Mark Thompson <[email protected]>
Date: Mon, 4 Mar 2019 23:52:28 +0000
Subject: [PATCH] Fix off-by-one in use of ROI regions in CQP mode

Signed-off-by: Mark Thompson <[email protected]>
---
 src/gen6_mfc_common.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/gen6_mfc_common.c b/src/gen6_mfc_common.c
index d192eeeb..34c4a368 100644
--- a/src/gen6_mfc_common.c
+++ b/src/gen6_mfc_common.c
@@ -2126,7 +2126,7 @@ intel_h264_enc_roi_config(VADriverContextP ctx,
         memset(vme_context->qp_per_mb, qp, width_in_mbs * height_in_mbs);
 
 
-        for (j = num_roi; j ; j--) {
+        for (j = num_roi - 1; j >= 0; j--) {
             int qp_delta, qp_clip;
 
             col_start = encoder_context->brc.roi[j].left;

++++++ U_vaapi_HEVC-encoder-correct-minimal-bitrate.patch ++++++
>From 449c6f91b38417d0baa0e463338760cb118ce9a5 Mon Sep 17 00:00:00 2001
From: Haihao Xiang <[email protected]>
Date: Thu, 20 Dec 2018 09:06:51 +0800
Subject: [PATCH] HEVC encoder: correct the minimal bitrate for VBR

This fixes https://github.com/intel/intel-vaapi-driver/issues/430

Signed-off-by: Haihao Xiang <[email protected]>
Tested-by: U. Artie Eoff <[email protected]>
---
 src/gen9_hevc_encoder.c | 29 ++++++++++++++---------------
 1 file changed, 14 insertions(+), 15 deletions(-)

diff --git a/src/gen9_hevc_encoder.c b/src/gen9_hevc_encoder.c
index d5b2d3b0..c8d04273 100644
--- a/src/gen9_hevc_encoder.c
+++ b/src/gen9_hevc_encoder.c
@@ -1760,26 +1760,25 @@ gen9_hevc_brc_prepare(struct encode_state *encode_state,
             else
                 priv_state->lcu_brc_enabled = 0;
 
+            priv_state->max_bit_rate_in_kbs =
+                ALIGN(encoder_context->brc.bits_per_second[0], HEVC_BRC_KBPS) /
+                HEVC_BRC_KBPS;
+
             if (brc_method == HEVC_BRC_CBR) {
-                priv_state->target_bit_rate_in_kbs =
-                    ALIGN(encoder_context->brc.bits_per_second[0], 
HEVC_BRC_KBPS) /
-                    HEVC_BRC_KBPS;
-                priv_state->max_bit_rate_in_kbs = 
priv_state->target_bit_rate_in_kbs;
-                priv_state->min_bit_rate_in_kbs = 
priv_state->target_bit_rate_in_kbs;
+                priv_state->target_bit_rate_in_kbs = 
priv_state->max_bit_rate_in_kbs;
+                priv_state->min_bit_rate_in_kbs = 
priv_state->max_bit_rate_in_kbs;
             } else {
-                if (encoder_context->brc.target_percentage[0] > 
HEVC_BRC_MIN_TARGET_PERCENTAGE) {
-                    priv_state->target_bit_rate_in_kbs =
-                        ALIGN(encoder_context->brc.bits_per_second[0], 
HEVC_BRC_KBPS) /
-                        HEVC_BRC_KBPS;
-                    priv_state->max_bit_rate_in_kbs = 
priv_state->target_bit_rate_in_kbs;
-                    priv_state->min_bit_rate_in_kbs = 
priv_state->target_bit_rate_in_kbs *
+                if (encoder_context->brc.target_percentage[0] > 
HEVC_BRC_MIN_TARGET_PERCENTAGE)
+                    priv_state->min_bit_rate_in_kbs = 
priv_state->max_bit_rate_in_kbs *
                                                       (2 * 
encoder_context->brc.target_percentage[0] - 100) /
                                                       100;
-                    priv_state->target_bit_rate_in_kbs = 
priv_state->max_bit_rate_in_kbs *
-                                                         
encoder_context->brc.target_percentage[0] / 100;
+                else
+                    priv_state->min_bit_rate_in_kbs = 0;
 
-                    brc_reset = 1;
-                }
+                priv_state->target_bit_rate_in_kbs = 
priv_state->max_bit_rate_in_kbs *
+                                                     
encoder_context->brc.target_percentage[0] / 100;
+
+                brc_reset = 1;
             }
 
             if (encoder_context->brc.framerate[0].den)

++++++ U_vaapi_Remove-dep-on-EncRoi-attr.patch ++++++
>From 91bc8071823d019f258dc675c95660761c10f93e Mon Sep 17 00:00:00 2001
From: Mark Thompson <[email protected]>
Date: Mon, 4 Mar 2019 23:49:44 +0000
Subject: [PATCH] Remove dependency on EncROI attribute to enable encoding with
 ROI

The VAConfigAttribEncROI attribute is read-only, so a user should not need
to write it to enable encoding with ROI.

Signed-off-by: Mark Thompson <[email protected]>
---
 src/gen6_mfc_common.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/gen6_mfc_common.c b/src/gen6_mfc_common.c
index 19f97937..d192eeeb 100644
--- a/src/gen6_mfc_common.c
+++ b/src/gen6_mfc_common.c
@@ -2085,7 +2085,7 @@ intel_h264_enc_roi_config(VADriverContextP ctx,
 
     vme_context->roi_enabled = 0;
     /* Restriction: Disable ROI when multi-slice is enabled */
-    if (!encoder_context->context_roi || (encode_state->num_slice_params_ext > 
1))
+    if (encode_state->num_slice_params_ext > 1)
         return;
 
     vme_context->roi_enabled = !!encoder_context->brc.num_roi;

++++++ U_vaapi_Return-false-instead-assertion-fail.patch ++++++
>From 329975c63123610fc750241654a3bd18add75beb Mon Sep 17 00:00:00 2001
From: Haihao Xiang <[email protected]>
Date: Tue, 12 Feb 2019 12:37:39 +0800
Subject: [PATCH] Return false instead of assertion failure

If so, the upper-layer application or library may handle the error.

Signed-off-by: Haihao Xiang <[email protected]>
---
 src/intel_driver.c | 4 +++-
 src/intel_memman.c | 8 ++++++--
 2 files changed, 9 insertions(+), 3 deletions(-)

diff --git a/src/intel_driver.c b/src/intel_driver.c
index 8e8c9af3..37e2fc68 100644
--- a/src/intel_driver.c
+++ b/src/intel_driver.c
@@ -123,7 +123,9 @@ intel_driver_init(VADriverContextP ctx)
     intel->locked = 0;
     pthread_mutex_init(&intel->ctxmutex, NULL);
 
-    intel_memman_init(intel);
+    if (!intel_memman_init(intel))
+        return false;
+
     intel->device_id = drm_intel_bufmgr_gem_get_devid(intel->bufmgr);
     intel->device_info = i965_get_device_info(intel->device_id);
 
diff --git a/src/intel_memman.c b/src/intel_memman.c
index ca86991b..c5c805c8 100644
--- a/src/intel_memman.c
+++ b/src/intel_memman.c
@@ -35,7 +35,10 @@ Bool
 intel_memman_init(struct intel_driver_data *intel)
 {
     intel->bufmgr = intel_bufmgr_gem_init(intel->fd, BATCH_SIZE);
-    assert(intel->bufmgr);
+
+    if (!intel->bufmgr)
+        return False;
+
     intel_bufmgr_gem_enable_reuse(intel->bufmgr);
 
     if (g_intel_debug_option_flags & VA_INTEL_DEBUG_OPTION_DUMP_AUB) {
@@ -50,6 +53,7 @@ intel_memman_init(struct intel_driver_data *intel)
 Bool
 intel_memman_terminate(struct intel_driver_data *intel)
 {
-    drm_intel_bufmgr_destroy(intel->bufmgr);
+    if (intel->bufmgr)
+        drm_intel_bufmgr_destroy(intel->bufmgr);
     return True;
 }

++++++ U_vaapi_Revert-VPP-clear-surface.patch ++++++
++++ 2559 lines (skipped)



Reply via email to