[FFmpeg-devel] [PATCH 00/16] vaapi: Improve infrastructure, add VP8 support

Mark Thompson sw at jkqxz.net
Sun Jan 8 20:08:38 EET 2017


Hi,

This merges the improved VAAPI decode infrastructure from libav, with various related parts updated to work together.

The aims of this series are:
* Remove struct vaapi_context and move everything it used to do into lavc.
* Simplify VAAPI support in the ffmpeg utility, using generic hwcontext code.
* Add hwaccel hooks for VP8 and use them to add VAAPI VP8 decode support.
* Generally clean up the VAAPI decoding code so that it's easier to debug and change.

The removal of struct vaapi_context is backward compatible - the structure is deprecated, but will continue to work until it gets removed in a future version bump.

The patches are:
1-4:   Some preparatory work to clean up the existing code and make the following patches simpler.
5:     Add the new VAAPI decode infrastructure.  Several patches are combined to avoid an intermediate with minor bugs which were later fixed in libav.
6-10:  Convert the VAAPI hwaccels which are also present in libav.
11:    Convert the VP9 hwaccel, which is not in libav.
12:    Change the ffmpeg utility to use the new infrastructure.
13:    Deprecate struct vaapi_context and remove the old infrastructure.
14:    Add hwaccel hooks to the generic VP8 code.
15:    Add the VAAPI VP8 decode hwaccel.
16:    Fix profiles to make VP8 decoding actually work.

Tested on Skylake, Kaby Lake and Polaris; with ffmpeg (uses new infrastructure) and mpv (uses the struct vaapi_context compatibility).  More testing on other platforms or with other lavc users welcome.

Thanks,

- Mark


More information about the ffmpeg-devel mailing list