summaryrefslogtreecommitdiff
path: root/community/xvba-video-open
diff options
context:
space:
mode:
authorroot <root@rshg054.dnsready.net>2013-03-10 00:51:34 -0800
committerroot <root@rshg054.dnsready.net>2013-03-10 00:51:34 -0800
commit6ee08d6a9217906f2ef84f70923d3d362d4b40ad (patch)
treedc3d842884f61485a4c01889d37d9432620d5e38 /community/xvba-video-open
parent92eac63df242654434dceb000bac083f6e81a6b9 (diff)
Sun Mar 10 00:50:57 PST 2013
Diffstat (limited to 'community/xvba-video-open')
-rw-r--r--community/xvba-video-open/PKGBUILD24
-rw-r--r--community/xvba-video-open/fix-build-with-glext.h-version-85.patch17
-rw-r--r--community/xvba-video-open/xvba-video-0.8.0-glx-fix.patch12
-rw-r--r--community/xvba-video-open/xvba-video-h264-level51.patch33
4 files changed, 82 insertions, 4 deletions
diff --git a/community/xvba-video-open/PKGBUILD b/community/xvba-video-open/PKGBUILD
index b676215f2..22ea8ca2b 100644
--- a/community/xvba-video-open/PKGBUILD
+++ b/community/xvba-video-open/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 77096 2012-10-04 19:43:11Z lcarlier $
+# $Id: PKGBUILD 85947 2013-03-09 21:11:01Z lcarlier $
# Maintainer: Laurent Carlier <lordheavym@gmail.com>
# Contributor: Jesse Jaara <gmail.com: jesse.jaara>
pkgname=xvba-video-open
pkgver=0.8.0
-pkgrel=1
+pkgrel=2
pkgdesc="OSS version of xvba-video lib to enable hw video acceleration on AMD's HD series of GFX cards"
arch=('i686' 'x86_64')
url="http://www.splitted-desktop.com/~gbeauchesne/xvba-video/"
@@ -13,13 +13,24 @@ depends=('catalyst-utils' 'libva')
makedepends=('mesa')
options=(!libtool)
source=(ftp://ftp.archlinux.org/other/community/xvba-video-open/xvba-video-${pkgver}.tar.gz
- http://developer.amd.com/downloads/xvba-sdk-0.74-404001.tar.gz)
+ http://developer.amd.com/wordpress/media/2012/10/xvba-sdk-0.74-404001.tar.gz
+ xvba-video-h264-level51.patch
+ xvba-video-0.8.0-glx-fix.patch
+ fix-build-with-glext.h-version-85.patch)
md5sums=('d9ddec2e7f02c1fa533773918e88e311'
- 'b8f56bc55aa70cb19dd12857fdc184cc')
+ 'b8f56bc55aa70cb19dd12857fdc184cc'
+ 'bce1de0a8b274049568453a53e8fce6a'
+ '5dc283eab46418eeef8e8be7c028a2ba')
build() {
cd "${srcdir}/xvba-video-${pkgver}"
+ # patch from opensuse (thanks vi0l0!)
+ patch -Np1 -i ../xvba-video-h264-level51.patch
+ patch -Np1 -i ../xvba-video-0.8.0-glx-fix.patch
+
+ patch -Np1 -i ../fix-build-with-glext.h-version-85.patch
+
export CPPFLAGS="${CPPFLAGS} -I${srcdir}/include"
./configure --disable-debug --enable-libxvba-dlopen --prefix=/usr
@@ -31,3 +42,8 @@ package() {
make DESTDIR="${pkgdir}" install
}
+md5sums=('d9ddec2e7f02c1fa533773918e88e311'
+ 'b8f56bc55aa70cb19dd12857fdc184cc'
+ 'bce1de0a8b274049568453a53e8fce6a'
+ '5dc283eab46418eeef8e8be7c028a2ba'
+ '69e8a9027affbaf7066e35bc97b3a984')
diff --git a/community/xvba-video-open/fix-build-with-glext.h-version-85.patch b/community/xvba-video-open/fix-build-with-glext.h-version-85.patch
new file mode 100644
index 000000000..f3cabce50
--- /dev/null
+++ b/community/xvba-video-open/fix-build-with-glext.h-version-85.patch
@@ -0,0 +1,17 @@
+diff -ru xvba-video-0.8.0/src/utils_glx.h xvba-video-0.8.0.patched/src/utils_glx.h
+--- xvba-video-0.8.0/src/utils_glx.h 2011-06-14 13:07:13.000000000 +0200
++++ xvba-video-0.8.0.patched/src/utils_glx.h 2013-02-17 10:53:34.589818821 +0100
+@@ -25,6 +25,13 @@
+ #include <GL/glext.h>
+ #include <GL/glx.h>
+
++#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 <GL/gl.h>
++ 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/community/xvba-video-open/xvba-video-0.8.0-glx-fix.patch b/community/xvba-video-open/xvba-video-0.8.0-glx-fix.patch
new file mode 100644
index 000000000..7cb249a16
--- /dev/null
+++ b/community/xvba-video-open/xvba-video-0.8.0-glx-fix.patch
@@ -0,0 +1,12 @@
+diff -ur xvba-video-0.8.0/src/xvba_image.c xvba-video-0.8.0-patched/src/xvba_image.c
+--- xvba-video-0.8.0/src/xvba_image.c 2011-06-14 13:07:13.000000000 +0200
++++ xvba-video-0.8.0-patched/src/xvba_image.c 2012-07-22 14:55:14.186667413 +0200
+@@ -423,7 +423,7 @@
+ }
+
+ #if USE_GLX
+-const HWImageHooks hw_image_hooks_glx attribute_hidden;
++extern const HWImageHooks hw_image_hooks_glx attribute_hidden;
+ #endif
+
+ // Commit image to the HW
diff --git a/community/xvba-video-open/xvba-video-h264-level51.patch b/community/xvba-video-open/xvba-video-h264-level51.patch
new file mode 100644
index 000000000..a617a90ab
--- /dev/null
+++ b/community/xvba-video-open/xvba-video-h264-level51.patch
@@ -0,0 +1,33 @@
+diff -rup xvba-video.orig/src/xvba_buffer.c xvba-video/src/xvba_buffer.c
+--- xvba-video.orig/src/xvba_buffer.c 2011-09-08 03:17:28.000000000 +0200
++++ xvba-video/src/xvba_buffer.c 2012-07-03 21:38:04.851465348 +0200
+@@ -368,23 +368,18 @@ translate_VAPictureParameterBufferH264(
+ obj_context->picture_height
+ );
+
+- /* Check for H.264 content over HP@L4.1 */
++ /* Check for wrongly coded H264 Level 41
++ adjust profile to Level 51 when reframes are too many
++ */
+ unsigned int num_ref_frames = pic_param->num_ref_frames;
+- if (profile == XVBA_H264_HIGH && level > 41) {
+- if (!driver_data->warn_h264_over_hp_l41) {
+- driver_data->warn_h264_over_hp_l41 = 1;
+- xvba_information_message(
+- "driver does not support H.264 content over HP@L4.1. "
+- "Please upgrade.\n"
+- );
+- }
++ if (profile == XVBA_H264_HIGH && level == 41) {
+
+- /* Use fail-safe values (lower ref frames) */
++ /* Increase Level to decode pseudo Level 41 as Level 51 */
+ const unsigned int mbw = pic_param->picture_width_in_mbs_minus1 + 1;
+ const unsigned int mbh = (obj_context->picture_height + 15) / 16;
+ const unsigned int max_ref_frames = 12288 * 1024 / (mbw * mbh * 384);
+ if (max_ref_frames < num_ref_frames)
+- num_ref_frames = max_ref_frames;
++ level = 51;
+ }
+
+ XVBABufferDescriptor * const xvba_buffer = obj_surface->pic_desc_buffer;