mirror of
				https://github.com/asterisk/asterisk.git
				synced 2025-10-29 07:24:55 +00:00 
			
		
		
		
	
		
			
	
	
		
			68 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
		
		
			
		
	
	
			68 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
|   | 
 | ||
|  |    /******************************************************************
 | ||
|  | 
 | ||
|  |        iLBC Speech Coder ANSI-C Source Code | ||
|  | 
 | ||
|  |        packing.h | ||
|  | 
 | ||
|  |        Copyright (C) The Internet Society (2004). | ||
|  |        All Rights Reserved. | ||
|  | 
 | ||
|  |    ******************************************************************/ | ||
|  | 
 | ||
|  |    #ifndef __PACKING_H
 | ||
|  |    #define __PACKING_H
 | ||
|  | 
 | ||
|  |    void packsplit( | ||
|  |        int *index,                 /* (i) the value to split */ | ||
|  |        int *firstpart,             /* (o) the value specified by most
 | ||
|  |                                           significant bits */ | ||
|  |        int *rest,                  /* (o) the value specified by least
 | ||
|  |                                           significant bits */ | ||
|  |        int bitno_firstpart,    /* (i) number of bits in most
 | ||
|  |                                           significant part */ | ||
|  |        int bitno_total             /* (i) number of bits in full range
 | ||
|  |                                           of value */ | ||
|  |    ); | ||
|  | 
 | ||
|  |    void packcombine( | ||
|  |        int *index,                 /* (i/o) the msb value in the
 | ||
|  |                                           combined value out */ | ||
|  |        int rest,                   /* (i) the lsb value */ | ||
|  |        int bitno_rest              /* (i) the number of bits in the
 | ||
|  |                                           lsb part */ | ||
|  |    ); | ||
|  | 
 | ||
|  |    void dopack( | ||
|  |        unsigned char **bitstream,  /* (i/o) on entrance pointer to
 | ||
|  |                                           place in bitstream to pack | ||
|  |                                           new data, on exit pointer | ||
|  |                                           to place in bitstream to | ||
|  |                                           pack future data */ | ||
|  |        int index,                  /* (i) the value to pack */ | ||
|  |        int bitno,                  /* (i) the number of bits that the
 | ||
|  |                                           value will fit within */ | ||
|  |        int *pos                /* (i/o) write position in the
 | ||
|  |                                           current byte */ | ||
|  |    ); | ||
|  | 
 | ||
|  | 
 | ||
|  | 
 | ||
|  | 
 | ||
|  | 
 | ||
|  |    void unpack( | ||
|  |        unsigned char **bitstream,  /* (i/o) on entrance pointer to
 | ||
|  |                                           place in bitstream to | ||
|  |                                           unpack new data from, on | ||
|  |                                           exit pointer to place in | ||
|  |                                           bitstream to unpack future | ||
|  |                                           data from */ | ||
|  |        int *index,                 /* (o) resulting value */ | ||
|  |        int bitno,                  /* (i) number of bits used to
 | ||
|  |                                           represent the value */ | ||
|  |        int *pos                /* (i/o) read position in the
 | ||
|  |                                           current byte */ | ||
|  |    ); | ||
|  | 
 | ||
|  |    #endif
 |