[soc]: r4815 - amr/amrnbfloatdec.c
Author: cmcq Date: Tue Jul 28 17:43:39 2009 New Revision: 4815 Log: Seperate high-pass filter from upscaling Modified: amr/amrnbfloatdec.c Modified: amr/amrnbfloatdec.c ============================================================================== --- amr/amrnbfloatdec.c Tue Jul 28 17:41:58 2009 (r4814) +++ amr/amrnbfloatdec.c Tue Jul 28 17:43:39 2009 (r4815) @@ -1137,7 +1137,6 @@ static void postfilter(AMRContext *p, fl */ static void high_pass_filter(float *high_pass_mem, float *samples) { - int i; float tmp[AMR_BLOCK_SIZE + 2]; memcpy(tmp, high_pass_mem, sizeof(float) * 2); @@ -1146,11 +1145,6 @@ static void high_pass_filter(float *high memcpy(high_pass_mem, tmp + AMR_BLOCK_SIZE, sizeof(float) * 2); ff_celp_lp_zero_synthesis_filterf(samples, high_pass_n, tmp + 2, AMR_BLOCK_SIZE, 3); - - for (i = 0; i < AMR_BLOCK_SIZE; i++) - // Post-processing up-scales by 2. It's convenient to - // scale from PCM values to [-1,1] here too. - samples[i] *= 2.0 * AMR_SAMPLE_SCALE; } /// @} @@ -1256,6 +1250,11 @@ static int amrnb_decode_frame(AVCodecCon high_pass_filter(p->high_pass_mem, buf_out); + for (i = 0; i < AMR_BLOCK_SIZE; i++) + // Post-processing up-scales by 2. It's convenient to + // scale from PCM values to [-1,1] here too. + buf_out[i] *= 2.0 * AMR_SAMPLE_SCALE; + /* Update averaged lsf vector (used for fixed gain smoothing). * * Note that lsf_avg should not incorporate the current frame's LSFs
participants (1)
-
cmcq