[FFmpeg-devel] [RFC] Lowpass filter

Kostya kostya.shishkov
Mon Aug 25 19:05:48 CEST 2008


On Mon, Aug 25, 2008 at 10:43:03PM +0600, Alexander E. Patrakov wrote:
> Kostya wrote:
> 
> > Here's my lowpass filter made more generic, so it will create
> > lowpass filter for any even order with any cutoff frequency.
> > 
> > I submit this in a plain form since it's easier to review
> > this way (there's not too much left from the old implementation).
> 
> 1) a general remark on the interface specification that can be addressed by
> just adding comments:
> 
> There are many types of IIR filters: Bessel, Butterworth, Chebyshev and so
> on. They all differ by their characteristics. Characteristics such as the
> transition band and the group delay must be known for applications (e.g.,
> by saying "this is a Butterworth lowpass filter" as opposed to just "a
> lowpass filter"). E.g., one may want to use your filter to "clean up" the
> LFE channel before downsampling it in the codec, and in such situation
> there is a strict requirement that the other channels are delayed by
> exactly the necessary amount so that, while encoding a low-frequency sine
> wave, the zero crossings of the filtered LFE channel and the delayed
> non-LFE channels match.

Since I'm no filter expert, I choosed the easiest IIR filter - i.e. Butterworth.
Who knows, implementation may be changed in the future.
And I still believe delay = f(order).
 
> 2) you use int16_t for samples. Why not also create a floating-point
> version?

I just had no need to do so but changing input/output filter type is easy.
 
> -- 
> Alexander E. Patrakov




More information about the ffmpeg-devel mailing list