K&R formatting of already submitted G.729 code

Originally committed as revision 19127 to svn://svn.ffmpeg.org/ffmpeg/trunk
release/0.6
Vladimir Voroshilov 16 years ago
parent a52dc730cf
commit d4a9255699
  1. 15
      libavcodec/g729data.h
  2. 56
      libavcodec/g729dec.c

@ -39,8 +39,7 @@
* first stage LSP codebook
* (10-dimensional, with 128 entries (3.24 of G.729)
*/
static const int16_t cb_lsp_1st[1<<VQ_1ST_BITS][10] =
{ /* (2.13) */
static const int16_t cb_lsp_1st[1<<VQ_1ST_BITS][10] = { /* (2.13) */
{ 1486, 2168, 3751, 9074, 12134, 13944, 17983, 19173, 21190, 21820},
{ 1730, 2640, 3450, 4870, 6126, 7876, 15644, 17817, 20294, 21902},
{ 1568, 2256, 3088, 4874, 11063, 13393, 18307, 19293, 21109, 21741},
@ -175,8 +174,7 @@ static const int16_t cb_lsp_1st[1<<VQ_1ST_BITS][10] =
* second stage LSP codebook, high and low parts
(both 5-dimensional, with 32 entries (3.2.4 of G.729)
*/
static const int16_t cb_lsp_2nd[1<<VQ_2ND_BITS][10] =
{ /* (2.13) */
static const int16_t cb_lsp_2nd[1<<VQ_2ND_BITS][10] = { /* (2.13) */
{ -435, -815, -742, 1033, -518, 582, -1201, 829, 86, 385},
{ -833, -891, 463, -8, -1251, 1450, 72, -231, 864, 661},
{-1021, 231, -306, 321, -220, -163, -526, -754, -1633, 267},
@ -214,8 +212,7 @@ static const int16_t cb_lsp_2nd[1<<VQ_2ND_BITS][10] =
/**
* gain codebook (first stage), 8k mode (3.9.2 of G.729)
*/
static const int16_t cb_gain_1st_8k[1<<GC_1ST_IDX_BITS_8K][2] =
{ /*(0.14) (2.13) */
static const int16_t cb_gain_1st_8k[1<<GC_1ST_IDX_BITS_8K][2] = { /*(0.14) (2.13) */
{ 3242 , 9949 },
{ 1551 , 2425 },
{ 2678 , 27162 },
@ -229,8 +226,7 @@ static const int16_t cb_gain_1st_8k[1<<GC_1ST_IDX_BITS_8K][2] =
/**
* gain codebook (second stage), 8k mode (3.9.2 of G.729)
*/
static const int16_t cb_gain_2nd_8k[1<<GC_2ND_IDX_BITS_8K][2] =
{ /*(1.14) (1.13) */
static const int16_t cb_gain_2nd_8k[1<<GC_2ND_IDX_BITS_8K][2] = { /*(1.14) (1.13) */
{ 5142 , 592 },
{ 17299 , 1861 },
{ 6160 , 2395 },
@ -252,8 +248,7 @@ static const int16_t cb_gain_2nd_8k[1<<GC_2ND_IDX_BITS_8K][2] =
/**
* 4th order Moving Average (MA) Predictor codebook (3.2.4 of G.729)
*/
static const int16_t cb_ma_predictor[2][MA_NP][10] =
{ /* (0.15) */
static const int16_t cb_ma_predictor[2][MA_NP][10] = { /* (0.15) */
{
{ 8421, 9109, 9175, 8965, 9034, 9057, 8765, 8775, 9106, 8673},
{ 7018, 7189, 7638, 7307, 7444, 7379, 7038, 6956, 6930, 6868},

@ -71,8 +71,7 @@
*/
#define SHARP_MAX 13017
typedef struct
{
typedef struct {
int sample_rate;
uint8_t packed_frame_size; ///< input frame size(in bytes)
uint8_t unpacked_frame_size;///< output frame size (in bytes)
@ -98,53 +97,40 @@ static inline int get_parity(uint8_t value)
return (0x6996966996696996ULL >> (value >> 2)) & 1;
}
if(avctx->channels != 1)
{
if (avctx->channels != 1) {
av_log(avctx, AV_LOG_ERROR, "Only mono sound is supported (requested channels: %d).\n", avctx->channels);
return AVERROR_NOFMT;
}
ff_acelp_weighted_vector_sum(
fc + pitch_delay_int[i],
fc + pitch_delay_int[i],
fc,
1 << 14,
av_clip(ctx->gain_pitch, SHARP_MIN, SHARP_MAX),
0,
14,
ctx->subframe_size - pitch_delay_int[i]);
if(ctx->frame_erasure)
{
ctx->gain_pitch = (29491 * ctx->gain_pitch) >> 15; // 0.9 (0.15)
ctx->gain_code = (2007 * ctx->gain_code) >> 11; // 0.98 in (0.11)
ff_acelp_weighted_vector_sum(fc + pitch_delay_int[i],
fc + pitch_delay_int[i],
fc, 1 << 14,
av_clip(ctx->gain_pitch, SHARP_MIN, SHARP_MAX),
0, 14,
ctx->subframe_size - pitch_delay_int[i]);
if (ctx->frame_erasure) {
ctx->gain_pitch = (29491 * ctx->gain_pitch) >> 15; // 0.90 (0.15)
ctx->gain_code = ( 2007 * ctx->gain_code ) >> 11; // 0.98 (0.11)
gain_corr_factor = 0;
}
else
{
} else {
ctx->gain_pitch = cb_gain_1st_8k[parm->gc_1st_index[i]][0] +
cb_gain_2nd_8k[parm->gc_2nd_index[i]][0];
gain_corr_factor = cb_gain_1st_8k[parm->gc_1st_index[i]][1] +
cb_gain_2nd_8k[parm->gc_2nd_index[i]][1];
ff_acelp_weighted_vector_sum(
ctx->exc + i * ctx->subframe_size,
ctx->exc + i * ctx->subframe_size,
fc,
(!voicing && ctx->frame_erasure) ? 0 : ctx->gain_pitch,
( voicing && ctx->frame_erasure) ? 0 : ctx->gain_code,
1<<13,
14,
ctx->subframe_size);
if (buf_size<packed_frame_size)
{
ff_acelp_weighted_vector_sum(ctx->exc + i * ctx->subframe_size,
ctx->exc + i * ctx->subframe_size, fc,
(!voicing && ctx->frame_erasure) ? 0 : ctx->gain_pitch,
( voicing && ctx->frame_erasure) ? 0 : ctx->gain_code,
1<<13, 14, ctx->subframe_size);
if (buf_size < packed_frame_size) {
av_log(avctx, AV_LOG_ERROR, "Error processing packet: packet size too small\n");
return AVERROR(EIO);
}
if (*data_size<unpacked_frame_size)
{
if (*data_size < unpacked_frame_size) {
av_log(avctx, AV_LOG_ERROR, "Error processing packet: output buffer too small\n");
return AVERROR(EIO);
}

Loading…
Cancel
Save