[FFmpeg-devel] [PATCH v3 1/5] libavutil: some VAAPI infrastructure

Mark Thompson sw at jkqxz.net
Tue Jan 19 02:16:07 CET 2016


On 19/01/16 00:18, Michael Niedermayer wrote:
> On Mon, Jan 18, 2016 at 10:49:51PM +0000, Mark Thompson wrote:
>>
>> ---
>>  configure          |   4 +
>>  libavutil/Makefile |   1 +
>>  libavutil/vaapi.c  | 497 +++++++++++++++++++++++++++++++++++++++++++++++++++++
>>  libavutil/vaapi.h  | 123 +++++++++++++
>>  4 files changed, 625 insertions(+)
>>  create mode 100644 libavutil/vaapi.c
>>  create mode 100644 libavutil/vaapi.h
> 
> breaks build
> make distclean ; ./configure && make -j12
> ...
> 
> CC      libavutil/time.o
> CC      libavutil/timecode.o
> CC      libavutil/tree.o
> CC      libavutil/twofish.o
> CC      libavutil/utils.o
> CC      libavutil/vaapi.o
> CC      libavutil/x86/cpu.o
> In file included from libavutil/vaapi.c:23:0:
> libavutil/vaapi.h:63:5: error: unknown type name ‘VASurfaceAttrib’
> libavutil/vaapi.c: In function ‘vaapi_create_surfaces’:
> libavutil/vaapi.c:59:28: warning: passing argument 5 of ‘vaCreateSurfaces’ makes integer from pointer without a cast [enabled by default]
> /usr/include/va/va.h:432:10: note: expected ‘int’ but argument is of type ‘VASurfaceID *’
> libavutil/vaapi.c:59:28: warning: passing argument 6 of ‘vaCreateSurfaces’ makes pointer from integer without a cast [enabled by default]
> /usr/include/va/va.h:432:10: note: expected ‘VASurfaceID *’ but argument is of type ‘unsigned int’
> libavutil/vaapi.c:59:28: error: too many arguments to function ‘vaCreateSurfaces’
> /usr/include/va/va.h:432:10: note: declared here
> libavutil/vaapi.c: In function ‘ff_vaapi_copy_to_surface’:
> libavutil/vaapi.c:447:9: error: ‘VA_FOURCC_BGRX’ undeclared (first use in this function)
> libavutil/vaapi.c:447:9: note: each undeclared identifier is reported only once for each function it appears in
> make: *** [libavutil/vaapi.o] Error 1
> make: *** Waiting for unfinished jobs....
> 

Given the old vaCreateSurfaces you must have libva < 1.2.  libva >= 1.6 was stated as the requirement for now in the first email, though even done properly your setup would have everything here disabled at configure time.

I think the configure test will be looking for libva 1.2.1 / VAAPI 0.34 for most of this and libva 1.6.0 / VAAPI 0.37 for H.265 (with suitable ifdefs), though more testing is needed to know that those do actually always work.  (I have been using libva 1.6.2 / VAAPI 0.38.)

I'll write something sensible for that test and associated conditionals in the next version, even if it isn't exactly correct.

- Mark



More information about the ffmpeg-devel mailing list