You've already forked FFmpeg
							
							
				mirror of
				https://github.com/FFmpeg/FFmpeg.git
				synced 2025-10-30 23:18:11 +02:00 
			
		
		
		
	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; | ||||
|             /* 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; | ||||
|   | ||||
| @@ -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];\ | ||||
|         }\ | ||||
|   | ||||
		Reference in New Issue
	
	Block a user