#define AC3_BLOCK_SIZE 256
#define AC3_MAX_BLOCKS 6
#define AC3_FRAME_SIZE (AC3_MAX_BLOCKS * 256)
+#define AC3_WINDOW_SIZE (AC3_BLOCK_SIZE * 2)
/* exponent encoding strategy */
#define EXP_REUSE 0
AC3EncodeContext *s = avctx->priv_data;
const int16_t *samples = data;
int i, j, k, v, ch;
- int16_t input_samples[AC3_BLOCK_SIZE*2];
+ int16_t input_samples[AC3_WINDOW_SIZE];
int32_t mdct_coef[AC3_MAX_BLOCKS][AC3_MAX_CHANNELS][AC3_MAX_COEFS];
uint8_t exp[AC3_MAX_BLOCKS][AC3_MAX_CHANNELS][AC3_MAX_COEFS];
uint8_t exp_strategy[AC3_MAX_BLOCKS][AC3_MAX_CHANNELS];
for(j=0;j<AC3_BLOCK_SIZE;j++) {
input_samples[j] = MUL16(input_samples[j],
ff_ac3_window[j]) >> 15;
- input_samples[AC3_BLOCK_SIZE*2-j-1] = MUL16(input_samples[AC3_BLOCK_SIZE*2-j-1],
+ input_samples[AC3_WINDOW_SIZE-j-1] = MUL16(input_samples[AC3_WINDOW_SIZE-j-1],
ff_ac3_window[j]) >> 15;
}
/* Normalize the samples to use the maximum available
precision */
- v = 14 - log2_tab(input_samples, AC3_BLOCK_SIZE*2);
+ v = 14 - log2_tab(input_samples, AC3_WINDOW_SIZE);
if (v < 0)
v = 0;
exp_samples[i][ch] = v - 9;
- lshift_tab(input_samples, AC3_BLOCK_SIZE*2, v);
+ lshift_tab(input_samples, AC3_WINDOW_SIZE, v);
/* do the MDCT */
mdct512(mdct_coef[i][ch], input_samples);