Dominique Leuenberger 2013-07-15 10:06:12 +00:00 committed by Git OBS Bridge
parent 652a86fcc9
commit 5b2b48c004

View File

@ -10,26 +10,18 @@ Index: vlc-2.0.7/modules/codec/avcodec/vaapi.c
===================================================================
--- vlc-2.0.7.orig/modules/codec/avcodec/vaapi.c
+++ vlc-2.0.7/modules/codec/avcodec/vaapi.c
@@ -45,6 +45,11 @@
#include <libavcodec/vaapi.h>
+#ifndef VA_SURFACE_ATTRIB_SETTABLE
+#define vaCreateSurfaces(d, f, w, h, s, ns, a, na) \
+ vaCreateSurfaces(d, w, h, f, ns, s)
+#endif
+
#include <X11/Xlib.h>
#include <va/va_x11.h>
@@ -246,8 +251,8 @@ static int CreateSurfaces( vlc_va_vaapi_
@@ -246,8 +246,14 @@ static int CreateSurfaces( vlc_va_vaapi_
/* Create surfaces */
VASurfaceID pi_surface_id[p_va->i_surface_count];
- if( vaCreateSurfaces( p_va->p_display, i_width, i_height, VA_RT_FORMAT_YUV420,
- p_va->i_surface_count, pi_surface_id ) )
+/* vaCreateSurfaces API changed with version 1.2.0 */
+#if VA_CHECK_VERSION(1,2,0)
+ if( vaCreateSurfaces( p_va->p_display, VA_RT_FORMAT_YUV420, i_width, i_height,
+ pi_surface_id, p_va->i_surface_count, NULL, 0 ) )
+#else
if( vaCreateSurfaces( p_va->p_display, i_width, i_height, VA_RT_FORMAT_YUV420,
p_va->i_surface_count, pi_surface_id ) )
+#endif
{
for( int i = 0; i < p_va->i_surface_count; i++ )
p_va->p_surface[i].i_id = VA_INVALID_SURFACE;