From ab3589f74f9249dd9e9eae62139ce34c4229d93a Mon Sep 17 00:00:00 2001 From: Nicolas Chauvet Date: Fri, 1 Mar 2019 09:51:07 +0100 Subject: [PATCH] Update to 1.2 --- .gitignore | 10 +- ...ssing-include-of-config.h-to-define-.patch | 31 --- ....h-Make-getenv_wrapper-static-inline.patch | 31 --- ...c-error-on-displayable-surface-types.patch | 30 --- ...d-field-mode-chroma-types.-Add-VdpDe.patch | 188 ------------------ ...ommit-53eeb07f68d483fee86ad872884aee.patch | 36 ---- libvdpau.spec | 22 +- sources | 2 +- 8 files changed, 11 insertions(+), 339 deletions(-) delete mode 100644 0001-mesa_dri2-Add-missing-include-of-config.h-to-define-.patch delete mode 100644 0002-util.h-Make-getenv_wrapper-static-inline.patch delete mode 100644 0003-Fix-doc-error-on-displayable-surface-types.patch delete mode 100644 0004-Add-new-frame-and-field-mode-chroma-types.-Add-VdpDe.patch delete mode 100644 0005-Fix-typos-from-commit-53eeb07f68d483fee86ad872884aee.patch diff --git a/.gitignore b/.gitignore index 7832d9e..03ddb2f 100644 --- a/.gitignore +++ b/.gitignore @@ -1,9 +1 @@ -libvdpau-0.4.1.tar.bz2 -/libvdpau-0.5.tar.gz -/libvdpau-0.6.tar.gz -/libvdpau-0.7.tar.gz -/libvdpau-0.8.tar.gz -/libvdpau-0.9.tar.gz -/libvdpau-1.0.tar.bz2 -/libvdpau-1.1.tar.bz2 -/libvdpau-1.1.1.tar.bz2 +libvdpau-*.tar.bz2 diff --git a/0001-mesa_dri2-Add-missing-include-of-config.h-to-define-.patch b/0001-mesa_dri2-Add-missing-include-of-config.h-to-define-.patch deleted file mode 100644 index 5598410..0000000 --- a/0001-mesa_dri2-Add-missing-include-of-config.h-to-define-.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 1cda354bdfd0c9ca107293b84b52f4464fdbedcc Mon Sep 17 00:00:00 2001 -From: Rico Tzschichholz -Date: Tue, 1 Sep 2015 10:45:11 +0200 -Subject: [PATCH 1/3] mesa_dri2: Add missing include of config.h to define _GNU_SOURCE - -Fix build with -Wimplicit-function-declaration while secure_getenv() is -guarded by __USE_GNU. - -Reviewed-by: Aaron Plattner -Tested-by: Stefan Dirsch ---- - src/mesa_dri2.c | 3 +++ - 1 files changed, 3 insertions(+), 0 deletions(-) - -diff --git a/src/mesa_dri2.c b/src/mesa_dri2.c -index 51e8794..420ccee 100644 ---- a/src/mesa_dri2.c -+++ b/src/mesa_dri2.c -@@ -33,6 +33,9 @@ - * and José Hiram Soltren (jsoltren@nvidia.com) - */ - -+#ifdef HAVE_CONFIG_H -+#include "config.h" -+#endif - - #define NEED_REPLIES - #include --- -1.7.2.1 - diff --git a/0002-util.h-Make-getenv_wrapper-static-inline.patch b/0002-util.h-Make-getenv_wrapper-static-inline.patch deleted file mode 100644 index 63a0648..0000000 --- a/0002-util.h-Make-getenv_wrapper-static-inline.patch +++ /dev/null @@ -1,31 +0,0 @@ -From fb5362be7a6d6f89f76c5e171c339f5fa1916d38 Mon Sep 17 00:00:00 2001 -From: Aaron Plattner -Date: Mon, 7 Sep 2015 21:16:58 -0700 -Subject: [PATCH 2/3] util.h: Make getenv_wrapper() static inline -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Otherwise, GCC generates a "‘getenv_wrapper’ defined but not used" warning. - -Signed-off-by: Aaron Plattner ---- - src/util.h | 2 +- - 1 files changed, 1 insertions(+), 1 deletions(-) - -diff --git a/src/util.h b/src/util.h -index 1452c06..39227ea 100644 ---- a/src/util.h -+++ b/src/util.h -@@ -28,7 +28,7 @@ - #include - #include - --static char * getenv_wrapper(const char *name) -+static inline char * getenv_wrapper(const char *name) - { - if (getuid() == geteuid() && getgid() == getegid()) { - return getenv(name); --- -1.7.2.1 - diff --git a/0003-Fix-doc-error-on-displayable-surface-types.patch b/0003-Fix-doc-error-on-displayable-surface-types.patch deleted file mode 100644 index 1aac262..0000000 --- a/0003-Fix-doc-error-on-displayable-surface-types.patch +++ /dev/null @@ -1,30 +0,0 @@ -From a21bf7aa438f5dd40d0a300a3167aa3d6f26dccc Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Jos=C3=A9=20Hiram=20Soltren?= -Date: Wed, 9 Sep 2015 15:05:01 -0500 -Subject: [PATCH 3/3] Fix doc error on displayable surface types - -VdpVideoSurface is not directly displayable in the current -implementation of VDPAU. VdpOutputSurface is. Make the documentation -consistent with reality. - -Signed-off-by: Aaron Plattner ---- - include/vdpau/vdpau.h | 2 +- - 1 files changed, 1 insertions(+), 1 deletions(-) - -diff --git a/include/vdpau/vdpau.h b/include/vdpau/vdpau.h -index 8cc4524..0bc5b60 100644 ---- a/include/vdpau/vdpau.h -+++ b/include/vdpau/vdpau.h -@@ -1704,7 +1704,7 @@ typedef VdpStatus VdpVideoSurfacePutBitsYCbCr( - * - The Hardware that implements \ref VdpPresentationQueue - * "VdpPresentationQueue" functionality, - * -- * VdpVideoSurfaces are directly displayable using a \ref -+ * VdpOutputSurfaces are directly displayable using a \ref - * VdpPresentationQueue "VdpPresentationQueue" object. - * - * @{ --- -1.7.2.1 - diff --git a/0004-Add-new-frame-and-field-mode-chroma-types.-Add-VdpDe.patch b/0004-Add-new-frame-and-field-mode-chroma-types.-Add-VdpDe.patch deleted file mode 100644 index a7d716a..0000000 --- a/0004-Add-new-frame-and-field-mode-chroma-types.-Add-VdpDe.patch +++ /dev/null @@ -1,188 +0,0 @@ -From 53eeb07f68d483fee86ad872884aee890d5aa393 Mon Sep 17 00:00:00 2001 -From: ManojGuptaBonda -Date: Tue, 20 Nov 2018 13:29:37 +0530 -Subject: [PATCH 4/5] Add new frame and field mode chroma types. Add - VdpDecoderQueryProfileCapability API - -Chroma types : - VDP_CHROMA_TYPE_420 - VDP_CHROMA_TYPE_422 - VDP_CHROMA_TYPE_444 - -already exist, surfaces of these types could be transparently used with -any VdpVideoDecoder. The implementation is free to internally convert -the surface between frame/field(NV12/NV24) as required by -VdpVideoDecoder operation. The interop API would allow registration of -these surfaces for either field or frame based interop. - -This change adds new enums for frame and field chroma types: - VDP_CHROMA_TYPE_420_FIELD - VDP_CHROMA_TYPE_422_FIELD - VDP_CHROMA_TYPE_444_FIELD - VDP_CHROMA_TYPE_420_FRAME - VDP_CHROMA_TYPE_422_FRAME - VDP_CHROMA_TYPE_444_FRAME - -So that frame/field based video surfaces can be created and exposed via -VDPAU OpenGL interop. - -The new chroma types could only be used by a VdpVideoDecoder that -supports output to field/frame surfaces respectively. Internal surface -convertion is not allowed. The interop API would allow registration -of these surfaces to field/frame based interop only. This will avoid -implicit conversions and allocation of shadow surface. - -Existing VdpDecoderQueryCapabilities() returns maxlevel, maxwidth, -height and macro blocks for a given decoder profile. Since it is not -possible to extend this API to return more capabilities, adding new API -VdpDecoderQueryProfileCapability(). In this change, new API will be able -to return supported picture structure along with other existing -capabilities. - -VdpDecoderQueryProfileCapability() can be extended in future to query -newer capabilities exposed. VdpDecoderCapabilities defines the -capabilities that can be queried. - -This function returns queried capability of the requested profile on the -underlying h/w. By design, only one capability can be queried at a time. - -Signed-off-by: Manoj Bonda -Signed-off-by: Aaron Plattner ---- - include/vdpau/vdpau.h | 95 +++++++++++++++++++++++++++++++++++++++++-- - 1 file changed, 91 insertions(+), 4 deletions(-) - -diff --git a/include/vdpau/vdpau.h b/include/vdpau/vdpau.h -index 0bc5b60..a851ee8 100644 ---- a/include/vdpau/vdpau.h -+++ b/include/vdpau/vdpau.h -@@ -838,13 +838,66 @@ typedef int VdpBool; - */ - typedef uint32_t VdpChromaType; - --/** \hideinitializer \brief 4:2:0 chroma format. */ -+/** \hideinitializer \brief 4:2:0 chroma format. Undefined field/frame based -+ * Video surfaces allocated with this chroma type have undefined -+ * field/frame structure. The implementation is free to internally morph -+ * the surface between frame/field(NV12/NV24) as required by -+ * VdpVideoDecoder operation. Interop with OpenGL allows registration -+ * of these surfaces for either field- or frame-based interop. But, an implicit -+ * field/frame structure conversion may be performed. -+ */ - #define VDP_CHROMA_TYPE_420 ((VdpChromaType)0) --/** \hideinitializer \brief 4:2:2 chroma format. */ -+/** \hideinitializer \brief 4:2:2 chroma format. Undefined field/frame based -+ * Video surfaces allocated with this chroma type have undefined -+ * field/frame structure. The implementation is free to internally morph -+ * the surface between frame/field(NV12/NV24) as required by -+ * VdpVideoDecoder operation. Interop with OpenGL allows registration -+ * of these surfaces for either field- or frame-based interop. But, an implicit -+ * field/frame structure conversion may be performed. -+ */ - #define VDP_CHROMA_TYPE_422 ((VdpChromaType)1) --/** \hideinitializer \brief 4:4:4 chroma format. */ -+/** \hideinitializer \brief 4:4:4 chroma format. Undefined field/frame based -+ * Video surfaces allocated with this chroma type have undefined -+ * field/frame structure. The implementation is free to internally morph -+ * the surface between frame/field(NV12/NV24) as required by -+ * VdpVideoDecoder operation. Interop with OpenGL allows registration -+ * of these surfaces for either field- or frame-based interop. But, an implicit -+ * field/frame structure conversion may be performed. -+ */ - #define VDP_CHROMA_TYPE_444 ((VdpChromaType)2) - -+/** \hideinitializer \brief 4:2:0 chroma format. Field based. -+ * Video surfaces allocated with this chroma type can only be -+ * interoped with OpenGL if the matching field/frame structure is -+ * specified in the OpenGL API */ -+#define VDP_CHROMA_TYPE_420_FIELD ((VdpChromaType)3) -+/** \hideinitializer \brief 4:2:2 chroma format. Field based. -+ * Video surfaces allocated with this chroma type can only be -+ * interoped with OpenGL if the matching field/frame structure is -+ * specified in the OpenGL API */ -+#define VDP_CHROMA_TYPE_422_FIELD ((VdpChromaType)4) -+/** \hideinitializer \brief 4:4:4 chroma format. Field based. -+ * Video surfaces allocated with this chroma type can only be -+ * interoped with OpenGL if the matching field/frame structure is -+ * specified in the OpenGL API */ -+#define VDP_CHROMA_TYPE_444_FIELD ((VdpChromaType)5) -+ -+/** \hideinitializer \brief 4:2:0 chroma format. Frame based. -+ * Video surfaces allocated with this chroma type can only be -+ * interoped with OpenGL if the matching field/frame structure is -+ * specified in the OpenGL API */ -+#define VDP_CHROMA_TYPE_420_FRAME ((VdpChromaType)6) -+/** \hideinitializer \brief 4:2:2 chroma format. Frame based. -+ * Video surfaces allocated with this chroma type can only be -+ * interoped with OpenGL if the matching field/frame structure is -+ * specified in the OpenGL API */ -+#define VDP_CHROMA_TYPE_422_FRAME ((VdpChromaType)7) -+/** \hideinitializer \brief 4:4:4 chroma format. Frame based. -+ * Video surfaces allocated with this chroma type can only be -+ * interoped with OpenGL if the matching field/frame structure is -+ * specified in the OpenGL API */ -+#define VDP_CHROMA_TYPE_444_FRAME ((VdpChromaType)8) -+ - /** - * \brief The set of all known YCbCr surface formats. - */ -@@ -2620,6 +2673,38 @@ typedef uint32_t VdpDecoderProfile; - /** \hideinitializer */ - #define VDP_DECODER_LEVEL_HEVC_6_2 186 - -+typedef enum { -+ VDP_VIDEO_SURFACE_FIELD_STRUCTURE = (1 << 0), -+ VDP_VIDEO_SURFACE_FRAME_STRUCTURE = (1 << 1) -+} VdpVideoSurfaceSupportedPictureStructure; -+ -+typedef enum { -+ VDP_DECODER_PROFILE_MAX_LEVEL = 0, -+ VDP_DECODER_PROFILE_MAX_MACROBLOCKS = 1, -+ VDP_DECODER_PROFILE_MAX_WIDTH = 2, -+ VDP_DECODER_PROFILE_MAX_HEIGHT = 3, -+ VDP_DECODER_PROFILE_SUPPORTED_PICTURE_STRUCTURE = 4 -+} VdpDecoderCapability; -+ -+/** -+ * \brief Query the supported value of the requested capability, for -+ * the specified profile on the specified device. -+ * \param[in] device The device to query. -+ * \param[in] profile The decoder profile for which information is requested. -+ * \param[in] capability The decoder profile capability for which the value -+ * is requested. -+ * \param[out] capability_value The value of the requested capability. -+ * \return VdpStatus The completion status of the operation. -+ */ -+ -+typedef VdpStatus VdpDecoderQueryProfileCapability( -+ VdpDevice device, -+ VdpDecoderProfile profile, -+ /* output parameters follow */ -+ VdpDecoderCapability capability, -+ void * capability_value -+); -+ - /** - * \brief Query the implementation's VdpDecoder capabilities. - * \param[in] device The device to query. -@@ -4344,7 +4429,7 @@ typedef VdpStatus VdpPresentationQueueBlockUntilSurfaceIdle( - * \brief The status of a surface within a presentation queue. - */ - typedef enum { -- /** The surface is not queued or currently visible. */ -+ /** The surface is no queued or currently visible. */ - VDP_PRESENTATION_QUEUE_STATUS_IDLE, - /** The surface is in the queue, and not currently visible. */ - VDP_PRESENTATION_QUEUE_STATUS_QUEUED, -@@ -4587,6 +4672,8 @@ typedef uint32_t VdpFuncId; - #define VDP_FUNC_ID_PRESENTATION_QUEUE_QUERY_SURFACE_STATUS ((VdpFuncId)65) - /** \hideinitializer */ - #define VDP_FUNC_ID_PREEMPTION_CALLBACK_REGISTER ((VdpFuncId)66) -+/** \hideinitializer */ -+#define VDP_FUNC_ID_DECODER_QUERY_CAPABILITY ((VdpFuncId)67) - - #define VDP_FUNC_ID_BASE_WINSYS 0x1000 - --- -2.17.2 - diff --git a/0005-Fix-typos-from-commit-53eeb07f68d483fee86ad872884aee.patch b/0005-Fix-typos-from-commit-53eeb07f68d483fee86ad872884aee.patch deleted file mode 100644 index 6e10394..0000000 --- a/0005-Fix-typos-from-commit-53eeb07f68d483fee86ad872884aee.patch +++ /dev/null @@ -1,36 +0,0 @@ -From 52a6ea26bae0c4b2c5bace65dd7cc09c8e677bda Mon Sep 17 00:00:00 2001 -From: Aaron Plattner -Date: Tue, 20 Nov 2018 11:10:36 -0800 -Subject: [PATCH 5/5] Fix typos from commit - 53eeb07f68d483fee86ad872884aee890d5aa393 - -Signed-off-by: Aaron Plattner ---- - include/vdpau/vdpau.h | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/include/vdpau/vdpau.h b/include/vdpau/vdpau.h -index a851ee8..17695a9 100644 ---- a/include/vdpau/vdpau.h -+++ b/include/vdpau/vdpau.h -@@ -2701,7 +2701,7 @@ typedef VdpStatus VdpDecoderQueryProfileCapability( - VdpDevice device, - VdpDecoderProfile profile, - /* output parameters follow */ -- VdpDecoderCapability capability, -+ VdpDecoderCapability capability, - void * capability_value - ); - -@@ -4429,7 +4429,7 @@ typedef VdpStatus VdpPresentationQueueBlockUntilSurfaceIdle( - * \brief The status of a surface within a presentation queue. - */ - typedef enum { -- /** The surface is no queued or currently visible. */ -+ /** The surface is not queued or currently visible. */ - VDP_PRESENTATION_QUEUE_STATUS_IDLE, - /** The surface is in the queue, and not currently visible. */ - VDP_PRESENTATION_QUEUE_STATUS_QUEUED, --- -2.17.2 - diff --git a/libvdpau.spec b/libvdpau.spec index 563cae3..c39b92b 100644 --- a/libvdpau.spec +++ b/libvdpau.spec @@ -1,15 +1,12 @@ +%global gitlab_hash 14b620084c027d546fa0b3f083b800c6 + Name: libvdpau -Version: 1.1.1 -Release: 12%{?dist} +Version: 1.2 +Release: 1%{?dist} Summary: Wrapper library for the Video Decode and Presentation API License: MIT URL: https://freedesktop.org/wiki/Software/VDPAU/ -Source0: https://gitlab.freedesktop.org/vdpau/libvdpau/uploads/5635163f040f2eea59b66d0181cf664b/libvdpau-%{version}.tar.bz2 -Patch0: 0001-mesa_dri2-Add-missing-include-of-config.h-to-define-.patch -Patch1: 0002-util.h-Make-getenv_wrapper-static-inline.patch -Patch2: 0003-Fix-doc-error-on-displayable-surface-types.patch -Patch3: 0004-Add-new-frame-and-field-mode-chroma-types.-Add-VdpDe.patch -Patch4: 0005-Fix-typos-from-commit-53eeb07f68d483fee86ad872884aee.patch +Source0: https://gitlab.freedesktop.org/vdpau/libvdpau/uploads/%{gitlab_hash}/libvdpau-%{version}.tar.bz2 BuildRequires: autoconf BuildRequires: automake @@ -64,11 +61,7 @@ applications that use %{name}. %prep %setup -q -%patch0 -p1 -%patch1 -p1 -%patch2 -p1 -%patch3 -p1 -%patch4 -p1 + %build autoreconf -vif @@ -107,6 +100,9 @@ mv doc/html-out html %changelog +* Fri Mar 01 2019 Nicolas Chauvet - 1.2-1 +- Update to 1.2 + * Fri Feb 01 2019 Fedora Release Engineering - 1.1.1-12 - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild diff --git a/sources b/sources index d3f9813..be16c4c 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -d1a5380dd339d92a3446647bf73ba7ac libvdpau-1.1.1.tar.bz2 +SHA512 (libvdpau-1.2.tar.bz2) = 86aa3f2a39cb73a597bf417da2eeef73ff01160ed9f54dff3725785ff5a289f47040496de44e2f5292d59657d4746e369b3fa307c4f83a32f7cc28e4cd8bce6f