avcodec/vlc: Add macro for ff_init_vlc_sparse()
ff_init_vlc_sparse() supports arrays of uint8_t, uint16_t and uint32_t as input (and it also supports padding/other elements in between the elements). This makes the typical case in which the input is a simple array more cumbersome. E.g. for an array of uint8_t one would either need to call the function with arguments like "array, sizeof(array[0]), sizeof(array[0])" or with "array, 1, 1". The former is nicer, but longer, so that the latter is mostly used. Therefore this commit adds a macro that expands to the sizeof() construct. Reviewed-by: Michael Niedermayer <michael@niedermayer.cc> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
This commit is contained in:
		
							parent
							
								
									2cef031674
								
							
						
					
					
						commit
						61669b7c40
					
				@ -35,7 +35,12 @@ typedef struct RL_VLC_ELEM {
 | 
			
		||||
    uint8_t run;
 | 
			
		||||
} RL_VLC_ELEM;
 | 
			
		||||
 | 
			
		||||
#define init_vlc(vlc, nb_bits, nb_codes,                \
 | 
			
		||||
#define INIT_VLC_DEFAULT_SIZES(ptr) \
 | 
			
		||||
    (ptr), sizeof((ptr)[0]), sizeof((ptr)[0])
 | 
			
		||||
 | 
			
		||||
#define init_vlc(...) init_vlc2(__VA_ARGS__)
 | 
			
		||||
 | 
			
		||||
#define init_vlc2(vlc, nb_bits, nb_codes,               \
 | 
			
		||||
                 bits, bits_wrap, bits_size,            \
 | 
			
		||||
                 codes, codes_wrap, codes_size,         \
 | 
			
		||||
                 flags)                                 \
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user