[FFmpeg-devel] [PATCH 60/61] avcodec/wmavoice: Avoid unnecessary VLC structure

Andreas Rheinhardt andreas.rheinhardt at outlook.com
Wed Sep 27 01:17:31 EEST 2023


Everything besides VLC.table is basically write-only
and even VLC.table can be removed by accessing the
underlying table directly.

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt at outlook.com>
---
 libavcodec/wmavoice.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/libavcodec/wmavoice.c b/libavcodec/wmavoice.c
index dd7cc64d63..4e93aadab2 100644
--- a/libavcodec/wmavoice.c
+++ b/libavcodec/wmavoice.c
@@ -60,7 +60,7 @@
 /**
  * Frame type VLC coding.
  */
-static VLC frame_type_vlc;
+static VLCElem frame_type_vlc[132];
 
 /**
  * Adaptive codebook types.
@@ -320,9 +320,9 @@ static av_cold void wmavoice_init_static_data(void)
         14, 14, 14, 14
     };
 
-    VLC_INIT_STATIC_FROM_LENGTHS(&frame_type_vlc, VLC_NBITS,
-                                 FF_ARRAY_ELEMS(bits), bits,
-                                 1, NULL, 0, 0, 0, 0, 132);
+    VLC_INIT_STATIC_TABLE_FROM_LENGTHS(frame_type_vlc, VLC_NBITS,
+                                       FF_ARRAY_ELEMS(bits), bits,
+                                       1, NULL, 0, 0, 0, 0);
 }
 
 static av_cold void wmavoice_flush(AVCodecContext *ctx)
@@ -1503,7 +1503,7 @@ static int synth_frame(AVCodecContext *ctx, GetBitContext *gb, int frame_idx,
     int pitch[MAX_BLOCKS], av_uninit(last_block_pitch);
 
     /* Parse frame type ("frame header"), see frame_descs */
-    int bd_idx = s->vbm_tree[get_vlc2(gb, frame_type_vlc.table, 6, 3)], block_nsamples;
+    int bd_idx = s->vbm_tree[get_vlc2(gb, frame_type_vlc, 6, 3)], block_nsamples;
 
     if (bd_idx < 0) {
         av_log(ctx, AV_LOG_ERROR,
-- 
2.34.1



More information about the ffmpeg-devel mailing list