Browse code

hevc: support Main10 decoding through dxva2

Hendrik Leppkes authored on 2016/01/31 01:10:56
Showing 3 changed files
... ...
@@ -2,6 +2,7 @@ Entries are sorted chronologically from oldest to youngest within each release,
2 2
 releases are sorted from youngest to oldest.
3 3
 
4 4
 version <next>:
5
+- DXVA2-accelerated HEVC Main10 decoding
5 6
 
6 7
 
7 8
 version 3.0:
... ...
@@ -347,7 +347,9 @@ static int set_sps(HEVCContext *s, const HEVCSPS *sps, enum AVPixelFormat pix_fm
347 347
 
348 348
     export_stream_params(s->avctx, &s->ps, sps);
349 349
 
350
-    if (sps->pix_fmt == AV_PIX_FMT_YUV420P || sps->pix_fmt == AV_PIX_FMT_YUVJ420P) {
350
+    switch (sps->pix_fmt) {
351
+    case AV_PIX_FMT_YUV420P:
352
+    case AV_PIX_FMT_YUVJ420P:
351 353
 #if CONFIG_HEVC_DXVA2_HWACCEL
352 354
         *fmt++ = AV_PIX_FMT_DXVA2_VLD;
353 355
 #endif
... ...
@@ -360,6 +362,15 @@ static int set_sps(HEVCContext *s, const HEVCSPS *sps, enum AVPixelFormat pix_fm
360 360
 #if CONFIG_HEVC_VDPAU_HWACCEL
361 361
         *fmt++ = AV_PIX_FMT_VDPAU;
362 362
 #endif
363
+        break;
364
+    case AV_PIX_FMT_YUV420P10:
365
+#if CONFIG_HEVC_DXVA2_HWACCEL
366
+        *fmt++ = AV_PIX_FMT_DXVA2_VLD;
367
+#endif
368
+#if CONFIG_HEVC_D3D11VA_HWACCEL
369
+        *fmt++ = AV_PIX_FMT_D3D11VA_VLD;
370
+#endif
371
+        break;
363 372
     }
364 373
 
365 374
     if (pix_fmt == AV_PIX_FMT_NONE) {
... ...
@@ -30,7 +30,7 @@
30 30
 
31 31
 #define LIBAVCODEC_VERSION_MAJOR  57
32 32
 #define LIBAVCODEC_VERSION_MINOR  24
33
-#define LIBAVCODEC_VERSION_MICRO 102
33
+#define LIBAVCODEC_VERSION_MICRO 103
34 34
 
35 35
 #define LIBAVCODEC_VERSION_INT  AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \
36 36
                                                LIBAVCODEC_VERSION_MINOR, \