diff options
author | Anton Khirnov <anton@khirnov.net> | 2016-10-02 08:51:32 +0200 |
---|---|---|
committer | Anton Khirnov <anton@khirnov.net> | 2016-12-19 08:13:08 +0100 |
commit | ea8b730d8e67152107d7fcdd5590bbb51ec236b1 (patch) | |
tree | d0c99fe8db6b223fee7b1b77647c90fa8ac4a50f /libavcodec/hevcdec.c | |
parent | 1783d7ec03d730c5bd96c07bc5fa7aa566f85c66 (diff) | |
download | ffmpeg-ea8b730d8e67152107d7fcdd5590bbb51ec236b1.tar.gz |
hevcdec: add a VAAPI hwaccel
Partially based on a patch by Timo Rothenpieler <timo@rothenpieler.org>.
Additional scaling list handling fix by Jun Zhao <mypopydev@gmail.com>.
Diffstat (limited to 'libavcodec/hevcdec.c')
-rw-r--r-- | libavcodec/hevcdec.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/libavcodec/hevcdec.c b/libavcodec/hevcdec.c index 147243e3fe..8326690038 100644 --- a/libavcodec/hevcdec.c +++ b/libavcodec/hevcdec.c @@ -382,7 +382,8 @@ static void export_stream_params(AVCodecContext *avctx, const HEVCParamSets *ps, static enum AVPixelFormat get_format(HEVCContext *s, const HEVCSPS *sps) { - #define HWACCEL_MAX (CONFIG_HEVC_DXVA2_HWACCEL + CONFIG_HEVC_D3D11VA_HWACCEL + CONFIG_HEVC_VDPAU_HWACCEL) + #define HWACCEL_MAX (CONFIG_HEVC_DXVA2_HWACCEL + CONFIG_HEVC_D3D11VA_HWACCEL + \ + CONFIG_HEVC_VAAPI_HWACCEL + CONFIG_HEVC_VDPAU_HWACCEL) enum AVPixelFormat pix_fmts[HWACCEL_MAX + 2], *fmt = pix_fmts; if (sps->pix_fmt == AV_PIX_FMT_YUV420P || sps->pix_fmt == AV_PIX_FMT_YUVJ420P || @@ -390,6 +391,9 @@ static enum AVPixelFormat get_format(HEVCContext *s, const HEVCSPS *sps) #if CONFIG_HEVC_DXVA2_HWACCEL *fmt++ = AV_PIX_FMT_DXVA2_VLD; #endif +#if CONFIG_HEVC_VAAPI_HWACCEL + *fmt++ = AV_PIX_FMT_VAAPI; +#endif } if (sps->pix_fmt == AV_PIX_FMT_YUV420P || sps->pix_fmt == AV_PIX_FMT_YUVJ420P) { #if CONFIG_HEVC_D3D11VA_HWACCEL |