[FFmpeg-devel] [PATCH]lavc/dxva2_internal: Cast dxva2 and d3d11 decoders and cfgs to (void *)

Carl Eugen Hoyos ceffmpeg at gmail.com
Wed Apr 18 21:29:52 EEST 2018


2018-04-16 1:08 GMT+02:00, James Almer <jamrial at gmail.com>:
> On 4/15/2018 7:00 PM, Carl Eugen Hoyos wrote:
>> Hi!
>>
>> Attached patch is supposed to silence several user-reported warnings,
>> I cannot currently test here.
>>
>> Please review, Carl Eugen
>>
>>
>> 0001-lavc-dxva2_internal-Cast-the-dxva2-and-d3d11-decoder.patch
>>
>>
>> From 6fb20352568dc5abe61c28247bfce9e04e7494c1 Mon Sep 17 00:00:00 2001
>> From: Carl Eugen Hoyos <ceffmpeg at gmail.com>
>> Date: Sun, 15 Apr 2018 23:57:24 +0200
>> Subject: [PATCH] lavc/dxva2_internal: Cast the dxva2 and d3d11 decoders
>> and
>>  cfgs to (void *).
>>
>> Silences several warnings:
>> libavcodec/dxva2_internal.h:107:98: warning: pointer type mismatch in
>> conditional expression
>> libavcodec/dxva2_internal.h:109:94: warning: pointer type mismatch in
>> conditional expression
>> ---
>>  libavcodec/dxva2_internal.h |    4 ++--
>>  1 file changed, 2 insertions(+), 2 deletions(-)
>>
>> diff --git a/libavcodec/dxva2_internal.h b/libavcodec/dxva2_internal.h
>> index 8bb3344..b822af5 100644
>> --- a/libavcodec/dxva2_internal.h
>> +++ b/libavcodec/dxva2_internal.h
>> @@ -104,9 +104,9 @@ typedef struct FFDXVASharedContext {
>>  #if CONFIG_D3D11VA && CONFIG_DXVA2
>>  #define DXVA_CONTEXT_WORKAROUND(avctx, ctx)     (ff_dxva2_is_d3d11(avctx)
>> ? ctx->d3d11va.workaround : ctx->dxva2.workaround)
>>  #define DXVA_CONTEXT_COUNT(avctx, ctx)          (ff_dxva2_is_d3d11(avctx)
>> ? ctx->d3d11va.surface_count : ctx->dxva2.surface_count)
>> -#define DXVA_CONTEXT_DECODER(avctx, ctx)        (ff_dxva2_is_d3d11(avctx)
>> ? ctx->d3d11va.decoder : ctx->dxva2.decoder)
>> +#define DXVA_CONTEXT_DECODER(avctx, ctx)        (ff_dxva2_is_d3d11(avctx)
>> ? (void *)ctx->d3d11va.decoder : (void *)ctx->dxva2.decoder)
>>  #define DXVA_CONTEXT_REPORT_ID(avctx, ctx)
>> (*(ff_dxva2_is_d3d11(avctx) ? &ctx->d3d11va.report_id :
>> &ctx->dxva2.report_id))
>> -#define DXVA_CONTEXT_CFG(avctx, ctx)            (ff_dxva2_is_d3d11(avctx)
>> ? ctx->d3d11va.cfg : ctx->dxva2.cfg)
>> +#define DXVA_CONTEXT_CFG(avctx, ctx)            (ff_dxva2_is_d3d11(avctx)
>> ? (void *)ctx->d3d11va.cfg : (void *)ctx->dxva2.cfg)
>>  #define DXVA_CONTEXT_CFG_BITSTREAM(avctx, ctx)  (ff_dxva2_is_d3d11(avctx)
>> ? ctx->d3d11va.cfg->ConfigBitstreamRaw :
>> ctx->dxva2.cfg->ConfigBitstreamRaw)
>>  #define DXVA_CONTEXT_CFG_INTRARESID(avctx, ctx) (ff_dxva2_is_d3d11(avctx)
>> ? ctx->d3d11va.cfg->ConfigIntraResidUnsigned :
>> ctx->dxva2.cfg->ConfigIntraResidUnsigned)
>>  #define DXVA_CONTEXT_CFG_RESIDACCEL(avctx, ctx) (ff_dxva2_is_d3d11(avctx)
>> ? ctx->d3d11va.cfg->ConfigResidDiffAccelerator :
>> ctx->dxva2.cfg->ConfigResidDiffAccelerator)
>> -- 1.7.10.4
>
> Can also confirm it removes the warnings (Which were really annoying for
> that matter), so LGTM.

Patch applied.

Thank you, Carl Eugen


More information about the ffmpeg-devel mailing list