[soc]: r4099 - amr/amrnbfloatdec.c
Author: kmalaussene Date: Thu Feb 19 22:36:55 2009 New Revision: 4099 Log: Simplify lookup of ir_filter by using lookup tables. Modified: amr/amrnbfloatdec.c Modified: amr/amrnbfloatdec.c ============================================================================== --- amr/amrnbfloatdec.c Thu Feb 19 21:39:00 2009 (r4098) +++ amr/amrnbfloatdec.c Thu Feb 19 22:36:55 2009 (r4099) @@ -776,20 +776,10 @@ void do_phase_dispersion(AMRContext *p) //FIXME: disable filtering for very low level of fixed_gain if(p->cur_frame_mode != MODE_74 && p->cur_frame_mode < MODE_102 && ir_filter_strength < 2) { - const float *ir_filter; - // assign the correct impulse response - if(ir_filter_strength == 1) { - ir_filter = ir_filter_medium; - }else { - if(p->cur_frame_mode != MODE_795) { - ir_filter = ir_filter_strong; - }else { - ir_filter = ir_filter_strong_MODE_795; - } - } - + const float **filters = p->cur_frame_mode == MODE_795 ? ir_filters_lookup_MODE_795 + : ir_filters_lookup; // circularly convolve the fixed vector with the impulse response - convolve_circ(p->fixed_vector, ir_filter); + convolve_circ(p->fixed_vector, filters[ir_filter_strength]); } // update ir filter strength history
participants (1)
-
kmalaussene