Sync from SUSE:SLFO:Main libvdpau revision f7b50492debb1f65d5f8d23a4d0a7671

This commit is contained in:
Adrian Schröter 2024-05-03 16:02:25 +02:00
commit da88c770b9
10 changed files with 579 additions and 0 deletions

23
.gitattributes vendored Normal file
View File

@ -0,0 +1,23 @@
## Default LFS
*.7z filter=lfs diff=lfs merge=lfs -text
*.bsp filter=lfs diff=lfs merge=lfs -text
*.bz2 filter=lfs diff=lfs merge=lfs -text
*.gem filter=lfs diff=lfs merge=lfs -text
*.gz filter=lfs diff=lfs merge=lfs -text
*.jar filter=lfs diff=lfs merge=lfs -text
*.lz filter=lfs diff=lfs merge=lfs -text
*.lzma filter=lfs diff=lfs merge=lfs -text
*.obscpio filter=lfs diff=lfs merge=lfs -text
*.oxt filter=lfs diff=lfs merge=lfs -text
*.pdf filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.rpm filter=lfs diff=lfs merge=lfs -text
*.tbz filter=lfs diff=lfs merge=lfs -text
*.tbz2 filter=lfs diff=lfs merge=lfs -text
*.tgz filter=lfs diff=lfs merge=lfs -text
*.ttf filter=lfs diff=lfs merge=lfs -text
*.txz filter=lfs diff=lfs merge=lfs -text
*.whl filter=lfs diff=lfs merge=lfs -text
*.xz filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.zst filter=lfs diff=lfs merge=lfs -text

24
README Normal file
View File

@ -0,0 +1,24 @@
DEBUGGING AND TRACING
The VDPAU wrapper library supports tracing VDPAU function calls, and their
parameters. This tracing is controlled by the following environment variables:
VDPAU_TRACE
Enables tracing. Set to 1 to trace function calls. Set to 2 to trace all
arguments passed to the function.
VDPAU_TRACE_FILE
Filename to write traces to. By default, traces are sent to stderr. This
variable may either contain a plain filename, or a reference to an
existing open file-descriptor in the format "&N" where N is the file
descriptor number.
The VDPAU wrapper library is responsible for determining which vendor-specific
driver to load for a given X11 display/screen. At present, it hard-codes
"nvidia" as the driver. The environment variable VDPAU_DRIVER may be set to
override this default. The actual library loaded will be
libvdpau_${VDPAU_DRIVER}.so. Setting VDPAU_DRIVER to "trace" is not advised.

26
U_Support-AV1.patch Normal file
View File

@ -0,0 +1,26 @@
From da66af25aa327d21179d478f3a6d8c03b6c7f574 Mon Sep 17 00:00:00 2001
From: ManojGuptaBonda <mbonda@nvidia.com>
Date: Tue, 8 Feb 2022 23:25:04 +0530
Subject: [PATCH] Add support for AV1 in vdpauinfo
---
vdpauinfo.cpp | 3 +++
1 file changed, 3 insertions(+)
diff --git a/vdpauinfo.cpp b/vdpauinfo.cpp
index 10dbdf3..cf83b4a 100644
--- a/vdpauinfo.cpp
+++ b/vdpauinfo.cpp
@@ -376,6 +376,9 @@ Desc decoder_profiles[] = {
{"HEVC_MAIN_444", VDP_DECODER_PROFILE_HEVC_MAIN_444},
{"HEVC_MAIN_444_10", VDP_DECODER_PROFILE_HEVC_MAIN_444_10},
{"HEVC_MAIN_444_12", VDP_DECODER_PROFILE_HEVC_MAIN_444_12},
+{"AV1_MAIN", VDP_DECODER_PROFILE_AV1_MAIN},
+{"AV1_HIGH", VDP_DECODER_PROFILE_AV1_HIGH},
+{"AV1_PROFESSIONAL", VDP_DECODER_PROFILE_AV1_PROFESSIONAL},
};
const size_t decoder_profile_count = sizeof(decoder_profiles)/sizeof(Desc);
--
GitLab

