avcodec/avcodec: remove usage of __typeof__()

It's non-standard C.

Reviewed-by: Martin Storsjö <martin@martin.st>
Signed-off-by: James Almer <jamrial@gmail.com>
This commit is contained in:
James Almer 2024-09-08 16:21:41 -03:00
parent b4e918221c
commit fdf8025eb6

View File

@ -708,9 +708,9 @@ int attribute_align_arg avcodec_receive_frame(AVCodecContext *avctx, AVFrame *fr
return ff_encode_receive_frame(avctx, frame);
}
#define WRAP_CONFIG(allowed_type, field, terminator) \
#define WRAP_CONFIG(allowed_type, field, field_type, terminator) \
do { \
static const __typeof__(*(field)) end = terminator; \
static const field_type end = terminator; \
if (codec->type != (allowed_type)) \
return AVERROR(EINVAL); \
*out_configs = (field); \
@ -753,15 +753,15 @@ int ff_default_get_supported_config(const AVCodecContext *avctx,
switch (config) {
FF_DISABLE_DEPRECATION_WARNINGS
case AV_CODEC_CONFIG_PIX_FORMAT:
WRAP_CONFIG(AVMEDIA_TYPE_VIDEO, codec->pix_fmts, AV_PIX_FMT_NONE);
WRAP_CONFIG(AVMEDIA_TYPE_VIDEO, codec->pix_fmts, enum AVPixelFormat, AV_PIX_FMT_NONE);
case AV_CODEC_CONFIG_FRAME_RATE:
WRAP_CONFIG(AVMEDIA_TYPE_VIDEO, codec->supported_framerates, (AVRational){0});
WRAP_CONFIG(AVMEDIA_TYPE_VIDEO, codec->supported_framerates, AVRational, {0});
case AV_CODEC_CONFIG_SAMPLE_RATE:
WRAP_CONFIG(AVMEDIA_TYPE_AUDIO, codec->supported_samplerates, 0);
WRAP_CONFIG(AVMEDIA_TYPE_AUDIO, codec->supported_samplerates, int, 0);
case AV_CODEC_CONFIG_SAMPLE_FORMAT:
WRAP_CONFIG(AVMEDIA_TYPE_AUDIO, codec->sample_fmts, AV_SAMPLE_FMT_NONE);
WRAP_CONFIG(AVMEDIA_TYPE_AUDIO, codec->sample_fmts, enum AVSampleFormat, AV_SAMPLE_FMT_NONE);
case AV_CODEC_CONFIG_CHANNEL_LAYOUT:
WRAP_CONFIG(AVMEDIA_TYPE_AUDIO, codec->ch_layouts, (AVChannelLayout){0});
WRAP_CONFIG(AVMEDIA_TYPE_AUDIO, codec->ch_layouts, AVChannelLayout, {0});
FF_ENABLE_DEPRECATION_WARNINGS
case AV_CODEC_CONFIG_COLOR_RANGE: