[FFmpeg-devel] [PATCH 2/8] avcodec/h264_cavlc: Remove redundant check

Andreas Rheinhardt andreas.rheinhardt at gmail.com
Sat Mar 13 01:03:21 EET 2021


Andreas Rheinhardt:
> The only caller to ff_h264_decode_init_vlc() already uses
> ff_thread_once() for the call; ergo the check via a simple int with
> static storage duration in ff_h264_decode_init_vlc() is redundant.
> And if it were not redundant, it would be a potential for data races.
> So remove it.
> 
> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt at gmail.com>
> ---
>  libavcodec/h264_cavlc.c | 5 -----
>  1 file changed, 5 deletions(-)
> 
> diff --git a/libavcodec/h264_cavlc.c b/libavcodec/h264_cavlc.c
> index 6481992e58..d0548d84f6 100644
> --- a/libavcodec/h264_cavlc.c
> +++ b/libavcodec/h264_cavlc.c
> @@ -325,12 +325,8 @@ static av_cold void init_cavlc_level_tab(void){
>  }
>  
>  av_cold void ff_h264_decode_init_vlc(void){
> -    static int done = 0;
> -
> -    if (!done) {
>          int i;
>          int offset;
> -        done = 1;
>  
>          chroma_dc_coeff_token_vlc.table = chroma_dc_coeff_token_vlc_table;
>          chroma_dc_coeff_token_vlc.table_allocated = chroma_dc_coeff_token_vlc_table_size;
> @@ -410,7 +406,6 @@ av_cold void ff_h264_decode_init_vlc(void){
>                   INIT_VLC_USE_NEW_STATIC);
>  
>          init_cavlc_level_tab();
> -    }
>  }
>  
>  static inline int get_level_prefix(GetBitContext *gb){
> 
Will apply patches 2-5 of this patchset tomorrow unless there are
objections.

- Andreas


More information about the ffmpeg-devel mailing list