Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/FFmpeg/FFmpeg.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHendrik Leppkes <h.leppkes@gmail.com>2016-01-30 19:10:56 +0300
committerHendrik Leppkes <h.leppkes@gmail.com>2016-02-15 14:33:50 +0300
commitccb94789e2968329947f1c2e00d019f387f9c409 (patch)
tree53477013d2dca5e3c363f78102fb901166f53c76 /libavcodec/hevc.c
parent295de3efc53efa3945c3116b5a910b1464632358 (diff)
hevc: support Main10 decoding through dxva2
Diffstat (limited to 'libavcodec/hevc.c')
-rw-r--r--libavcodec/hevc.c13
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) {