summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHendrik Leppkes <h.leppkes@gmail.com>2016-01-30 17:10:56 +0100
committerHendrik Leppkes <h.leppkes@gmail.com>2016-02-15 12:33:50 +0100
commitccb94789e2968329947f1c2e00d019f387f9c409 (patch)
tree53477013d2dca5e3c363f78102fb901166f53c76
parent295de3efc53efa3945c3116b5a910b1464632358 (diff)
hevc: support Main10 decoding through dxva2
-rw-r--r--Changelog1
-rw-r--r--libavcodec/hevc.c13
-rw-r--r--libavcodec/version.h2
3 files changed, 14 insertions, 2 deletions
diff --git a/Changelog b/Changelog
index 96a9955860..1c60cde887 100644
--- a/Changelog
+++ b/Changelog
@@ -2,6 +2,7 @@ Entries are sorted chronologically from oldest to youngest within each release,
releases are sorted from youngest to oldest.
version <next>:
+- DXVA2-accelerated HEVC Main10 decoding
version 3.0:
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) {
diff --git a/libavcodec/version.h b/libavcodec/version.h
index 37a35e05ef..08140b04cd 100644
--- a/libavcodec/version.h
+++ b/libavcodec/version.h
@@ -30,7 +30,7 @@
#define LIBAVCODEC_VERSION_MAJOR 57
#define LIBAVCODEC_VERSION_MINOR 24
-#define LIBAVCODEC_VERSION_MICRO 102
+#define LIBAVCODEC_VERSION_MICRO 103
#define LIBAVCODEC_VERSION_INT AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \
LIBAVCODEC_VERSION_MINOR, \