#include "libavutil/channel_layout.h"
#include "libavutil/opt.h"
+
#include "avcodec.h"
+#include "bitstream.h"
#include "internal.h"
-#include "get_bits.h"
#include "put_bits.h"
/**
- * G.726 11bit float.
- * G.726 Standard uses rather odd 11bit floating point arithmentic for
+ * G.726 11-bit float.
+ * G.726 Standard uses rather odd 11-bit floating point arithmetic for
* numerous occasions. It's a mystery to me why they did it this way
- * instead of simply using 32bit integer arithmetic.
+ * instead of simply using 32-bit integer arithmetic.
*/
typedef struct Float11 {
- uint8_t sign; /**< 1bit sign */
- uint8_t exp; /**< 4bit exponent */
- uint8_t mant; /**< 6bit mantissa */
+ uint8_t sign; /**< 1 bit sign */
+ uint8_t exp; /**< 4 bits exponent */
+ uint8_t mant; /**< 6 bits mantissa */
} Float11;
static inline Float11* i2f(int i, Float11* f)
int code_size;
} G726Context;
-static const int quant_tbl16[] = /**< 16kbit/s 2bits per sample */
+static const int quant_tbl16[] = /**< 16kbit/s 2 bits per sample */
{ 260, INT_MAX };
static const int16_t iquant_tbl16[] =
{ 116, 365, 365, 116 };
static const uint8_t F_tbl16[] =
{ 0, 7, 7, 0 };
-static const int quant_tbl24[] = /**< 24kbit/s 3bits per sample */
+static const int quant_tbl24[] = /**< 24kbit/s 3 bits per sample */
{ 7, 217, 330, INT_MAX };
static const int16_t iquant_tbl24[] =
{ INT16_MIN, 135, 273, 373, 373, 273, 135, INT16_MIN };
static const uint8_t F_tbl24[] =
{ 0, 1, 2, 7, 7, 2, 1, 0 };
-static const int quant_tbl32[] = /**< 32kbit/s 4bits per sample */
+static const int quant_tbl32[] = /**< 32kbit/s 4 bits per sample */
{ -125, 79, 177, 245, 299, 348, 399, INT_MAX };
static const int16_t iquant_tbl32[] =
{ INT16_MIN, 4, 135, 213, 273, 323, 373, 425,
static const uint8_t F_tbl32[] =
{ 0, 0, 0, 1, 1, 1, 3, 7, 7, 3, 1, 1, 1, 0, 0, 0 };
-static const int quant_tbl40[] = /**< 40kbit/s 5bits per sample */
+static const int quant_tbl40[] = /**< 40kbit/s 5 bits per sample */
{ -122, -16, 67, 138, 197, 249, 297, 338,
377, 412, 444, 474, 501, 527, 552, INT_MAX };
static const int16_t iquant_tbl40[] =
/**
- * Para 4.2.2 page 18: Adaptive quantizer.
+ * Paragraph 4.2.2 page 18: Adaptive quantizer.
*/
static inline uint8_t quant(G726Context* c, int d)
{
}
/**
- * Para 4.2.3 page 22: Inverse adaptive quantizer.
+ * Paragraph 4.2.3 page 22: Inverse adaptive quantizer.
*/
static inline int16_t inverse_quant(G726Context* c, int i)
{
int dql, dex, dqt;
dql = c->tbls.iquant[i] + (c->y >> 2);
- dex = (dql>>7) & 0xf; /* 4bit exponent */
+ dex = (dql>>7) & 0xf; /* 4-bit exponent */
dqt = (1<<7) + (dql & 0x7f); /* log2 -> linear */
return (dql < 0) ? 0 : ((dqt<<dex) >> 7);
}
.priv_data_size = sizeof(G726Context),
.init = g726_encode_init,
.encode2 = g726_encode_frame,
- .capabilities = CODEC_CAP_SMALL_LAST_FRAME,
+ .capabilities = AV_CODEC_CAP_SMALL_LAST_FRAME,
.sample_fmts = (const enum AVSampleFormat[]){ AV_SAMPLE_FMT_S16,
AV_SAMPLE_FMT_NONE },
.priv_class = &class,
int buf_size = avpkt->size;
G726Context *c = avctx->priv_data;
int16_t *samples;
- GetBitContext gb;
+ BitstreamContext bc;
int out_samples, ret;
out_samples = buf_size * 8 / c->code_size;
}
samples = (int16_t *)frame->data[0];
- init_get_bits(&gb, buf, buf_size * 8);
+ bitstream_init(&bc, buf, buf_size * 8);
while (out_samples--)
- *samples++ = g726_decode(c, get_bits(&gb, c->code_size));
+ *samples++ = g726_decode(c, bitstream_read(&bc, c->code_size));
- if (get_bits_left(&gb) > 0)
+ if (bitstream_bits_left(&bc) > 0)
av_log(avctx, AV_LOG_ERROR, "Frame invalidly split, missing parser?\n");
*got_frame_ptr = 1;
.init = g726_decode_init,
.decode = g726_decode_frame,
.flush = g726_decode_flush,
- .capabilities = CODEC_CAP_DR1,
+ .capabilities = AV_CODEC_CAP_DR1,
};
#endif