diff options
author | Hendrik Leppkes <h.leppkes@gmail.com> | 2016-01-30 17:10:56 +0100 |
---|---|---|
committer | Hendrik Leppkes <h.leppkes@gmail.com> | 2016-02-15 12:33:50 +0100 |
commit | ccb94789e2968329947f1c2e00d019f387f9c409 (patch) | |
tree | 53477013d2dca5e3c363f78102fb901166f53c76 /libavcodec/hevc.c | |
parent | 295de3efc53efa3945c3116b5a910b1464632358 (diff) | |
download | ffmpeg-ccb94789e2968329947f1c2e00d019f387f9c409.tar.gz |
hevc: support Main10 decoding through dxva2
Diffstat (limited to 'libavcodec/hevc.c')
-rw-r--r-- | libavcodec/hevc.c | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/libavcodec/hevc.c b/libavcodec/hevc.c index 203f90ab2e..0d53a33d53 100644 --- a/libavcodec/hevc.c +++ b/libavcodec/hevc.c @@ -347,7 +347,9 @@ static int set_sps(HEVCContext *s, const HEVCSPS *sps, enum AVPixelFormat pix_fm export_stream_params(s->avctx, &s->ps, sps); - if (sps->pix_fmt == AV_PIX_FMT_YUV420P || sps->pix_fmt == AV_PIX_FMT_YUVJ420P) { + switch (sps->pix_fmt) { + case AV_PIX_FMT_YUV420P: + case AV_PIX_FMT_YUVJ420P: #if CONFIG_HEVC_DXVA2_HWACCEL *fmt++ = AV_PIX_FMT_DXVA2_VLD; #endif @@ -360,6 +362,15 @@ static int set_sps(HEVCContext *s, const HEVCSPS *sps, enum AVPixelFormat pix_fm #if CONFIG_HEVC_VDPAU_HWACCEL *fmt++ = AV_PIX_FMT_VDPAU; #endif + break; + case AV_PIX_FMT_YUV420P10: +#if CONFIG_HEVC_DXVA2_HWACCEL + *fmt++ = AV_PIX_FMT_DXVA2_VLD; +#endif +#if CONFIG_HEVC_D3D11VA_HWACCEL + *fmt++ = AV_PIX_FMT_D3D11VA_VLD; +#endif + break; } if (pix_fmt == AV_PIX_FMT_NONE) { |