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