Commit 0dabd329 authored by Alexandra Hájková's avatar Alexandra Hájková Committed by Anton Khirnov

qcelp: Convert to the new bitstream reader

Signed-off-by: 's avatarAnton Khirnov <anton@khirnov.net>
parent 770406d1
...@@ -31,9 +31,10 @@ ...@@ -31,9 +31,10 @@
#include "libavutil/channel_layout.h" #include "libavutil/channel_layout.h"
#include "libavutil/float_dsp.h" #include "libavutil/float_dsp.h"
#include "avcodec.h" #include "avcodec.h"
#include "bitstream.h"
#include "internal.h" #include "internal.h"
#include "get_bits.h"
#include "qcelpdata.h" #include "qcelpdata.h"
#include "celp_filters.h" #include "celp_filters.h"
#include "acelp_filters.h" #include "acelp_filters.h"
...@@ -53,7 +54,7 @@ typedef enum { ...@@ -53,7 +54,7 @@ typedef enum {
} qcelp_packet_rate; } qcelp_packet_rate;
typedef struct QCELPContext { typedef struct QCELPContext {
GetBitContext gb; BitstreamContext bc;
qcelp_packet_rate bitrate; qcelp_packet_rate bitrate;
QCELPFrame frame; /**< unpacked data frame */ QCELPFrame frame; /**< unpacked data frame */
...@@ -718,12 +719,12 @@ static int qcelp_decode_frame(AVCodecContext *avctx, void *data, ...@@ -718,12 +719,12 @@ static int qcelp_decode_frame(AVCodecContext *avctx, void *data,
qcelp_unpacking_bitmaps_lengths[q->bitrate]; qcelp_unpacking_bitmaps_lengths[q->bitrate];
uint8_t *unpacked_data = (uint8_t *)&q->frame; uint8_t *unpacked_data = (uint8_t *)&q->frame;
init_get_bits(&q->gb, buf, 8 * buf_size); bitstream_init(&q->bc, buf, 8 * buf_size);
memset(&q->frame, 0, sizeof(QCELPFrame)); memset(&q->frame, 0, sizeof(QCELPFrame));
for (; bitmaps < bitmaps_end; bitmaps++) for (; bitmaps < bitmaps_end; bitmaps++)
unpacked_data[bitmaps->index] |= get_bits(&q->gb, bitmaps->bitlen) << bitmaps->bitpos; unpacked_data[bitmaps->index] |= bitstream_read(&q->bc, bitmaps->bitlen) << bitmaps->bitpos;
// Check for erasures/blanks on rates 1, 1/4 and 1/8. // Check for erasures/blanks on rates 1, 1/4 and 1/8.
if (q->frame.reserved) { if (q->frame.reserved) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment