lavc: external hardware frame pool initialization
authorwm4 <nfxjfg@googlemail.com>
Thu, 19 Oct 2017 14:38:20 +0000 (16:38 +0200)
committerAnton Khirnov <anton@khirnov.net>
Thu, 19 Oct 2017 15:10:59 +0000 (17:10 +0200)
commitb46a77f19ddc4b2b5fa3187835ceb602a5244e24
tree7ed4627e4115b6c3e588527779e459dd24623ffb
parentec0f4fa17ce29cf01d4def21041b0b87f7e3105d
lavc: external hardware frame pool initialization

This adds a new API, which allows the API user to query the required
AVHWFramesContext parameters. This also reduces code duplication across
the hwaccels by introducing ff_decode_get_hw_frames_ctx(), which uses
the new API function. It takes care of initializing the hw_frames_ctx
if needed, and does additional error handling and API usage checking.

Support for VDA and Cuvid missing.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
26 files changed:
doc/APIchanges
libavcodec/avcodec.h
libavcodec/decode.c
libavcodec/decode.h
libavcodec/dxva2.c
libavcodec/dxva2_h264.c
libavcodec/dxva2_hevc.c
libavcodec/dxva2_internal.h
libavcodec/dxva2_mpeg2.c
libavcodec/dxva2_vc1.c
libavcodec/vaapi_decode.c
libavcodec/vaapi_decode.h
libavcodec/vaapi_h264.c
libavcodec/vaapi_hevc.c
libavcodec/vaapi_mpeg2.c
libavcodec/vaapi_mpeg4.c
libavcodec/vaapi_vc1.c
libavcodec/vaapi_vp8.c
libavcodec/vdpau.c
libavcodec/vdpau_h264.c
libavcodec/vdpau_hevc.c
libavcodec/vdpau_internal.h
libavcodec/vdpau_mpeg12.c
libavcodec/vdpau_mpeg4.c
libavcodec/vdpau_vc1.c
libavcodec/version.h