6
baselibs.conf Normal file
View File

@ -0,0 +1,6 @@
libvdpau1
libvdpau_trace1
libvdpau-devel
requires -libvdpau-<targettype>
requires "libvdpau1-<targettype> = <version>"
requires "libvdpau_trace1-<targettype> = <version>"

BIN
libvdpau-1.5.tar.bz2 (Stored with Git LFS) Normal file

Binary file not shown.

3
libvdpau-rpmlintrc Normal file
View File

@ -0,0 +1,3 @@
# dir isn't version, but it's contents is
addFilter("shlib-policy-nonversioned-dir")
addFilter("no-dependency-on")

327
libvdpau.changes Normal file
View File

@ -0,0 +1,327 @@
-------------------------------------------------------------------
Thu Mar 10 17:27:33 UTC 2022 - Bjørn Lie <bjorn.lie@gmail.com>
- Add U_Support-AV1.patch: Add support for AV1 in vdpauinfo.
- Minor tweaks to spec.
-------------------------------------------------------------------
Wed Mar 9 11:42:53 UTC 2022 - Bjørn Lie <bjorn.lie@gmail.com>
- Update to version 1.5:
* Add AV1 decode support in VDPAU API
* Addition of comma and removing the extra braces
* Add tracing for HEVCRangeExt picture info
* Add tracing for VP9 picture info
- Also update vdpauinfo to version 1.4
- Drop patches fixed upstream:
* c5a8e7c6c8b4b36a0e4c9a4369404519262a3256.patch
* e82dc4bdbb0db3ffa8c78275902738eb63aa5ca8.patch
-------------------------------------------------------------------
Thu Jan 14 18:33:07 UTC 2021 - Dirk Müller <dmueller@suse.com>
- add c5a8e7c6c8b4b36a0e4c9a4369404519262a3256.patch
e82dc4bdbb0db3ffa8c78275902738eb63aa5ca8.patch: upstream
patches to include tracing info for VP9 and HEVC
-------------------------------------------------------------------
Fri Jul 31 11:52:51 UTC 2020 - Stefan Dirsch <sndirsch@suse.com>
- n_UsrEtc.patch
* switch to /usr/etc location for vdpau_wrapper.cfg, but first
try /etc (boo#1173038)
-------------------------------------------------------------------
Sat Apr 11 20:32:45 UTC 2020 - Stefan Dirsch <sndirsch@suse.com>
- Update libvdpau to version 1.4
* adds 10,12-Bit decode support to VDPAU API
* Adds HEVC Main 10/12 and HEVC Main 444 10/12 decode support in
VDPAU API by Adding new profiles present in Range Extension
profiles.Also Adds new VdpChromaTypes for 16bit.
- Updated vdpauinfo to version 1.3
* Add names for the new 4:4:4 surface formats
* Add support for VP9 in vdpauinfo
* Depend on vdpau >= 1.3 for VP9 support
-------------------------------------------------------------------
Thu Aug 29 14:01:06 UTC 2019 - Stefan Dirsch <sndirsch@suse.com>
- fixed source URL in specfile
-------------------------------------------------------------------
Thu Aug 29 13:31:42 UTC 2019 - Stefan Dirsch <sndirsch@suse.com>
- Update libvdpau to version 1.3
* This release of libvdpau switches the build system from
automake & autoconf to meson and adds definitions to support
decoding of the VP9 video format.
-------------------------------------------------------------------
Fri Mar 1 11:43:48 UTC 2019 - Stefan Dirsch <sndirsch@suse.com>
- Update libvdpau to version 1.2
* This version of libvdpau adds new chroma types defining whether
surfaces contain frames or fields, and a new picture parameter
structure that supports HEVC 4:4:4 pictures.
- supersedes U_Add_missing_include_of_config_h_to_define_GNU_SOURCE.patch
-------------------------------------------------------------------
Wed Dec 12 20:18:16 UTC 2018 - Jan Engelhardt <jengelh@inai.de>
- Update RPM groups and %make(_)install call.
-------------------------------------------------------------------
Wed Dec 12 14:56:05 UTC 2018 - Dominique Leuenberger <dimstar@opensuse.org>
- Drop graphviz BuildRequires: we lose the doc with this, but
manage to break a build cycle.
-------------------------------------------------------------------
Tue May 30 09:59:01 UTC 2017 - sndirsch@suse.com
- includes everything needed for missing sle issue entries:
* fate #315643-315645, 319159-319161, 319618 (bsc#1041623)
* bnc#943967, bnc#943968, bnc#943969 (bsc#1041623)
* CVE-2015-5198, CVE-2015-5199, CVE-2015-5200 (bsc#1041623)
-------------------------------------------------------------------
Mon Sep 7 10:24:35 UTC 2015 - sndirsch@suse.com
- replaced u_src-mesa_dri2.c-define-_GNU_SOURCE.patch with upstream
U_Add_missing_include_of_config_h_to_define_GNU_SOURCE.patch
-------------------------------------------------------------------
Wed Sep 2 13:03:40 UTC 2015 - sndirsch@suse.com
- added missing BuildRequires for pkgconfig(dri2proto)
- u_src-mesa_dri2.c-define-_GNU_SOURCE.patch
* Without having defined _GNU_SOURCE __USE_GNU isn't defined
either. Though secure_getenv() in stdlib.h isn't declared.
-------------------------------------------------------------------
Tue Sep 1 14:02:11 UTC 2015 - sndirsch@suse.com
- Update libvdpau to version 1.1.1 (bnc#943967,#943968,#943969)
libvdpau versions 1.1 and earlier, when used in setuid or setgid
applications, contain vulnerabilities related to environment
variable handling that could allow an attacker to execute
arbitrary code or overwrite arbitrary files. See CVE-2015-5198,
CVE-2015-5199, and CVE-2015-5200 for more details.
This release uses the secure_getenv() function, when available,
to fix these problems. The updated libvdpau will instead use a
fallback implementation of secure_getenv() when the platform
doesn't provide one.
If you use the NVIDIA .run installer packages, please see
https://devtalk.nvidia.com/default/topic/873035 for additional
information.
This release also adds tracing of HEVC picture structures to
libvdpau_trace.
- supersedes patch: libvdpau-nopdftex.patch
-------------------------------------------------------------------
Tue Mar 17 08:38:21 UTC 2015 - sndirsch@suse.com
- Update libvdpau to version 1.1
* This release fixes a bug in the new VdpPictureInfoHEVC structure:
the column_width_minus1 and row_height_minus1 arrays had the wrong
dimensions. To avoid the incorrect structure being used, the profile
numbers for the HEVC profiles have been changed. Please use the new
profiles rather than the ones from libvdpau 1.0.
-------------------------------------------------------------------
Mon Mar 16 11:44:43 UTC 2015 - sndirsch@suse.com
- Update libvdpau to version 1.0
* This release adds support for the following HEVC / H.265 profiles:
VDP_DECODER_PROFILE_HEVC_MAIN
VDP_DECODER_PROFILE_HEVC_MAIN_10
VDP_DECODER_PROFILE_HEVC_MAIN_STILL
VDP_DECODER_PROFILE_HEVC_MAIN_12
VDP_DECODER_PROFILE_HEVC_MAIN_444
- Updated vdpauinfo to version 0.9
* This release adds support for querying the new profiles added in
libvdpau 1.0 (see above)
- cleanup: removed empty patch 'vdpauinfo-missing-lX11.diff'
-------------------------------------------------------------------
Tue Dec 23 08:21:08 UTC 2014 - jweberhofer@weberhofer.at
- Update libvpaud to version 0.9
This release adds several new decoder profiles:
- VDP_DECODER_PROFILE_H264_CONSTRAINED_BASELINE
- VDP_DECODER_PROFILE_H264_EXTENDED
- VDP_DECODER_PROFILE_H264_PROGRESSIVE_HIGH
- VDP_DECODER_PROFILE_H264_CONSTRAINED_HIGH
- VDP_DECODER_PROFILE_H264_HIGH_444_PREDICTIVE
In addition, this release includes a number of packaging and compiler warning
fixes and clarifies the ABI policy to include the size of the data structures
defined in vdpau.h. It also fixes a race condition that could be triggered
when two threads call VdpDeviceCreateX11 simultaneously.
* vdpau_x11.h: update stale comment about how libvdpau finds drivers
* vdpau.h: define a more strict ABI policy
* trace: properly annotate private functions as static
* vdpau: do not export _vdp_DRI2* functions
* Clarify type of source_surface as VDP_INVALID_HANDLE
* vdpau_x11 - fix typo
* Add support for H.264 Hi444PP in VDPAU API
* vdpau_trace: Fix GCC 4.8 build warnings
* vdpau_wrapper: remove unused parameter warnings
* test: do not clobber CFLAGS
* test: remove assignment-as-truth-value warning
* test: fix incomplete prototype
* vdpau.h: improve constant expansion safety
* vdpau: define some more H.264/AVC decoding profiles
* configure: add test for POSIX threads
* vdpau_wrapper: make the fixes initialization thread-safe
* vdpau_wrapper: make initialization of library handles thread-safe
* vdpau_wrapper: protect concurrent access to _imp_get_proc_address
- Updated vdpauinfo to version 0.9
This release adds support for the new profiles added in libvdpau 0.9. It
also adds the ability to display which indexed color formats are supported by
the PutBits interface.
Finally, it adds the command line options --display and --screen, which can
be used to select which X server and screen to query rather than having to
set the $DISPLAY environment variable.
* Set the AM_INIT_AUTOMAKE foreign flag
* vdpauinfo: add option processing
* vdpauinfo: print supported PutBits indexed color formats
* Support new H.264 profiles added in libvdpau 0.9
* List profiles that are not supported as well
- rebased patches
-------------------------------------------------------------------
Wed Jul 2 07:49:16 UTC 2014 - sndirsch@suse.com
- Update to v0.8
* This release fixes an incorrect type for VdpPictureInfo and
adds an environment variable, VDPAU_DRIVER_PATH, which can be
used to override the default search path that the library uses
to find its backend driver libraries.
-------------------------------------------------------------------
Sun Oct 27 09:25:25 UTC 2013 - sndirsch@suse.com
- update to vdpauinfo 0.1
* This release fixes a problem where ranges were queried for
mixer parameters and attributes where ranges were not allowed.
-------------------------------------------------------------------
Mon Mar 25 12:12:33 UTC 2013 - idonmez@suse.com
- Drop libvdpau-alway-workaround-libflash.patch: while this
fixes flash plugin, it breaks all the other apps. (bnc#811360)
-------------------------------------------------------------------
Sun Feb 3 15:08:19 UTC 2013 - hrvoje.senjan@gmail.com
- Update to v0.6
* Make use of dri2proto_CFLAGS when building.
* Fix leaked extension info on library unload
* Use AC_CONFIG_HEADERS instead of AM_CONFIG_HEADER to appease
automake 1.13
-------------------------------------------------------------------
Wed Sep 5 15:58:42 UTC 2012 - idonmez@suse.com
- Update to v0.5
* vdpau_wrapper.c: Track dynamic library handles and free them
on exit
* Implement workarounds for Adobe Flash bugs
- Add libvdpau-alway-workaround-libflash.patch: always enable
Flash workarounds and not depend on kernel command line. Users
can disable this in the /etc/vdpau_wrapper.cfg file.
-------------------------------------------------------------------
Tue Jun 26 12:34:44 UTC 2012 - sndirsch@suse.com
- back to building the HTML documentation (instead of prebuilding
and then extracting it during the build), but this time without
requiring texlive, since pdftex apparently isn't used for this
purpose anyway (libvdpau-nopdftex.patch)
-------------------------------------------------------------------
Mon Jun 25 13:23:52 UTC 2012 - coolo@suse.com
- do not build the documentation but package a prebuilt tar of it
to avoid huge build cycle
-------------------------------------------------------------------
Mon Aug 29 14:47:54 UTC 2011 - sndirsch@suse.com
- fixes the build in a more correct way :-) Hopefully!
-------------------------------------------------------------------
Mon Aug 29 12:19:11 UTC 2011 - sndirsch@suse.com
- vdpau needs an explicit "-lX11" with latest toolchain
-------------------------------------------------------------------
Wed Sep 22 07:19:14 UTC 2010 - coolo@novell.com
- fix baselibs.conf
-------------------------------------------------------------------
Wed Sep 8 17:21:29 UTC 2010 - sndirsch@novell.com
- libvdpau 0.4.1
This minor update just changes a few small, but important,
documentation details.
* vdpau.h: Clarify video mixer field amount recommendation
* vpdau.h: Fix typo and clarify wording.
* More doc issues pointed out by Xine authors.
-------------------------------------------------------------------
Fri Jun 18 22:10:29 CEST 2010 - sndirsch@suse.de
- renamed rpmlintrc to libvdpau-rpmlintrc
- added libvdpau-rpmlintrc as source to specfile
-------------------------------------------------------------------
Fri Jun 4 20:41:37 CEST 2010 - sndirsch@suse.de
- fixed baselibs.conf (packages have been renamed)
-------------------------------------------------------------------
Sat Apr 24 12:59:42 CEST 2010 - sndirsch@suse.de
- fixed libvdpau_trace1 package description
- added README for tracing VDPAU function calls
-------------------------------------------------------------------
Sat Apr 24 10:37:30 CEST 2010 - sndirsch@suse.de
- added Wladimir J. van der Laan's vdpinfo tool, a command line
utility for querying the capabilities of a VDPAU device.
-------------------------------------------------------------------
Thu Apr 22 22:34:09 UTC 2010 - herbert@graeber-clan.de
- put libvdpau_trace into it's own package
-------------------------------------------------------------------
Thu Apr 22 18:11:59 UTC 2010 - herbert@graeber-clan.de
- follow Shared Library Packaging Policy
- obsolete packman vdpau packages for proper update
-------------------------------------------------------------------
Thu Apr 22 02:33:32 CEST 2010 - sndirsch@suse.de
- also build and package documentation
-------------------------------------------------------------------
Wed Apr 21 12:00:38 CEST 2010 - sndirsch@suse.de
- created package (bnc #596481)

140
libvdpau.spec Normal file
View File

@ -0,0 +1,140 @@
#
# spec file for package libvdpau
#
# Copyright (c) 2022 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
%if 0%{?suse_version} < 1550
%define _distconfdir %{_prefix}%{_sysconfdir}
%endif
Name: libvdpau
Version: 1.5
Release: 0
Summary: VDPAU wrapper and trace libraries
License: MIT
Group: Development/Libraries/C and C++
URL: https://www.freedesktop.org/wiki/Software/VDPAU/
Source: https://gitlab.freedesktop.org/vdpau/libvdpau/-/archive/%{version}/%{name}-%{version}.tar.bz2
Source1: https://gitlab.freedesktop.org/vdpau/vdpauinfo/-/archive/1.4/vdpauinfo-1.4.tar.bz2
Source2: README
Source99: baselibs.conf
Source100: %{name}-rpmlintrc
Patch0: n_UsrEtc.patch
Patch1: U_Support-AV1.patch
BuildRequires: autoconf
BuildRequires: automake
BuildRequires: doxygen
BuildRequires: fdupes
BuildRequires: gcc-c++
BuildRequires: meson
BuildRequires: pkgconfig
BuildRequires: pkgconfig(dri2proto)
BuildRequires: pkgconfig(x11)
BuildRequires: pkgconfig(xext)
%description
This package contains the libvdpau wrapper library and the libvdpau_trace
debugging library, along with the header files needed to build VDPAU
applications. To actually use a VDPAU device, you need a vendor-specific
implementation library. Currently, this is always libvdpau_nvidia. You can
override the driver name by setting the VDPAU_DRIVER environment variable.
%package -n libvdpau1
Summary: VDPAU wrapper library
Group: System/Libraries
Provides: libvdpau = %{version}-%{release}
Obsoletes: libvdpau < %{version}-%{release}
%description -n libvdpau1
This package contains the libvdpau wrapper library and the libvdpau_trace
debugging library, along with the header files needed to build VDPAU
applications. To actually use a VDPAU device, you need a vendor-specific
implementation library. Currently, this is always libvdpau_nvidia. You can
override the driver name by setting the VDPAU_DRIVER environment variable.
%package -n libvdpau-devel
Summary: VDPAU wrapper development files
Group: Development/Libraries/X11
Requires: libvdpau1 = %{version}
%description -n libvdpau-devel
Note that this package only contains the VDPAU headers that are required to
build applications. At runtime, the shared libraries are needed too and may
be installed using the proprietary nVidia driver packages.
%package -n libvdpau_trace1
Summary: VDPAU trace library
Group: Development/Libraries/X11
Requires: libvdpau1 = %{version}
Provides: libvdpau_trace = %{version}-%{release}
Obsoletes: libvdpau_trace < %{version}-%{release}
%description -n libvdpau_trace1
This package provides the library for tracing VDPAU function calls.
Its usage is documented in the README.
%prep
%setup -q -b1
%patch0 -p1
pushd ../vdpauinfo-*
%patch1 -p1
popd
%build
%meson
%meson_build
%install
%meson_install
/sbin/ldconfig -n %{buildroot}/%{_libdir}/vdpau
rm %{buildroot}%{_libdir}/vdpau/libvdpau_trace.so
pushd ../vdpauinfo-*
autoreconf -fi
%configure \
VDPAU_CFLAGS=-I%{buildroot}%{_includedir} \
VDPAU_LIBS="-L%{buildroot}/%{_libdir} -lvdpau -lX11"
%make_build
%make_install
popd
cp %{_sourcedir}/README .
%post -n libvdpau1 -p /sbin/ldconfig
%postun -n libvdpau1 -p /sbin/ldconfig
%files -n libvdpau1
%dir %{_libdir}/vdpau
%if 0%{?suse_version} < 1550
%dir %{_distconfdir}
%endif
%{_bindir}/vdpauinfo
%{_libdir}/libvdpau.so.*
%{_distconfdir}/vdpau_wrapper.cfg
%files -n libvdpau-devel
%dir %{_libdir}/vdpau
%{_includedir}/vdpau
%{_libdir}/libvdpau.so
%{_libdir}/pkgconfig/vdpau.pc
%files -n libvdpau_trace1
%doc README
%{_libdir}/vdpau/libvdpau_trace.so.*
%changelog

24
n_UsrEtc.patch Normal file
View File

@ -0,0 +1,24 @@
diff -u -r libvdpau-1.4.orig/src/meson.build libvdpau-1.4/src/meson.build
--- libvdpau-1.4.orig/src/meson.build 2020-07-31 13:36:55.104530000 +0200
+++ libvdpau-1.4/src/meson.build 2020-07-31 14:21:02.982468000 +0200
@@ -16,4 +16,4 @@
install : true,
)
-install_data('vdpau_wrapper.cfg', install_dir : get_option('sysconfdir'))
+install_data('vdpau_wrapper.cfg', install_dir : '/usr/etc')
diff -u -r libvdpau-1.4.orig/src/vdpau_wrapper.c libvdpau-1.4/src/vdpau_wrapper.c
--- libvdpau-1.4.orig/src/vdpau_wrapper.c 2020-07-31 13:36:55.116541000 +0200
+++ libvdpau-1.4/src/vdpau_wrapper.c 2020-07-31 14:19:44.407242000 +0200
@@ -362,7 +362,10 @@
fp = fopen(VDPAU_SYSCONFDIR "/vdpau_wrapper.cfg", "r");
if (!fp) {
- return;
+ fp = fopen("/usr/etc/vdpau_wrapper.cfg", "r");
+ if (!fp) {
+ return;
+ }
}
while (fgets(buffer, sizeof(buffer), fp) != NULL) {

BIN
vdpauinfo-1.4.tar.bz2 (Stored with Git LFS) Normal file

Binary file not shown.