[FFmpeg-devel] [PATCH] avcodec/cbs_vp8: Don't leave out ... in calls to variadic macros

Andreas Rheinhardt andreas.rheinhardt at outlook.com
Wed Feb 21 19:04:53 EET 2024


Andreas Rheinhardt:
> It is undefined behaviour (see C11, 6.10.3 (4); see also
> 14dd0a9057019e97ff9438f6cc1502f6922acb85).
> 
> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt at outlook.com>
> ---
>  libavcodec/cbs_vp8.c | 10 +++++-----
>  1 file changed, 5 insertions(+), 5 deletions(-)
> 
> diff --git a/libavcodec/cbs_vp8.c b/libavcodec/cbs_vp8.c
> index eabdef358f..1f7e81cfe6 100644
> --- a/libavcodec/cbs_vp8.c
> +++ b/libavcodec/cbs_vp8.c
> @@ -223,19 +223,19 @@ static int cbs_vp8_read_unsigned_le(CodedBitstreamContext *ctx, GetBitContext *g
>  #define SUBSCRIPTS(subs, ...) \
>      (subs > 0 ? ((int[subs + 1]){subs, __VA_ARGS__}) : NULL)
>  
> -#define f(width, name) xf(width, name, 0)
> +#define f(width, name) xf(width, name, 0, )
>  
>  // bool [de|en]coder methods.
> -#define bc_f(width, name) bc_unsigned_subs(width, DEFAULT_PROB, true, name, 0)
> -#define bc_s(width, name) bc_signed_subs(width, DEFAULT_PROB, name, 0)
> +#define bc_f(width, name) bc_unsigned_subs(width, DEFAULT_PROB, true, name, 0, )
> +#define bc_s(width, name) bc_signed_subs(width, DEFAULT_PROB, name, 0, )
>  #define bc_fs(width, name, subs, ...) \
>      bc_unsigned_subs(width, DEFAULT_PROB, true, name, subs, __VA_ARGS__)
>  #define bc_ss(width, name, subs, ...) \
>      bc_signed_subs(width, DEFAULT_PROB, name, subs, __VA_ARGS__)
>  
>  // bool [de|en]coder methods for boolean value and disable tracing.
> -#define bc_b(name) bc_unsigned_subs(1, DEFAULT_PROB, false, name, 0)
> -#define bc_b_prob(prob, name) bc_unsigned_subs(1, prob, false, name, 0)
> +#define bc_b(name) bc_unsigned_subs(1, DEFAULT_PROB, false, name, 0, )
> +#define bc_b_prob(prob, name) bc_unsigned_subs(1, prob, false, name, 0, )
>  
>  #define READ
>  #define READWRITE read

Will apply this patch tomorrow unless there are objections.

- Andreas



More information about the ffmpeg-devel mailing list