From d2043276654d0ee837595dbb738cc84adbe61356 Mon Sep 17 00:00:00 2001 From: Danny Rawlins Date: Sat, 9 Nov 2019 23:17:35 +1100 Subject: libva-vdpau-driver-32: initial import --- libva-vdpau-driver-32/.32bit | 0 libva-vdpau-driver-32/.footprint | 7 ++++ libva-vdpau-driver-32/.signature | 10 ++++++ libva-vdpau-driver-32/Pkgfile | 39 ++++++++++++++++++++++ ...vdpau-driver-0.7.4-VAEncH264VUIBufferType.patch | 29 ++++++++++++++++ ...pau-driver-0.7.4-glext-missing-definition.patch | 16 +++++++++ ...au-driver-0.7.4-include-linux-videodev2.h.patch | 25 ++++++++++++++ .../libva-vdpau-driver-0.7.4-libvdpau-0.8.patch | 11 ++++++ .../libva-vdpau-driver-0.7.4-sigfpe-crash.patch | 21 ++++++++++++ 9 files changed, 158 insertions(+) create mode 100644 libva-vdpau-driver-32/.32bit create mode 100644 libva-vdpau-driver-32/.footprint create mode 100644 libva-vdpau-driver-32/.signature create mode 100644 libva-vdpau-driver-32/Pkgfile create mode 100644 libva-vdpau-driver-32/libva-vdpau-driver-0.7.4-VAEncH264VUIBufferType.patch create mode 100644 libva-vdpau-driver-32/libva-vdpau-driver-0.7.4-glext-missing-definition.patch create mode 100644 libva-vdpau-driver-32/libva-vdpau-driver-0.7.4-include-linux-videodev2.h.patch create mode 100644 libva-vdpau-driver-32/libva-vdpau-driver-0.7.4-libvdpau-0.8.patch create mode 100644 libva-vdpau-driver-32/libva-vdpau-driver-0.7.4-sigfpe-crash.patch (limited to 'libva-vdpau-driver-32') diff --git a/libva-vdpau-driver-32/.32bit b/libva-vdpau-driver-32/.32bit new file mode 100644 index 00000000..e69de29b diff --git a/libva-vdpau-driver-32/.footprint b/libva-vdpau-driver-32/.footprint new file mode 100644 index 00000000..9c17c186 --- /dev/null +++ b/libva-vdpau-driver-32/.footprint @@ -0,0 +1,7 @@ +drwxr-xr-x root/root usr/ +drwxr-xr-x root/root usr/lib32/ +drwxr-xr-x root/root usr/lib32/dri/ +lrwxrwxrwx root/root usr/lib32/dri/nvidia_drv_video.so -> vdpau_drv_video.so +lrwxrwxrwx root/root usr/lib32/dri/s3g_drv_video.so -> vdpau_drv_video.so +-rwxr-xr-x root/root usr/lib32/dri/vdpau_drv_video.la +-rwxr-xr-x root/root usr/lib32/dri/vdpau_drv_video.so diff --git a/libva-vdpau-driver-32/.signature b/libva-vdpau-driver-32/.signature new file mode 100644 index 00000000..81797974 --- /dev/null +++ b/libva-vdpau-driver-32/.signature @@ -0,0 +1,10 @@ +untrusted comment: verify with /etc/ports/compat-32.pub +RWSwxGo/zH7eXZtC1fSOd5RDXmOlful5CTaCTCwtr1m8ef2bLpPaWSdu6pZ4LOP1G964bN9wPVZDB1arG3iVQe0jzNm2as2YKgM= +SHA256 (Pkgfile) = 32e16ae76a7085c83ed8fc0702aeb120aa4b9ac444db53c61fc35bafe5ed9158 +SHA256 (.footprint) = 37a106ebc0753ace7e8bfd8c96e7e5743edaf6952a2ca8c754d2dd28e30ba507 +SHA256 (libva-vdpau-driver-0.7.4.tar.bz2) = 155c1982f0ac3f5435ba20b221bcaa11be212c37db548cd1f2a030ffa17e9bb9 +SHA256 (libva-vdpau-driver-0.7.4-glext-missing-definition.patch) = 776bfe4c101cdde396d8783029b288c6cd825d0cdbc782ca3d94a5f9ffb4558c +SHA256 (libva-vdpau-driver-0.7.4-libvdpau-0.8.patch) = 5e567b026b97dc0e207b6c05410cc1b7b77a58ceb5046801d0ea1a321cba3b9d +SHA256 (libva-vdpau-driver-0.7.4-VAEncH264VUIBufferType.patch) = 1ae32b8e5cca1717be4a63f09e8c6bd84a3e9b712b933816cdb32bb315dbda98 +SHA256 (libva-vdpau-driver-0.7.4-sigfpe-crash.patch) = ef21397b0ed55f170e57fa1afef42b8b491491149af09b151f97ef3cc20ed0b7 +SHA256 (libva-vdpau-driver-0.7.4-include-linux-videodev2.h.patch) = 0ddf889850c54ccace8ec61a232f04ab77495c495949f952363ad28e2fc9891d diff --git a/libva-vdpau-driver-32/Pkgfile b/libva-vdpau-driver-32/Pkgfile new file mode 100644 index 00000000..534d71b5 --- /dev/null +++ b/libva-vdpau-driver-32/Pkgfile @@ -0,0 +1,39 @@ +# Description: VDPAU back-end for NVIDIA and VIA chipsets. +# URL: http://freedesktop.org/wiki/Software/vaapi +# Maintainer: CRUX compat-32 Team, compat-32-ports at crux dot nu +# Depends on: libva1-32 libva-vdpau-driver + +name=libva-vdpau-driver-32 +version=0.7.4 +release=6 +source=(https://www.freedesktop.org/software/vaapi/releases/libva-vdpau-driver/libva-vdpau-driver-$version.tar.bz2 + libva-vdpau-driver-0.7.4-glext-missing-definition.patch + libva-vdpau-driver-0.7.4-libvdpau-0.8.patch + libva-vdpau-driver-0.7.4-VAEncH264VUIBufferType.patch + libva-vdpau-driver-0.7.4-sigfpe-crash.patch + libva-vdpau-driver-0.7.4-include-linux-videodev2.h.patch) + +build() { + cd libva-vdpau-driver-$version + + patch -p1 -i $SRC/libva-vdpau-driver-0.7.4-glext-missing-definition.patch + patch -p1 -i $SRC/libva-vdpau-driver-0.7.4-libvdpau-0.8.patch + patch -p1 -i $SRC/libva-vdpau-driver-0.7.4-VAEncH264VUIBufferType.patch + patch -p1 -i $SRC/libva-vdpau-driver-0.7.4-sigfpe-crash.patch + patch -p1 -i $SRC/libva-vdpau-driver-0.7.4-include-linux-videodev2.h.patch + + sed -i 's:AM_CONFIG_HEADER:AC_CONFIG_HEADERS:' configure.ac + autoreconf -i + + PKG_CONFIG_PATH="/usr/lib32/libva1/pkgconfig" \ + ./configure \ + --prefix=/usr \ + --libdir=/usr/lib32 \ + --enable-glx + + make + make DESTDIR=$PKG install + + mv $PKG/usr/lib32/libva1/* $PKG/usr/lib32/ + rmdir $PKG/usr/lib32/libva1 +} diff --git a/libva-vdpau-driver-32/libva-vdpau-driver-0.7.4-VAEncH264VUIBufferType.patch b/libva-vdpau-driver-32/libva-vdpau-driver-0.7.4-VAEncH264VUIBufferType.patch new file mode 100644 index 00000000..74caee34 --- /dev/null +++ b/libva-vdpau-driver-32/libva-vdpau-driver-0.7.4-VAEncH264VUIBufferType.patch @@ -0,0 +1,29 @@ +>From fda3706eb74ba5ad874853969f3df3e372739c8d Mon Sep 17 00:00:00 2001 +From: "Xiang, Haihao" +Date: Fri, 21 Jun 2013 12:55:30 +0800 +Subject: [PATCH] VAEncH264VUIBufferType and VAEncH264SEIBufferType are + dropped from VA API + +The driver doesn't use them indeed + +Signed-off-by: Xiang, Haihao +--- + src/vdpau_dump.c | 2 -- + 1 file changed, 2 deletions(-) + +diff --git a/src/vdpau_dump.c b/src/vdpau_dump.c +index 899888b..610e7cd 100644 +--- a/src/vdpau_dump.c ++++ b/src/vdpau_dump.c +@@ -59,8 +59,6 @@ const char *string_of_VABufferType(VABufferType type) + _(VAEncSequenceParameterBufferType); + _(VAEncPictureParameterBufferType); + _(VAEncSliceParameterBufferType); +- _(VAEncH264VUIBufferType); +- _(VAEncH264SEIBufferType); + #endif + #if VA_CHECK_VERSION(0,31,1) + _(VAQMatrixBufferType); +-- +1.7.9.5 + diff --git a/libva-vdpau-driver-32/libva-vdpau-driver-0.7.4-glext-missing-definition.patch b/libva-vdpau-driver-32/libva-vdpau-driver-0.7.4-glext-missing-definition.patch new file mode 100644 index 00000000..b56d2683 --- /dev/null +++ b/libva-vdpau-driver-32/libva-vdpau-driver-0.7.4-glext-missing-definition.patch @@ -0,0 +1,16 @@ +--- a/src/utils_glx.h~ 2012-10-05 16:02:58.000000000 +0100 ++++ b/src/utils_glx.h 2012-10-19 08:44:12.469642440 +0100 +@@ -48,6 +48,13 @@ + typedef void (*PFNGLXRELEASETEXIMAGEEXTPROC)(Display *, GLXDrawable, int); + #endif + ++#if GL_GLEXT_VERSION >= 85 ++/* XXX: PFNGLMULTITEXCOORD2FPROC got out of the GL_VERSION_1_3_DEPRECATED ++ block and is not defined if GL_VERSION_1_3 is defined in ++ Redefine the type here as an interim solution */ ++typedef void (*PFNGLMULTITEXCOORD2FPROC) (GLenum target, GLfloat s, GLfloat t); ++#endif ++ + #ifndef GL_FRAMEBUFFER_BINDING + #define GL_FRAMEBUFFER_BINDING GL_FRAMEBUFFER_BINDING_EXT + #endif diff --git a/libva-vdpau-driver-32/libva-vdpau-driver-0.7.4-include-linux-videodev2.h.patch b/libva-vdpau-driver-32/libva-vdpau-driver-0.7.4-include-linux-videodev2.h.patch new file mode 100644 index 00000000..0d92074c --- /dev/null +++ b/libva-vdpau-driver-32/libva-vdpau-driver-0.7.4-include-linux-videodev2.h.patch @@ -0,0 +1,25 @@ +https://bugs.gentoo.org/689530 + +libva commit 93c52a17b8d2 ("va_backend: remove unneeded +linux/videodev2.h include") removed an include that provided the +prototype of v4l2_format among other v4l2_* structs. + +Without this or a forward declaration of 'struct v4l2_format', the prototype +and definition of vdpau_CreateSurfaceFromV4L2Buf() (which has a 'struct +v4l2_format *' parameter) are seen as conflicting. + +Just include the removed header where we need it. + +diff --git a/src/vdpau_driver.h b/src/vdpau_driver.h +index 6286d16..54d37fb 100644 +--- a/src/vdpau_driver.h ++++ b/src/vdpau_driver.h +@@ -21,6 +21,8 @@ + #ifndef VDPAU_DRIVER_H + #define VDPAU_DRIVER_H + ++#include ++ + #include + #include "vaapi_compat.h" + #include "vdpau_gate.h" diff --git a/libva-vdpau-driver-32/libva-vdpau-driver-0.7.4-libvdpau-0.8.patch b/libva-vdpau-driver-32/libva-vdpau-driver-0.7.4-libvdpau-0.8.patch new file mode 100644 index 00000000..ab3a4799 --- /dev/null +++ b/libva-vdpau-driver-32/libva-vdpau-driver-0.7.4-libvdpau-0.8.patch @@ -0,0 +1,11 @@ +--- a/src/vdpau_decode.c ++++ b/src/vdpau_decode.c +@@ -1289,7 +1289,7 @@ + driver_data, + obj_context->vdp_decoder, + obj_surface->vdp_surface, +- (VdpPictureInfo)&obj_context->vdp_picture_info, ++ (VdpPictureInfo *)&obj_context->vdp_picture_info, + obj_context->vdp_bitstream_buffers_count, + obj_context->vdp_bitstream_buffers + ); diff --git a/libva-vdpau-driver-32/libva-vdpau-driver-0.7.4-sigfpe-crash.patch b/libva-vdpau-driver-32/libva-vdpau-driver-0.7.4-sigfpe-crash.patch new file mode 100644 index 00000000..e2fe02cc --- /dev/null +++ b/libva-vdpau-driver-32/libva-vdpau-driver-0.7.4-sigfpe-crash.patch @@ -0,0 +1,21 @@ +Description: Fix a crash if a heap is destroyed before being initialized +Author: Sebastian Ramacher +Bug: https://bugs.freedesktop.org/show_bug.cgi?id=58836 +Bug-Debian: http://bugs.debian.org/748294 +Last-Update: 2014-06-02 + +--- vdpau-video-0.7.4.orig/src/object_heap.c ++++ vdpau-video-0.7.4/src/object_heap.c +@@ -272,8 +272,10 @@ object_heap_destroy(object_heap_p heap) + ASSERT(obj->next_free != ALLOCATED); + } + +- for (i = 0; i < heap->heap_size / heap->heap_increment; i++) { +- free(heap->bucket[i]); ++ if (heap->bucket) { ++ for (i = 0; i < heap->heap_size / heap->heap_increment; i++) { ++ free(heap->bucket[i]); ++ } + } + + pthread_mutex_destroy(&heap->mutex); -- cgit v1.2.3