Browse Source

dont trash table in GET_VLC

Originally committed as revision 741 to svn://svn.ffmpeg.org/ffmpeg/trunk
tags/v0.5
Michael Niedermayer 23 years ago
parent
commit
6300c80a88
2 changed files with 3 additions and 6 deletions
  1. +1
    -1
      libavcodec/common.c
  2. +2
    -5
      libavcodec/common.h

+ 1
- 1
libavcodec/common.c View File

@@ -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;


+ 2
- 5
libavcodec/common.h View File

@@ -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];\
}\


Loading…
Cancel
Save