[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