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
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel

Reply via email to