2009/7/12 Vitor Sessak <[email protected]>: > cmcq wrote: >> >> Author: cmcq >> Date: Sun Jul 12 13:19:21 2009 >> New Revision: 4678 >> >> Log: >> Remove incorrect comment. An FIR filter doesn't need previous output. >> >> Modified: >> amr/amr-ffmpeg.diff >> >> Modified: amr/amr-ffmpeg.diff >> >> ============================================================================== >> --- amr/amr-ffmpeg.diff Sun Jul 12 13:10:09 2009 (r4677) >> +++ amr/amr-ffmpeg.diff Sun Jul 12 13:19:21 2009 (r4678) >> @@ -113,3 +113,13 @@ Index: libavcodec/celp_filters.h >> * LP synthesis filter. >> * @param out [out] pointer to output buffer >> * - the array out[-filter_length, -1] must >> +@@ -101,9 +118,6 @@ >> + * @param buffer_length amount of data to process >> + * @param filter_length filter length (10 for 10th order LP filter) >> + * >> +- * @note Output buffer must contain filter_length samples of past >> +- * speech data before pointer. >> +- * >> + * Routine applies A(z) filter to given speech data. >> + */ >> + void ff_celp_lp_zero_synthesis_filterf( > >> >> int i,n; >> >> // Avoids a +1 in the inner loop. >> filter_length++; >> >> for(n=0; n<buffer_length; n++) >> { >> out[n] = in[n]; >> for(i=1; i<filter_length; i++) >> out[n] -= filter_coeffs[i-1] * out[n-i]; > > When n==0 and i==filter_length-1, one have > > out[0] -= filter_coeffs[filter_length-2] * out[-filter_length+1]; > > So I'd say one really need some past data in *out buffer... > > -Vitor
The snippet is ff_celp_lp_synthesis_filterf. The comment is for ff_celp_lp_zero_synthesis_filterf. _______________________________________________ FFmpeg-soc mailing list [email protected] https://lists.mplayerhq.hu/mailman/listinfo/ffmpeg-soc
