dont trash table in GET_VLC
Originally committed as revision 741 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
@ -286,7 +286,7 @@ static int build_table(VLC *vlc, int table_nb_bits,
|
|||||||
return -1;
|
return -1;
|
||||||
/* note: realloc has been done, so reload tables */
|
/* note: realloc has been done, so reload tables */
|
||||||
table = &vlc->table[table_index];
|
table = &vlc->table[table_index];
|
||||||
table[i][0] = index - table_index; //code
|
table[i][0] = index; //code
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return table_index;
|
return table_index;
|
||||||
|
@ -724,7 +724,6 @@ int init_vlc(VLC *vlc, int nb_bits, int nb_codes,
|
|||||||
const void *codes, int codes_wrap, int codes_size);
|
const void *codes, int codes_wrap, int codes_size);
|
||||||
void free_vlc(VLC *vlc);
|
void free_vlc(VLC *vlc);
|
||||||
|
|
||||||
//note table will be trashed (pointer increased)
|
|
||||||
#define GET_VLC(code, name, gb, table, bits, max_depth)\
|
#define GET_VLC(code, name, gb, table, bits, max_depth)\
|
||||||
{\
|
{\
|
||||||
int n, index, nb_bits;\
|
int n, index, nb_bits;\
|
||||||
@ -738,9 +737,8 @@ void free_vlc(VLC *vlc);
|
|||||||
UPDATE_CACHE(name, gb)\
|
UPDATE_CACHE(name, gb)\
|
||||||
\
|
\
|
||||||
nb_bits = -n;\
|
nb_bits = -n;\
|
||||||
table += code;\
|
|
||||||
\
|
\
|
||||||
index= SHOW_UBITS(name, gb, nb_bits);\
|
index= SHOW_UBITS(name, gb, nb_bits) + code;\
|
||||||
code = table[index][0];\
|
code = table[index][0];\
|
||||||
n = table[index][1];\
|
n = table[index][1];\
|
||||||
if(max_depth > 2 && n < 0){\
|
if(max_depth > 2 && n < 0){\
|
||||||
@ -748,9 +746,8 @@ void free_vlc(VLC *vlc);
|
|||||||
UPDATE_CACHE(name, gb)\
|
UPDATE_CACHE(name, gb)\
|
||||||
\
|
\
|
||||||
nb_bits = -n;\
|
nb_bits = -n;\
|
||||||
table += code;\
|
|
||||||
\
|
\
|
||||||
index= SHOW_UBITS(name, gb, nb_bits);\
|
index= SHOW_UBITS(name, gb, nb_bits) + code;\
|
||||||
code = table[index][0];\
|
code = table[index][0];\
|
||||||
n = table[index][1];\
|
n = table[index][1];\
|
||||||
}\
|
}\
|
||||||
|
Reference in New Issue
Block a user