opus: Convert to the new bitstream reader
Signed-off-by: Anton Khirnov <anton@khirnov.net>
This commit is contained in:
		
							parent
							
								
									6f94a64bd6
								
							
						
					
					
						commit
						b3441350fa
					
				@ -32,7 +32,7 @@
 | 
				
			|||||||
#include "libavresample/avresample.h"
 | 
					#include "libavresample/avresample.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include "avcodec.h"
 | 
					#include "avcodec.h"
 | 
				
			||||||
#include "get_bits.h"
 | 
					#include "bitstream.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define MAX_FRAME_SIZE               1275
 | 
					#define MAX_FRAME_SIZE               1275
 | 
				
			||||||
#define MAX_FRAMES                   48
 | 
					#define MAX_FRAMES                   48
 | 
				
			||||||
@ -92,7 +92,7 @@ typedef struct RawBitsContext {
 | 
				
			|||||||
} RawBitsContext;
 | 
					} RawBitsContext;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
typedef struct OpusRangeCoder {
 | 
					typedef struct OpusRangeCoder {
 | 
				
			||||||
    GetBitContext gb;
 | 
					    BitstreamContext bc;
 | 
				
			||||||
    RawBitsContext rb;
 | 
					    RawBitsContext rb;
 | 
				
			||||||
    unsigned int range;
 | 
					    unsigned int range;
 | 
				
			||||||
    unsigned int value;
 | 
					    unsigned int value;
 | 
				
			||||||
@ -196,7 +196,7 @@ typedef struct OpusContext {
 | 
				
			|||||||
static av_always_inline void opus_rc_normalize(OpusRangeCoder *rc)
 | 
					static av_always_inline void opus_rc_normalize(OpusRangeCoder *rc)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    while (rc->range <= 1<<23) {
 | 
					    while (rc->range <= 1<<23) {
 | 
				
			||||||
        rc->value = ((rc->value << 8) | (get_bits(&rc->gb, 8) ^ 0xFF)) & ((1u << 31) - 1);
 | 
					        rc->value = ((rc->value << 8) | (bitstream_read(&rc->bc, 8) ^ 0xFF)) & ((1u << 31) - 1);
 | 
				
			||||||
        rc->range          <<= 8;
 | 
					        rc->range          <<= 8;
 | 
				
			||||||
        rc->total_read_bits += 8;
 | 
					        rc->total_read_bits += 8;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
				
			|||||||
@ -43,9 +43,9 @@
 | 
				
			|||||||
#include "libavresample/avresample.h"
 | 
					#include "libavresample/avresample.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include "avcodec.h"
 | 
					#include "avcodec.h"
 | 
				
			||||||
 | 
					#include "bitstream.h"
 | 
				
			||||||
#include "celp_filters.h"
 | 
					#include "celp_filters.h"
 | 
				
			||||||
#include "fft.h"
 | 
					#include "fft.h"
 | 
				
			||||||
#include "get_bits.h"
 | 
					 | 
				
			||||||
#include "internal.h"
 | 
					#include "internal.h"
 | 
				
			||||||
#include "mathops.h"
 | 
					#include "mathops.h"
 | 
				
			||||||
#include "opus.h"
 | 
					#include "opus.h"
 | 
				
			||||||
@ -80,12 +80,12 @@ static int get_silk_samplerate(int config)
 | 
				
			|||||||
 */
 | 
					 */
 | 
				
			||||||
static int opus_rc_init(OpusRangeCoder *rc, const uint8_t *data, int size)
 | 
					static int opus_rc_init(OpusRangeCoder *rc, const uint8_t *data, int size)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    int ret = init_get_bits8(&rc->gb, data, size);
 | 
					    int ret = bitstream_init8(&rc->bc, data, size);
 | 
				
			||||||
    if (ret < 0)
 | 
					    if (ret < 0)
 | 
				
			||||||
        return ret;
 | 
					        return ret;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    rc->range = 128;
 | 
					    rc->range = 128;
 | 
				
			||||||
    rc->value = 127 - get_bits(&rc->gb, 7);
 | 
					    rc->value = 127 - bitstream_read(&rc->bc, 7);
 | 
				
			||||||
    rc->total_read_bits = 9;
 | 
					    rc->total_read_bits = 9;
 | 
				
			||||||
    opus_rc_normalize(rc);
 | 
					    opus_rc_normalize(rc);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user