[vlc-devel] vlc head build fails @ `make`: "error: too few arguments to function ‘vaCreateSurfaces’", with libavcodec 55.16.100

darx at sent.com darx at sent.com
Fri Jun 14 03:48:29 CEST 2013


hi,

i'm build from vlc-git, working on compat with newest libavcodec,

	git log | head -n 10
		commit 4c19f003225869c7e5ad831e4431550d6666e6b5
		Author: Rémi Denis-Courmont <remi at remlab.net>
		Date:   Thu Jun 13 21:35:53 2013 +0300

		    XCB: split picture (X11/XV) and events (all) header
		    
		    This fixes namespace pollution of picture_sys_t.

		commit 93194970cf0f250b6c32fb412ef40c7195107e89
		Author: Rémi Denis-Courmont <remi at remlab.net>

where

	pkg-config --modversion --libs --cflags libavcodec
		55.16.100
		-I/usr/local/include  -L/usr/local/lib64 -lavcodec  

configuring with

	./configure \
	--prefix=/usr/local/vlc-test \
	--enable-shared --disable-static \
	--with-gnu-ld \
	--enable-bluray \
	--enable-lua \
	--enable-vlc \
	--disable-sid \
	--enable-rpath \
	--disable-bonjour \
	--enable-udev \
	--enable-mtp \
	--enable-upnp \
	--disable-pulse \
	--enable-alsa \
	--disable-oss \
	--enable-qt

`make` currently fails,

	make
		...
		  CCLD     libedummy_plugin.la
		  CCLD     libavcodec_plugin.la
		  CC       libvaapi_plugin_la-vaapi.lo
		In file included from avcodec/avcodec.h:25:0,
		                 from avcodec/vaapi.c:40:
		avcodec/avcommon.h: In function ‘vlc_init_avformat’:
		avcodec/avcommon.h:57:5: warning:
		‘av_set_cpu_flags_mask’ is deprecated (declared at
		/usr/local/include/libavutil/cpu.h:82)
		[-Wdeprecated-declarations]
		     av_set_cpu_flags_mask( INT_MAX & ~GetVlcDspMask()
		     );
		     ^
		avcodec/vaapi.c: In function ‘CreateSurfaces’:
		avcodec/vaapi.c:262:27: warning: passing argument 5 of
		‘vaCreateSurfaces’ makes pointer from integer without a
		cast [enabled by default]
		                           p_va->i_surface_count,
		                           pi_surface_id ) )
		                           ^
		In file included from
		/usr/local/include/va/va_x11.h:27:0,
		                 from avcodec/vaapi.c:38:
		/usr/local/include/va/va.h:792:1: note: expected
		‘VASurfaceID *’ but argument is of type ‘int’
		 vaCreateSurfaces(
		 ^
		avcodec/vaapi.c:262:27: warning: passing argument 6 of
		‘vaCreateSurfaces’ makes integer from pointer without a
		cast [enabled by default]
		                           p_va->i_surface_count,
		                           pi_surface_id ) )
		                           ^
		In file included from
		/usr/local/include/va/va_x11.h:27:0,
		                 from avcodec/vaapi.c:38:
		/usr/local/include/va/va.h:792:1: note: expected
		‘unsigned int’ but argument is of type ‘VASurfaceID *’
		 vaCreateSurfaces(
		 ^
		avcodec/vaapi.c:262:27: error: too few arguments to
		function ‘vaCreateSurfaces’
		                           p_va->i_surface_count,
		                           pi_surface_id ) )
		                           ^
		In file included from
		/usr/local/include/va/va_x11.h:27:0,
		                 from avcodec/vaapi.c:38:
		/usr/local/include/va/va.h:792:1: note: declared here
		 vaCreateSurfaces(
		 ^
		make[4]: *** [libvaapi_plugin_la-vaapi.lo] Error 1
		make[4]: Leaving directory
		`/usr/local/src/vlc-master/modules/codec'
		make[3]: *** [all] Error 2
		make[3]: Leaving directory
		`/usr/local/src/vlc-master/modules/codec'
		make[2]: *** [all-recursive] Error 1
		make[2]: Leaving directory
		`/usr/local/src/vlc-master/modules'
		make[1]: *** [all-recursive] Error 1
		make[1]: Leaving directory `/usr/local/src/vlc-master'
		make: *** [all] Error 2

@ configure's

	"libavutil >= 0.52.4 and libavcodec >= 54.36.0 are required for
	VDPAU decoding"

seems to indicates that latest VLC src *is* compatible with latest
libavcodec ...

is this a vlc src bug, or a promlem of API?



More information about the vlc-devel mailing list