mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-12-23 12:43:46 +02:00
amrnb/amrwb: Remove get_bits usage.
It is used to parse fixed sized fields out of a single octet. The code is simpler without it.
This commit is contained in:
parent
94cf64b81f
commit
b70feb4053
@ -44,7 +44,6 @@
|
|||||||
#include <math.h>
|
#include <math.h>
|
||||||
|
|
||||||
#include "avcodec.h"
|
#include "avcodec.h"
|
||||||
#include "get_bits.h"
|
|
||||||
#include "libavutil/common.h"
|
#include "libavutil/common.h"
|
||||||
#include "celp_math.h"
|
#include "celp_math.h"
|
||||||
#include "celp_filters.h"
|
#include "celp_filters.h"
|
||||||
@ -189,16 +188,11 @@ static av_cold int amrnb_decode_init(AVCodecContext *avctx)
|
|||||||
static enum Mode unpack_bitstream(AMRContext *p, const uint8_t *buf,
|
static enum Mode unpack_bitstream(AMRContext *p, const uint8_t *buf,
|
||||||
int buf_size)
|
int buf_size)
|
||||||
{
|
{
|
||||||
GetBitContext gb;
|
|
||||||
enum Mode mode;
|
enum Mode mode;
|
||||||
|
|
||||||
init_get_bits(&gb, buf, buf_size * 8);
|
|
||||||
|
|
||||||
// Decode the first octet.
|
// Decode the first octet.
|
||||||
skip_bits(&gb, 1); // padding bit
|
mode = buf[0] >> 3 & 0x0F; // frame type
|
||||||
mode = get_bits(&gb, 4); // frame type
|
p->bad_frame_indicator = (buf[0] & 0x4) != 0x4; // quality bit
|
||||||
p->bad_frame_indicator = !get_bits1(&gb); // quality bit
|
|
||||||
skip_bits(&gb, 2); // two padding bits
|
|
||||||
|
|
||||||
if (mode >= N_MODES || buf_size < frame_sizes_nb[mode] + 1) {
|
if (mode >= N_MODES || buf_size < frame_sizes_nb[mode] + 1) {
|
||||||
return NO_DATA;
|
return NO_DATA;
|
||||||
|
@ -27,7 +27,6 @@
|
|||||||
#include "libavutil/lfg.h"
|
#include "libavutil/lfg.h"
|
||||||
|
|
||||||
#include "avcodec.h"
|
#include "avcodec.h"
|
||||||
#include "get_bits.h"
|
|
||||||
#include "lsp.h"
|
#include "lsp.h"
|
||||||
#include "celp_math.h"
|
#include "celp_math.h"
|
||||||
#include "celp_filters.h"
|
#include "celp_filters.h"
|
||||||
@ -120,14 +119,9 @@ static av_cold int amrwb_decode_init(AVCodecContext *avctx)
|
|||||||
*/
|
*/
|
||||||
static int decode_mime_header(AMRWBContext *ctx, const uint8_t *buf)
|
static int decode_mime_header(AMRWBContext *ctx, const uint8_t *buf)
|
||||||
{
|
{
|
||||||
GetBitContext gb;
|
|
||||||
init_get_bits(&gb, buf, 8);
|
|
||||||
|
|
||||||
/* Decode frame header (1st octet) */
|
/* Decode frame header (1st octet) */
|
||||||
skip_bits(&gb, 1); // padding bit
|
ctx->fr_cur_mode = buf[0] >> 3 & 0x0F;
|
||||||
ctx->fr_cur_mode = get_bits(&gb, 4);
|
ctx->fr_quality = (buf[0] & 0x4) != 0x4;
|
||||||
ctx->fr_quality = get_bits1(&gb);
|
|
||||||
skip_bits(&gb, 2); // padding bits
|
|
||||||
|
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user