diff mbox series

[FFmpeg-devel,v2,090/162] avcodec/atrac3plus: Simplify creating VLCs

Message ID 20201120072116.818090-91-andreas.rheinhardt@gmail.com
State Accepted
Commit cfc473ef10ec9a924d1cd6d1c462697b31fb444d
Headers show
Series VLC, esp. init_vlc patches | expand

Checks

Context Check Description
andriy/x86_make success Make finished
andriy/x86_make_fate success Make fate finished

Commit Message

Andreas Rheinhardt Nov. 20, 2020, 7:20 a.m. UTC
Use ff_init_vlc_from_lengths() to offload the computation of the codes.

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
---
 libavcodec/atrac3plus.c | 8 ++------
 1 file changed, 2 insertions(+), 6 deletions(-)
diff mbox series

Patch

diff --git a/libavcodec/atrac3plus.c b/libavcodec/atrac3plus.c
index 6b046a887e..f527d3b9fc 100644
--- a/libavcodec/atrac3plus.c
+++ b/libavcodec/atrac3plus.c
@@ -51,9 +51,7 @@  static av_cold void build_canonical_huff(const uint8_t *cb, const uint8_t *xlat,
                                          int *tab_offset, VLC *out_vlc)
 {
     int i, b;
-    uint16_t codes[256];
     uint8_t bits[256];
-    unsigned code = 0;
     int index = 0;
     int min_len = *cb++; // get shortest codeword length
     int max_len = *cb++; // get longest  codeword length
@@ -62,17 +60,15 @@  static av_cold void build_canonical_huff(const uint8_t *cb, const uint8_t *xlat,
         for (i = *cb++; i > 0; i--) {
             av_assert0(index < 256);
             bits[index]  = b;
-            codes[index] = code++;
             index++;
         }
-        code <<= 1;
     }
 
     out_vlc->table = &tables_data[*tab_offset];
     out_vlc->table_allocated = 1 << max_len;
 
-    ff_init_vlc_sparse(out_vlc, max_len, index, bits, 1, 1, codes, 2, 2,
-                       xlat, 1, 1, INIT_VLC_USE_NEW_STATIC);
+    ff_init_vlc_from_lengths(out_vlc, max_len, index, bits, 1,
+                             xlat, 1, 1, 0, INIT_VLC_USE_NEW_STATIC, NULL);
 
     *tab_offset += 1 << max_len;
 }