aboutsummaryrefslogtreecommitdiffstats
path: root/libavcodec/wmadec.c
diff options
context:
space:
mode:
authorGabriel Dume <gabriel.ddx84@gmail.com>2014-09-02 15:28:50 -0400
committerDiego Biurrun <diego@biurrun.de>2014-09-03 03:09:08 -0700
commitd2a4e4b9cc9a0c2661e1c1d6f6b51babac2cec1b (patch)
tree3dd633befa49f251616f3ae956862ea683b318fc /libavcodec/wmadec.c
parentc487972ed0e1eaebdbe4a13cdd191e119be0b19c (diff)
downloadffmpeg-d2a4e4b9cc9a0c2661e1c1d6f6b51babac2cec1b.tar.gz
wma: K&R formatting cosmetics
Signed-off-by: Diego Biurrun <diego@biurrun.de>
Diffstat (limited to 'libavcodec/wmadec.c')
-rw-r--r--libavcodec/wmadec.c386
1 files changed, 193 insertions, 193 deletions
diff --git a/libavcodec/wmadec.c b/libavcodec/wmadec.c
index 2dd5898d76..2141e388c9 100644
--- a/libavcodec/wmadec.c
+++ b/libavcodec/wmadec.c
@@ -34,6 +34,7 @@
*/
#include "libavutil/attributes.h"
+
#include "avcodec.h"
#include "internal.h"
#include "wma.h"
@@ -42,20 +43,21 @@
#include <assert.h>
#define EXPVLCBITS 8
-#define EXPMAX ((19+EXPVLCBITS-1)/EXPVLCBITS)
+#define EXPMAX ((19 + EXPVLCBITS - 1) / EXPVLCBITS)
#define HGAINVLCBITS 9
-#define HGAINMAX ((13+HGAINVLCBITS-1)/HGAINVLCBITS)
+#define HGAINMAX ((13 + HGAINVLCBITS - 1) / HGAINVLCBITS)
static void wma_lsp_to_curve_init(WMACodecContext *s, int frame_len);
#ifdef TRACE
-static void dump_floats(WMACodecContext *s, const char *name, int prec, const float *tab, int n)
+static void dump_floats(WMACodecContext *s, const char *name,
+ int prec, const float *tab, int n)
{
int i;
tprintf(s->avctx, "%s[%d]:\n", name, n);
- for(i=0;i<n;i++) {
+ for (i = 0; i < n; i++) {
if ((i & 7) == 0)
tprintf(s->avctx, "%4d: ", i);
tprintf(s->avctx, " %8.*f", prec, tab[i]);
@@ -65,9 +67,9 @@ static void dump_floats(WMACodecContext *s, const char *name, int prec, const fl
if ((i & 7) != 0)
tprintf(s->avctx, "\n");
}
-#endif
+#endif /* TRACE */
-static av_cold int wma_decode_init(AVCodecContext * avctx)
+static av_cold int wma_decode_init(AVCodecContext *avctx)
{
WMACodecContext *s = avctx->priv_data;
int i, flags2;
@@ -81,23 +83,22 @@ static av_cold int wma_decode_init(AVCodecContext * avctx)
s->avctx = avctx;
/* extract flag infos */
- flags2 = 0;
+ flags2 = 0;
extradata = avctx->extradata;
- if (avctx->codec->id == AV_CODEC_ID_WMAV1 && avctx->extradata_size >= 4) {
- flags2 = AV_RL16(extradata+2);
- } else if (avctx->codec->id == AV_CODEC_ID_WMAV2 && avctx->extradata_size >= 6) {
- flags2 = AV_RL16(extradata+4);
- }
+ if (avctx->codec->id == AV_CODEC_ID_WMAV1 && avctx->extradata_size >= 4)
+ flags2 = AV_RL16(extradata + 2);
+ else if (avctx->codec->id == AV_CODEC_ID_WMAV2 && avctx->extradata_size >= 6)
+ flags2 = AV_RL16(extradata + 4);
- s->use_exp_vlc = flags2 & 0x0001;
- s->use_bit_reservoir = flags2 & 0x0002;
+ s->use_exp_vlc = flags2 & 0x0001;
+ s->use_bit_reservoir = flags2 & 0x0002;
s->use_variable_block_len = flags2 & 0x0004;
- if(ff_wma_init(avctx, flags2)<0)
+ if (ff_wma_init(avctx, flags2) < 0)
return -1;
/* init MDCT */
- for(i = 0; i < s->nb_block_sizes; i++)
+ for (i = 0; i < s->nb_block_sizes; i++)
ff_mdct_init(&s->mdct_ctx[i], s->frame_len_bits - i + 1, 1, 1.0 / 32768.0);
if (s->use_noise_coding) {
@@ -106,13 +107,12 @@ static av_cold int wma_decode_init(AVCodecContext * avctx)
ff_wma_hgain_huffcodes, 2, 2, 0);
}
- if (s->use_exp_vlc) {
- init_vlc(&s->exp_vlc, EXPVLCBITS, sizeof(ff_aac_scalefactor_bits), //FIXME move out of context
+ if (s->use_exp_vlc)
+ init_vlc(&s->exp_vlc, EXPVLCBITS, sizeof(ff_aac_scalefactor_bits), // FIXME move out of context
ff_aac_scalefactor_bits, 1, 1,
ff_aac_scalefactor_code, 4, 4, 0);
- } else {
+ else
wma_lsp_to_curve_init(s, s->frame_len);
- }
avctx->sample_fmt = AV_SAMPLE_FMT_FLTP;
@@ -135,12 +135,12 @@ static inline float pow_m1_4(WMACodecContext *s, float x)
float a, b;
u.f = x;
- e = u.v >> 23;
- m = (u.v >> (23 - LSP_POW_BITS)) & ((1 << LSP_POW_BITS) - 1);
+ e = u.v >> 23;
+ m = (u.v >> (23 - LSP_POW_BITS)) & ((1 << LSP_POW_BITS) - 1);
/* build interpolation scale: 1 <= t < 2. */
t.v = ((u.v << LSP_POW_BITS) & ((1 << 23) - 1)) | (127 << 23);
- a = s->lsp_pow_m_table1[m];
- b = s->lsp_pow_m_table2[m];
+ a = s->lsp_pow_m_table1[m];
+ b = s->lsp_pow_m_table2[m];
return s->lsp_pow_e_table[e] * (a + b * t.f);
}
@@ -150,25 +150,25 @@ static av_cold void wma_lsp_to_curve_init(WMACodecContext *s, int frame_len)
int i, e, m;
wdel = M_PI / frame_len;
- for(i=0;i<frame_len;i++)
+ for (i = 0; i < frame_len; i++)
s->lsp_cos_table[i] = 2.0f * cos(wdel * i);
/* tables for x^-0.25 computation */
- for(i=0;i<256;i++) {
- e = i - 126;
+ for (i = 0; i < 256; i++) {
+ e = i - 126;
s->lsp_pow_e_table[i] = pow(2.0, e * -0.25);
}
/* NOTE: these two tables are needed to avoid two operations in
- pow_m1_4 */
+ * pow_m1_4 */
b = 1.0;
- for(i=(1 << LSP_POW_BITS) - 1;i>=0;i--) {
- m = (1 << LSP_POW_BITS) + i;
- a = (float)m * (0.5 / (1 << LSP_POW_BITS));
- a = pow(a, -0.25);
+ for (i = (1 << LSP_POW_BITS) - 1; i >= 0; i--) {
+ m = (1 << LSP_POW_BITS) + i;
+ a = (float) m * (0.5 / (1 << LSP_POW_BITS));
+ a = pow(a, -0.25);
s->lsp_pow_m_table1[i] = 2 * a - b;
s->lsp_pow_m_table2[i] = b - a;
- b = a;
+ b = a;
}
}
@@ -176,26 +176,25 @@ static av_cold void wma_lsp_to_curve_init(WMACodecContext *s, int frame_len)
* NOTE: We use the same code as Vorbis here
* @todo optimize it further with SSE/3Dnow
*/
-static void wma_lsp_to_curve(WMACodecContext *s,
- float *out, float *val_max_ptr,
+static void wma_lsp_to_curve(WMACodecContext *s, float *out, float *val_max_ptr,
int n, float *lsp)
{
int i, j;
float p, q, w, v, val_max;
val_max = 0;
- for(i=0;i<n;i++) {
+ for (i = 0; i < n; i++) {
p = 0.5f;
q = 0.5f;
w = s->lsp_cos_table[i];
- for(j=1;j<NB_LSP_COEFS;j+=2){
+ for (j = 1; j < NB_LSP_COEFS; j += 2) {
q *= w - lsp[j - 1];
p *= w - lsp[j];
}
p *= p * (2.0f - w);
q *= q * (2.0f + w);
- v = p + q;
- v = pow_m1_4(s, v);
+ v = p + q;
+ v = pow_m1_4(s, v);
if (v > val_max)
val_max = v;
out[i] = v;
@@ -211,7 +210,7 @@ static void decode_exp_lsp(WMACodecContext *s, int ch)
float lsp_coefs[NB_LSP_COEFS];
int val, i;
- for(i = 0; i < NB_LSP_COEFS; i++) {
+ for (i = 0; i < NB_LSP_COEFS; i++) {
if (i == 0 || i >= 8)
val = get_bits(&s->gb, 3);
else
@@ -315,41 +314,41 @@ static int decode_exp_vlc(WMACodecContext *s, int ch)
float v, max_scale;
uint32_t *q, *q_end, iv;
const float *ptab = pow_tab + 60;
- const uint32_t *iptab = (const uint32_t*)ptab;
+ const uint32_t *iptab = (const uint32_t *) ptab;
- ptr = s->exponent_bands[s->frame_len_bits - s->block_len_bits];
- q = (uint32_t *)s->exponents[ch];
- q_end = q + s->block_len;
+ ptr = s->exponent_bands[s->frame_len_bits - s->block_len_bits];
+ q = (uint32_t *) s->exponents[ch];
+ q_end = q + s->block_len;
max_scale = 0;
if (s->version == 1) {
- last_exp = get_bits(&s->gb, 5) + 10;
- v = ptab[last_exp];
- iv = iptab[last_exp];
+ last_exp = get_bits(&s->gb, 5) + 10;
+ v = ptab[last_exp];
+ iv = iptab[last_exp];
max_scale = v;
- n = *ptr++;
+ n = *ptr++;
switch (n & 3) do {
case 0: *q++ = iv;
case 3: *q++ = iv;
case 2: *q++ = iv;
case 1: *q++ = iv;
} while ((n -= 4) > 0);
- }else
+ } else
last_exp = 36;
while (q < q_end) {
code = get_vlc2(&s->gb, s->exp_vlc.table, EXPVLCBITS, EXPMAX);
- if (code < 0){
+ if (code < 0) {
av_log(s->avctx, AV_LOG_ERROR, "Exponent vlc invalid\n");
return -1;
}
/* NOTE: this offset is the same as MPEG4 AAC ! */
last_exp += code - 60;
- if ((unsigned)last_exp + 60 >= FF_ARRAY_ELEMS(pow_tab)) {
+ if ((unsigned) last_exp + 60 >= FF_ARRAY_ELEMS(pow_tab)) {
av_log(s->avctx, AV_LOG_ERROR, "Exponent out of range: %d\n",
last_exp);
return -1;
}
- v = ptab[last_exp];
+ v = ptab[last_exp];
iv = iptab[last_exp];
if (v > max_scale)
max_scale = v;
@@ -365,7 +364,6 @@ static int decode_exp_vlc(WMACodecContext *s, int ch)
return 0;
}
-
/**
* Apply MDCT window and add into output.
*
@@ -380,46 +378,44 @@ static void wma_window(WMACodecContext *s, float *out)
/* left part */
if (s->block_len_bits <= s->prev_block_len_bits) {
block_len = s->block_len;
- bsize = s->frame_len_bits - s->block_len_bits;
+ bsize = s->frame_len_bits - s->block_len_bits;
s->fdsp.vector_fmul_add(out, in, s->windows[bsize],
out, block_len);
-
} else {
block_len = 1 << s->prev_block_len_bits;
- n = (s->block_len - block_len) / 2;
- bsize = s->frame_len_bits - s->prev_block_len_bits;
+ n = (s->block_len - block_len) / 2;
+ bsize = s->frame_len_bits - s->prev_block_len_bits;
- s->fdsp.vector_fmul_add(out+n, in+n, s->windows[bsize],
- out+n, block_len);
+ s->fdsp.vector_fmul_add(out + n, in + n, s->windows[bsize],
+ out + n, block_len);
- memcpy(out+n+block_len, in+n+block_len, n*sizeof(float));
+ memcpy(out + n + block_len, in + n + block_len, n * sizeof(float));
}
out += s->block_len;
- in += s->block_len;
+ in += s->block_len;
/* right part */
if (s->block_len_bits <= s->next_block_len_bits) {
block_len = s->block_len;
- bsize = s->frame_len_bits - s->block_len_bits;
+ bsize = s->frame_len_bits - s->block_len_bits;
s->fdsp.vector_fmul_reverse(out, in, s->windows[bsize], block_len);
-
} else {
block_len = 1 << s->next_block_len_bits;
- n = (s->block_len - block_len) / 2;
- bsize = s->frame_len_bits - s->next_block_len_bits;
+ n = (s->block_len - block_len) / 2;
+ bsize = s->frame_len_bits - s->next_block_len_bits;
- memcpy(out, in, n*sizeof(float));
+ memcpy(out, in, n * sizeof(float));
- s->fdsp.vector_fmul_reverse(out+n, in+n, s->windows[bsize], block_len);
+ s->fdsp.vector_fmul_reverse(out + n, in + n, s->windows[bsize],
+ block_len);
- memset(out+n+block_len, 0, n*sizeof(float));
+ memset(out + n + block_len, 0, n * sizeof(float));
}
}
-
/**
* @return 0 if OK. 1 if last block of frame. return -1 if
* unrecorrable error.
@@ -433,8 +429,9 @@ static int wma_decode_block(WMACodecContext *s)
FFTContext *mdct;
#ifdef TRACE
- tprintf(s->avctx, "***decode_block: %d:%d\n", s->frame_count - 1, s->block_num);
-#endif
+ tprintf(s->avctx, "***decode_block: %d:%d\n",
+ s->frame_count - 1, s->block_num);
+#endif /* TRACE */
/* compute current block length */
if (s->use_variable_block_len) {
@@ -442,26 +439,32 @@ static int wma_decode_block(WMACodecContext *s)
if (s->reset_block_lengths) {
s->reset_block_lengths = 0;
- v = get_bits(&s->gb, n);
- if (v >= s->nb_block_sizes){
- av_log(s->avctx, AV_LOG_ERROR, "prev_block_len_bits %d out of range\n", s->frame_len_bits - v);
+ v = get_bits(&s->gb, n);
+ if (v >= s->nb_block_sizes) {
+ av_log(s->avctx, AV_LOG_ERROR,
+ "prev_block_len_bits %d out of range\n",
+ s->frame_len_bits - v);
return -1;
}
s->prev_block_len_bits = s->frame_len_bits - v;
- v = get_bits(&s->gb, n);
- if (v >= s->nb_block_sizes){
- av_log(s->avctx, AV_LOG_ERROR, "block_len_bits %d out of range\n", s->frame_len_bits - v);
+ v = get_bits(&s->gb, n);
+ if (v >= s->nb_block_sizes) {
+ av_log(s->avctx, AV_LOG_ERROR,
+ "block_len_bits %d out of range\n",
+ s->frame_len_bits - v);
return -1;
}
s->block_len_bits = s->frame_len_bits - v;
} else {
/* update block lengths */
s->prev_block_len_bits = s->block_len_bits;
- s->block_len_bits = s->next_block_len_bits;
+ s->block_len_bits = s->next_block_len_bits;
}
v = get_bits(&s->gb, n);
- if (v >= s->nb_block_sizes){
- av_log(s->avctx, AV_LOG_ERROR, "next_block_len_bits %d out of range\n", s->frame_len_bits - v);
+ if (v >= s->nb_block_sizes) {
+ av_log(s->avctx, AV_LOG_ERROR,
+ "next_block_len_bits %d out of range\n",
+ s->frame_len_bits - v);
return -1;
}
s->next_block_len_bits = s->frame_len_bits - v;
@@ -469,24 +472,23 @@ static int wma_decode_block(WMACodecContext *s)
/* fixed block len */
s->next_block_len_bits = s->frame_len_bits;
s->prev_block_len_bits = s->frame_len_bits;
- s->block_len_bits = s->frame_len_bits;
+ s->block_len_bits = s->frame_len_bits;
}
/* now check if the block length is coherent with the frame length */
s->block_len = 1 << s->block_len_bits;
- if ((s->block_pos + s->block_len) > s->frame_len){
+ if ((s->block_pos + s->block_len) > s->frame_len) {
av_log(s->avctx, AV_LOG_ERROR, "frame_len overflow\n");
return -1;
}
- if (s->avctx->channels == 2) {
+ if (s->avctx->channels == 2)
s->ms_stereo = get_bits1(&s->gb);
- }
v = 0;
- for(ch = 0; ch < s->avctx->channels; ch++) {
- a = get_bits1(&s->gb);
+ for (ch = 0; ch < s->avctx->channels; ch++) {
+ a = get_bits1(&s->gb);
s->channel_coded[ch] = a;
- v |= a;
+ v |= a;
}
bsize = s->frame_len_bits - s->block_len_bits;
@@ -497,31 +499,30 @@ static int wma_decode_block(WMACodecContext *s)
goto next;
/* read total gain and extract corresponding number of bits for
- coef escape coding */
+ * coef escape coding */
total_gain = 1;
- for(;;) {
- a = get_bits(&s->gb, 7);
+ for (;;) {
+ a = get_bits(&s->gb, 7);
total_gain += a;
if (a != 127)
break;
}
- coef_nb_bits= ff_wma_total_gain_to_bits(total_gain);
+ coef_nb_bits = ff_wma_total_gain_to_bits(total_gain);
/* compute number of coefficients */
n = s->coefs_end[bsize] - s->coefs_start;
- for(ch = 0; ch < s->avctx->channels; ch++)
+ for (ch = 0; ch < s->avctx->channels; ch++)
nb_coefs[ch] = n;
/* complex coding */
if (s->use_noise_coding) {
-
- for(ch = 0; ch < s->avctx->channels; ch++) {
+ for (ch = 0; ch < s->avctx->channels; ch++) {
if (s->channel_coded[ch]) {
int i, n, a;
n = s->exponent_high_sizes[bsize];
- for(i=0;i<n;i++) {
- a = get_bits1(&s->gb);
+ for (i = 0; i < n; i++) {
+ a = get_bits1(&s->gb);
s->high_band_coded[ch][i] = a;
/* if noise coding, the coefficients are not transmitted */
if (a)
@@ -529,20 +530,22 @@ static int wma_decode_block(WMACodecContext *s)
}
}
}
- for(ch = 0; ch < s->avctx->channels; ch++) {
+ for (ch = 0; ch < s->avctx->channels; ch++) {
if (s->channel_coded[ch]) {
int i, n, val, code;
- n = s->exponent_high_sizes[bsize];
- val = (int)0x80000000;
- for(i=0;i<n;i++) {
+ n = s->exponent_high_sizes[bsize];
+ val = (int) 0x80000000;
+ for (i = 0; i < n; i++) {
if (s->high_band_coded[ch][i]) {
- if (val == (int)0x80000000) {
+ if (val == (int) 0x80000000) {
val = get_bits(&s->gb, 7) - 19;
} else {
- code = get_vlc2(&s->gb, s->hgain_vlc.table, HGAINVLCBITS, HGAINMAX);
- if (code < 0){
- av_log(s->avctx, AV_LOG_ERROR, "hgain vlc invalid\n");
+ code = get_vlc2(&s->gb, s->hgain_vlc.table,
+ HGAINVLCBITS, HGAINMAX);
+ if (code < 0) {
+ av_log(s->avctx, AV_LOG_ERROR,
+ "hgain vlc invalid\n");
return -1;
}
val += code - 18;
@@ -555,9 +558,8 @@ static int wma_decode_block(WMACodecContext *s)
}
/* exponents can be reused in short blocks. */
- if ((s->block_len_bits == s->frame_len_bits) ||
- get_bits1(&s->gb)) {
- for(ch = 0; ch < s->avctx->channels; ch++) {
+ if ((s->block_len_bits == s->frame_len_bits) || get_bits1(&s->gb)) {
+ for (ch = 0; ch < s->avctx->channels; ch++) {
if (s->channel_coded[ch]) {
if (s->use_exp_vlc) {
if (decode_exp_vlc(s, ch) < 0)
@@ -574,29 +576,27 @@ static int wma_decode_block(WMACodecContext *s)
for (ch = 0; ch < s->avctx->channels; ch++) {
if (s->channel_coded[ch]) {
int tindex;
- WMACoef* ptr = &s->coefs1[ch][0];
+ WMACoef *ptr = &s->coefs1[ch][0];
/* special VLC tables are used for ms stereo because
- there is potentially less energy there */
+ * there is potentially less energy there */
tindex = (ch == 1 && s->ms_stereo);
memset(ptr, 0, s->block_len * sizeof(WMACoef));
ff_wma_run_level_decode(s->avctx, &s->gb, &s->coef_vlc[tindex],
- s->level_table[tindex], s->run_table[tindex],
- 0, ptr, 0, nb_coefs[ch],
- s->block_len, s->frame_len_bits, coef_nb_bits);
+ s->level_table[tindex], s->run_table[tindex],
+ 0, ptr, 0, nb_coefs[ch],
+ s->block_len, s->frame_len_bits, coef_nb_bits);
}
- if (s->version == 1 && s->avctx->channels >= 2) {
+ if (s->version == 1 && s->avctx->channels >= 2)
align_get_bits(&s->gb);
- }
}
/* normalize */
{
int n4 = s->block_len / 2;
- mdct_norm = 1.0 / (float)n4;
- if (s->version == 1) {
+ mdct_norm = 1.0 / (float) n4;
+ if (s->version == 1)
mdct_norm *= sqrt(n4);
- }
}
/* finally compute the MDCT coefficients */
@@ -607,97 +607,94 @@ static int wma_decode_block(WMACodecContext *s)
int i, j, n, n1, last_high_band, esize;
float exp_power[HIGH_BAND_MAX_SIZE];
- coefs1 = s->coefs1[ch];
+ coefs1 = s->coefs1[ch];
exponents = s->exponents[ch];
- esize = s->exponents_bsize[ch];
- mult = pow(10, total_gain * 0.05) / s->max_exponent[ch];
- mult *= mdct_norm;
- coefs = s->coefs[ch];
+ esize = s->exponents_bsize[ch];
+ mult = pow(10, total_gain * 0.05) / s->max_exponent[ch];
+ mult *= mdct_norm;
+ coefs = s->coefs[ch];
if (s->use_noise_coding) {
mult1 = mult;
/* very low freqs : noise */
- for(i = 0;i < s->coefs_start; i++) {
+ for (i = 0; i < s->coefs_start; i++) {
*coefs++ = s->noise_table[s->noise_index] *
- exponents[i<<bsize>>esize] * mult1;
- s->noise_index = (s->noise_index + 1) & (NOISE_TAB_SIZE - 1);
+ exponents[i << bsize >> esize] * mult1;
+ s->noise_index = (s->noise_index + 1) &
+ (NOISE_TAB_SIZE - 1);
}
n1 = s->exponent_high_sizes[bsize];
/* compute power of high bands */
exponents = s->exponents[ch] +
- (s->high_band_start[bsize]<<bsize>>esize);
+ (s->high_band_start[bsize] << bsize >> esize);
last_high_band = 0; /* avoid warning */
- for(j=0;j<n1;j++) {
+ for (j = 0; j < n1; j++) {
n = s->exponent_high_bands[s->frame_len_bits -
- s->block_len_bits][j];
+ s->block_len_bits][j];
if (s->high_band_coded[ch][j]) {
float e2, v;
e2 = 0;
- for(i = 0;i < n; i++) {
- v = exponents[i<<bsize>>esize];
+ for (i = 0; i < n; i++) {
+ v = exponents[i << bsize >> esize];
e2 += v * v;
}
- exp_power[j] = e2 / n;
+ exp_power[j] = e2 / n;
last_high_band = j;
tprintf(s->avctx, "%d: power=%f (%d)\n", j, exp_power[j], n);
}
- exponents += n<<bsize>>esize;
+ exponents += n << bsize >> esize;
}
/* main freqs and high freqs */
- exponents = s->exponents[ch] + (s->coefs_start<<bsize>>esize);
- for(j=-1;j<n1;j++) {
- if (j < 0) {
- n = s->high_band_start[bsize] -
- s->coefs_start;
- } else {
+ exponents = s->exponents[ch] + (s->coefs_start << bsize >> esize);
+ for (j = -1; j < n1; j++) {
+ if (j < 0)
+ n = s->high_band_start[bsize] - s->coefs_start;
+ else
n = s->exponent_high_bands[s->frame_len_bits -
- s->block_len_bits][j];
- }
+ s->block_len_bits][j];
if (j >= 0 && s->high_band_coded[ch][j]) {
/* use noise with specified power */
mult1 = sqrt(exp_power[j] / exp_power[last_high_band]);
/* XXX: use a table */
- mult1 = mult1 * pow(10, s->high_band_values[ch][j] * 0.05);
- mult1 = mult1 / (s->max_exponent[ch] * s->noise_mult);
+ mult1 = mult1 * pow(10, s->high_band_values[ch][j] * 0.05);
+ mult1 = mult1 / (s->max_exponent[ch] * s->noise_mult);
mult1 *= mdct_norm;
- for(i = 0;i < n; i++) {
- noise = s->noise_table[s->noise_index];
+ for (i = 0; i < n; i++) {
+ noise = s->noise_table[s->noise_index];
s->noise_index = (s->noise_index + 1) & (NOISE_TAB_SIZE - 1);
- *coefs++ = noise *
- exponents[i<<bsize>>esize] * mult1;
+ *coefs++ = noise * exponents[i << bsize >> esize] * mult1;
}
- exponents += n<<bsize>>esize;
+ exponents += n << bsize >> esize;
} else {
/* coded values + small noise */
- for(i = 0;i < n; i++) {
- noise = s->noise_table[s->noise_index];
+ for (i = 0; i < n; i++) {
+ noise = s->noise_table[s->noise_index];
s->noise_index = (s->noise_index + 1) & (NOISE_TAB_SIZE - 1);
- *coefs++ = ((*coefs1++) + noise) *
- exponents[i<<bsize>>esize] * mult;
+ *coefs++ = ((*coefs1++) + noise) *
+ exponents[i << bsize >> esize] * mult;
}
- exponents += n<<bsize>>esize;
+ exponents += n << bsize >> esize;
}
}
/* very high freqs : noise */
- n = s->block_len - s->coefs_end[bsize];
- mult1 = mult * exponents[((-1<<bsize))>>esize];
- for(i = 0; i < n; i++) {
- *coefs++ = s->noise_table[s->noise_index] * mult1;
+ n = s->block_len - s->coefs_end[bsize];
+ mult1 = mult * exponents[((-1 << bsize)) >> esize];
+ for (i = 0; i < n; i++) {
+ *coefs++ = s->noise_table[s->noise_index] * mult1;
s->noise_index = (s->noise_index + 1) & (NOISE_TAB_SIZE - 1);
}
} else {
/* XXX: optimize more */
- for(i = 0;i < s->coefs_start; i++)
+ for (i = 0; i < s->coefs_start; i++)
*coefs++ = 0.0;
n = nb_coefs[ch];
- for(i = 0;i < n; i++) {
- *coefs++ = coefs1[i] * exponents[i<<bsize>>esize] * mult;
- }
+ for (i = 0; i < n; i++)
+ *coefs++ = coefs1[i] * exponents[i << bsize >> esize] * mult;
n = s->block_len - s->coefs_end[bsize];
- for(i = 0;i < n; i++)
+ for (i = 0; i < n; i++)
*coefs++ = 0.0;
}
}
@@ -710,12 +707,12 @@ static int wma_decode_block(WMACodecContext *s)
dump_floats(s, "coefs", 1, s->coefs[ch], s->block_len);
}
}
-#endif
+#endif /* TRACE */
if (s->ms_stereo && s->channel_coded[1]) {
/* nominal case for ms stereo: we do it before mdct */
/* no need to optimize this case because it should almost
- never happen */
+ * never happen */
if (!s->channel_coded[0]) {
tprintf(s->avctx, "rare ms-stereo case happened\n");
memset(s->coefs[0], 0, sizeof(float) * s->block_len);
@@ -732,9 +729,9 @@ next:
int n4, index;
n4 = s->block_len / 2;
- if(s->channel_coded[ch]){
+ if (s->channel_coded[ch])
mdct->imdct_calc(mdct, s->output, s->coefs[ch]);
- }else if(!(s->ms_stereo && ch==1))
+ else if (!(s->ms_stereo && ch == 1))
memset(s->output, 0, sizeof(s->output));
/* multiply by the window and add in the frame */
@@ -758,13 +755,14 @@ static int wma_decode_frame(WMACodecContext *s, float **samples,
int ret, ch;
#ifdef TRACE
- tprintf(s->avctx, "***decode_frame: %d size=%d\n", s->frame_count++, s->frame_len);
-#endif
+ tprintf(s->avctx, "***decode_frame: %d size=%d\n",
+ s->frame_count++, s->frame_len);
+#endif /* TRACE */
/* read each block */
s->block_num = 0;
s->block_pos = 0;
- for(;;) {
+ for (;;) {
ret = wma_decode_block(s);
if (ret < 0)
return -1;
@@ -781,8 +779,9 @@ static int wma_decode_frame(WMACodecContext *s, float **samples,
s->frame_len * sizeof(*s->frame_out[ch]));
#ifdef TRACE
- dump_floats(s, "samples", 6, samples[ch] + samples_offset, s->frame_len);
-#endif
+ dump_floats(s, "samples", 6, samples[ch] + samples_offset,
+ s->frame_len);
+#endif /* TRACE */
}
return 0;
@@ -791,9 +790,9 @@ static int wma_decode_frame(WMACodecContext *s, float **samples,
static int wma_decode_superframe(AVCodecContext *avctx, void *data,
int *got_frame_ptr, AVPacket *avpkt)
{
- AVFrame *frame = data;
+ AVFrame *frame = data;
const uint8_t *buf = avpkt->data;
- int buf_size = avpkt->size;
+ int buf_size = avpkt->size;
WMACodecContext *s = avctx->priv_data;
int nb_frames, bit_offset, i, pos, len, ret;
uint8_t *q;
@@ -802,7 +801,7 @@ static int wma_decode_superframe(AVCodecContext *avctx, void *data,
tprintf(avctx, "***decode_superframe:\n");
- if(buf_size==0){
+ if (buf_size == 0) {
s->last_superframe_len = 0;
return 0;
}
@@ -814,15 +813,14 @@ static int wma_decode_superframe(AVCodecContext *avctx, void *data,
}
buf_size = avctx->block_align;
- init_get_bits(&s->gb, buf, buf_size*8);
+ init_get_bits(&s->gb, buf, buf_size * 8);
if (s->use_bit_reservoir) {
/* read super frame header */
skip_bits(&s->gb, 4); /* super frame index */
nb_frames = get_bits(&s->gb, 4) - (s->last_superframe_len <= 0);
- } else {
+ } else
nb_frames = 1;
- }
/* get output buffer */
frame->nb_samples = nb_frames * s->frame_len;
@@ -830,7 +828,7 @@ static int wma_decode_superframe(AVCodecContext *avctx, void *data,
av_log(avctx, AV_LOG_ERROR, "get_buffer() failed\n");
return ret;
}
- samples = (float **)frame->extended_data;
+ samples = (float **) frame->extended_data;
samples_offset = 0;
if (s->use_bit_reservoir) {
@@ -847,24 +845,24 @@ static int wma_decode_superframe(AVCodecContext *avctx, void *data,
if ((s->last_superframe_len + ((bit_offset + 7) >> 3)) >
MAX_CODED_SUPERFRAME_SIZE)
goto fail;
- q = s->last_superframe + s->last_superframe_len;
+ q = s->last_superframe + s->last_superframe_len;
len = bit_offset;
while (len > 7) {
- *q++ = (get_bits)(&s->gb, 8);
+ *q++ = (get_bits) (&s->gb, 8);
len -= 8;
}
- if (len > 0) {
- *q++ = (get_bits)(&s->gb, len) << (8 - len);
- }
+ if (len > 0)
+ *q++ = (get_bits) (&s->gb, len) << (8 - len);
memset(q, 0, FF_INPUT_BUFFER_PADDING_SIZE);
/* XXX: bit_offset bits into last frame */
- init_get_bits(&s->gb, s->last_superframe, s->last_superframe_len * 8 + bit_offset);
+ init_get_bits(&s->gb, s->last_superframe,
+ s->last_superframe_len * 8 + bit_offset);
/* skip unused bits */
if (s->last_bitoffset > 0)
skip_bits(&s->gb, s->last_bitoffset);
/* this frame is stored in the last superframe and in the
- current one */
+ * current one */
if (wma_decode_frame(s, samples, samples_offset) < 0)
goto fail;
samples_offset += s->frame_len;
@@ -875,23 +873,24 @@ static int wma_decode_superframe(AVCodecContext *avctx, void *data,
pos = bit_offset + 4 + 4 + s->byte_offset_bits + 3;
if (pos >= MAX_CODED_SUPERFRAME_SIZE * 8 || pos > buf_size * 8)
return AVERROR_INVALIDDATA;
- init_get_bits(&s->gb, buf + (pos >> 3), (buf_size - (pos >> 3))*8);
+ init_get_bits(&s->gb, buf + (pos >> 3), (buf_size - (pos >> 3)) * 8);
len = pos & 7;
if (len > 0)
skip_bits(&s->gb, len);
s->reset_block_lengths = 1;
- for(i=0;i<nb_frames;i++) {
+ for (i = 0; i < nb_frames; i++) {
if (wma_decode_frame(s, samples, samples_offset) < 0)
goto fail;
samples_offset += s->frame_len;
}
/* we copy the end of the frame in the last frame buffer */
- pos = get_bits_count(&s->gb) + ((bit_offset + 4 + 4 + s->byte_offset_bits + 3) & ~7);
+ pos = get_bits_count(&s->gb) +
+ ((bit_offset + 4 + 4 + s->byte_offset_bits + 3) & ~7);
s->last_bitoffset = pos & 7;
- pos >>= 3;
- len = buf_size - pos;
+ pos >>= 3;
+ len = buf_size - pos;
if (len > MAX_CODED_SUPERFRAME_SIZE || len < 0) {
av_log(s->avctx, AV_LOG_ERROR, "len %d invalid\n", len);
goto fail;
@@ -907,12 +906,13 @@ static int wma_decode_superframe(AVCodecContext *avctx, void *data,
av_dlog(s->avctx, "%d %d %d %d outbytes:%td eaten:%d\n",
s->frame_len_bits, s->block_len_bits, s->frame_len, s->block_len,
- (int8_t *)samples - (int8_t *)data, avctx->block_align);
+ (int8_t *) samples - (int8_t *) data, avctx->block_align);
*got_frame_ptr = 1;
return avctx->block_align;
- fail:
+
+fail:
/* when error, we reset the bit reservoir */
s->last_superframe_len = 0;
return -1;
@@ -922,8 +922,8 @@ static av_cold void flush(AVCodecContext *avctx)
{
WMACodecContext *s = avctx->priv_data;
- s->last_bitoffset=
- s->last_superframe_len= 0;
+ s->last_bitoffset =
+ s->last_superframe_len = 0;
}
AVCodec ff_wmav1_decoder = {