[FFmpeg-cvslog] hevc: support Main10 decoding through dxva2

Hendrik Leppkes git at videolan.org
Mon Feb 15 12:42:39 CET 2016


ffmpeg | branch: master | Hendrik Leppkes <h.leppkes at gmail.com> | Sat Jan 30 17:10:56 2016 +0100| [ccb94789e2968329947f1c2e00d019f387f9c409] | committer: Hendrik Leppkes

hevc: support Main10 decoding through dxva2

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=ccb94789e2968329947f1c2e00d019f387f9c409
---

 Changelog            |    1 +
 libavcodec/hevc.c    |   13 ++++++++++++-
 libavcodec/version.h |    2 +-
 3 files changed, 14 insertions(+), 2 deletions(-)

diff --git a/Changelog b/Changelog
index 96a9955..1c60cde 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 203f90a..0d53a33 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 37a35e0..08140b0 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, \



More information about the ffmpeg-cvslog mailing list