mirror of
				https://github.com/asterisk/asterisk.git
				synced 2025-11-03 20:38:59 +00:00 
			
		
		
		
	git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3997 65c4cc65-6c06-0410-ace0-fbb531ad65f3
		
			
				
	
	
		
			68 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			C
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			68 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			C
		
	
	
		
			Executable File
		
	
	
	
	
 | 
						|
/******************************************************************
 | 
						|
 | 
						|
    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
 | 
						|
 | 
						|
 |