diff options
author | Steve Lhomme <robux4@gmail.com> | 2017-01-13 14:01:07 +0100 |
---|---|---|
committer | Michael Niedermayer <michael@niedermayer.cc> | 2017-01-16 02:54:04 +0100 |
commit | 8fb48659018f17827c2d5a3ba72263f421fdfa2d (patch) | |
tree | d6548da5046a4958b1bc05b72bf5accf284b25ca | |
parent | 153b36fc62849e0e1540a43829794e0503994ebb (diff) | |
download | ffmpeg-8fb48659018f17827c2d5a3ba72263f421fdfa2d.tar.gz |
dxva2: allow an empty array of ID3D11VideoDecoderOutputView
We can pick the correct slice index directly from the ID3D11VideoDecoderOutputView
casted from data[3].
Also added myself as maintainer for DXVA2 and D3D11VA.
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
-rw-r--r-- | MAINTAINERS | 3 | ||||
-rw-r--r-- | libavcodec/dxva2_internal.h | 4 | ||||
-rw-r--r-- | libavcodec/version.h | 2 |
3 files changed, 5 insertions, 4 deletions
diff --git a/MAINTAINERS b/MAINTAINERS index cb9516d39d..981d71b195 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -260,7 +260,8 @@ Codecs: Hardware acceleration: crystalhd.c Philip Langdale - dxva2* Hendrik Leppkes, Laurent Aimar + dxva2* Hendrik Leppkes, Laurent Aimar, Steve Lhomme + d3d11va* Steve Lhomme mediacodec* Matthieu Bouron vaapi* Gwenole Beauchesne vaapi_encode* Mark Thompson diff --git a/libavcodec/dxva2_internal.h b/libavcodec/dxva2_internal.h index e5322efd54..dfff4d6b47 100644 --- a/libavcodec/dxva2_internal.h +++ b/libavcodec/dxva2_internal.h @@ -78,7 +78,7 @@ typedef union { #define DXVA_CONTEXT_CFG_RESIDACCEL(avctx, ctx) (avctx->pix_fmt == AV_PIX_FMT_D3D11VA_VLD ? ctx->d3d11va.cfg->ConfigResidDiffAccelerator : ctx->dxva2.cfg->ConfigResidDiffAccelerator) #define DXVA_CONTEXT_VALID(avctx, ctx) (DXVA_CONTEXT_DECODER(avctx, ctx) && \ DXVA_CONTEXT_CFG(avctx, ctx) && \ - DXVA_CONTEXT_COUNT(avctx, ctx)) + (avctx->pix_fmt == AV_PIX_FMT_D3D11VA_VLD || ctx->dxva2.surface_count)) #elif CONFIG_DXVA2 #define DXVA_CONTEXT_WORKAROUND(avctx, ctx) (ctx->dxva2.workaround) #define DXVA_CONTEXT_COUNT(avctx, ctx) (ctx->dxva2.surface_count) @@ -98,7 +98,7 @@ typedef union { #define DXVA_CONTEXT_CFG_BITSTREAM(avctx, ctx) (ctx->d3d11va.cfg->ConfigBitstreamRaw) #define DXVA_CONTEXT_CFG_INTRARESID(avctx, ctx) (ctx->d3d11va.cfg->ConfigIntraResidUnsigned) #define DXVA_CONTEXT_CFG_RESIDACCEL(avctx, ctx) (ctx->d3d11va.cfg->ConfigResidDiffAccelerator) -#define DXVA_CONTEXT_VALID(avctx, ctx) (ctx->d3d11va.decoder && ctx->d3d11va.cfg && ctx->d3d11va.surface_count) +#define DXVA_CONTEXT_VALID(avctx, ctx) (ctx->d3d11va.decoder && ctx->d3d11va.cfg) #endif unsigned ff_dxva2_get_surface_index(const AVCodecContext *avctx, diff --git a/libavcodec/version.h b/libavcodec/version.h index 6b3e62e17f..2a0df198ea 100644 --- a/libavcodec/version.h +++ b/libavcodec/version.h @@ -29,7 +29,7 @@ #define LIBAVCODEC_VERSION_MAJOR 57 #define LIBAVCODEC_VERSION_MINOR 72 -#define LIBAVCODEC_VERSION_MICRO 100 +#define LIBAVCODEC_VERSION_MICRO 101 #define LIBAVCODEC_VERSION_INT AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \ LIBAVCODEC_VERSION_MINOR, \ |