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)
