mirror of
https://gitee.com/openharmony/third_party_ffmpeg
synced 2024-11-30 06:30:59 +00:00
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>
This commit is contained in:
parent
153b36fc62
commit
8fb4865901
@ -260,7 +260,8 @@ Codecs:
|
|||||||
|
|
||||||
Hardware acceleration:
|
Hardware acceleration:
|
||||||
crystalhd.c Philip Langdale
|
crystalhd.c Philip Langdale
|
||||||
dxva2* Hendrik Leppkes, Laurent Aimar
|
dxva2* Hendrik Leppkes, Laurent Aimar, Steve Lhomme
|
||||||
|
d3d11va* Steve Lhomme
|
||||||
mediacodec* Matthieu Bouron
|
mediacodec* Matthieu Bouron
|
||||||
vaapi* Gwenole Beauchesne
|
vaapi* Gwenole Beauchesne
|
||||||
vaapi_encode* Mark Thompson
|
vaapi_encode* Mark Thompson
|
||||||
|
@ -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_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) && \
|
#define DXVA_CONTEXT_VALID(avctx, ctx) (DXVA_CONTEXT_DECODER(avctx, ctx) && \
|
||||||
DXVA_CONTEXT_CFG(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
|
#elif CONFIG_DXVA2
|
||||||
#define DXVA_CONTEXT_WORKAROUND(avctx, ctx) (ctx->dxva2.workaround)
|
#define DXVA_CONTEXT_WORKAROUND(avctx, ctx) (ctx->dxva2.workaround)
|
||||||
#define DXVA_CONTEXT_COUNT(avctx, ctx) (ctx->dxva2.surface_count)
|
#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_BITSTREAM(avctx, ctx) (ctx->d3d11va.cfg->ConfigBitstreamRaw)
|
||||||
#define DXVA_CONTEXT_CFG_INTRARESID(avctx, ctx) (ctx->d3d11va.cfg->ConfigIntraResidUnsigned)
|
#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_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
|
#endif
|
||||||
|
|
||||||
unsigned ff_dxva2_get_surface_index(const AVCodecContext *avctx,
|
unsigned ff_dxva2_get_surface_index(const AVCodecContext *avctx,
|
||||||
|
@ -29,7 +29,7 @@
|
|||||||
|
|
||||||
#define LIBAVCODEC_VERSION_MAJOR 57
|
#define LIBAVCODEC_VERSION_MAJOR 57
|
||||||
#define LIBAVCODEC_VERSION_MINOR 72
|
#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, \
|
#define LIBAVCODEC_VERSION_INT AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \
|
||||||
LIBAVCODEC_VERSION_MINOR, \
|
LIBAVCODEC_VERSION_MINOR, \
|
||||||
|
Loading…
Reference in New Issue
Block a user