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

Andreas Rheinhardt andreas.rheinhardt at gmail.com
Wed Mar 10 03:05:55 EET 2021


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){
-- 
2.27.0



More information about the ffmpeg-devel mailing list