From 6300c80a8889491a2d5c755b7f7cb7d7b7062270 Mon Sep 17 00:00:00 2001 From: Michael Niedermayer Date: Thu, 11 Jul 2002 12:42:20 +0000 Subject: [PATCH] dont trash table in GET_VLC Originally committed as revision 741 to svn://svn.ffmpeg.org/ffmpeg/trunk --- libavcodec/common.c | 2 +- libavcodec/common.h | 7 ++----- 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/libavcodec/common.c b/libavcodec/common.c index abfa190..63d17b6 100644 --- a/libavcodec/common.c +++ b/libavcodec/common.c @@ -286,7 +286,7 @@ static int build_table(VLC *vlc, int table_nb_bits, return -1; /* note: realloc has been done, so reload tables */ table = &vlc->table[table_index]; - table[i][0] = index - table_index; //code + table[i][0] = index; //code } } return table_index; diff --git a/libavcodec/common.h b/libavcodec/common.h index 8044880..13ac069 100644 --- a/libavcodec/common.h +++ b/libavcodec/common.h @@ -724,7 +724,6 @@ int init_vlc(VLC *vlc, int nb_bits, int nb_codes, const void *codes, int codes_wrap, int codes_size); void free_vlc(VLC *vlc); -//note table will be trashed (pointer increased) #define GET_VLC(code, name, gb, table, bits, max_depth)\ {\ int n, index, nb_bits;\ @@ -738,9 +737,8 @@ void free_vlc(VLC *vlc); UPDATE_CACHE(name, gb)\ \ nb_bits = -n;\ - table += code;\ \ - index= SHOW_UBITS(name, gb, nb_bits);\ + index= SHOW_UBITS(name, gb, nb_bits) + code;\ code = table[index][0];\ n = table[index][1];\ if(max_depth > 2 && n < 0){\ @@ -748,9 +746,8 @@ void free_vlc(VLC *vlc); UPDATE_CACHE(name, gb)\ \ nb_bits = -n;\ - table += code;\ \ - index= SHOW_UBITS(name, gb, nb_bits);\ + index= SHOW_UBITS(name, gb, nb_bits) + code;\ code = table[index][0];\ n = table[index][1];\ }\ -- 2.7.4