mirror of https://git.ffmpeg.org/ffmpeg.git
lavfi/af_aemphasis: remove unnecessary complex number usage
complex is not available on all platforms. Furthermore, it is trivial to rewrite complex number expressions to real arithmetic, and in fact sometimes advantageous for performance reasons: by wrapping as a complex, one forces a particular Cartesian representation that is not necessarily optimal for the purpose. Configure dependencies also removed, and aemphasis is now available across all platforms. Reviewed-by: Paul B Mahol <onemda@gmail.com> Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>
This commit is contained in:
parent
a0ec4aebab
commit
520a5d33f0
|
@ -2836,7 +2836,6 @@ unix_protocol_deps="sys_un_h"
|
|||
unix_protocol_select="network"
|
||||
|
||||
# filters
|
||||
aemphasis_filter_deps="cabs cexp"
|
||||
amovie_filter_deps="avcodec avformat"
|
||||
aresample_filter_deps="swresample"
|
||||
ass_filter_deps="libass"
|
||||
|
|
|
@ -18,8 +18,6 @@
|
|||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*/
|
||||
|
||||
#include <complex.h>
|
||||
|
||||
#include "libavutil/opt.h"
|
||||
#include "avfilter.h"
|
||||
#include "internal.h"
|
||||
|
@ -189,14 +187,15 @@ static inline void set_lp_rbj(BiquadD2 *bq, double fc, double q, double sr, doub
|
|||
|
||||
static double freq_gain(BiquadCoeffs *c, double freq, double sr)
|
||||
{
|
||||
double complex z, w;
|
||||
double zr, zi;
|
||||
|
||||
freq *= 2.0 * M_PI / sr;
|
||||
w = 0 + I * freq;
|
||||
z = 1.0 / cexp(w);
|
||||
zr = cos(freq);
|
||||
zi = -sin(freq);
|
||||
|
||||
return cabs(((double complex)c->a0 + c->a1 * z + c->a2 * z*z) /
|
||||
((double complex)1.0 + c->b1 * z + c->b2 * z*z));
|
||||
/* |(a0 + a1*z + a2*z^2)/(1 + b1*z + b2*z^2)| */
|
||||
return hypot(c->a0 + c->a1*zr + c->a2*(zr*zr-zi*zi), c->a1*zi + 2*c->a2*zr*zi) /
|
||||
hypot(1 + c->b1*zr + c->b2*(zr*zr-zi*zi), c->b1*zi + 2*c->b2*zr*zi);
|
||||
}
|
||||
|
||||
static int config_input(AVFilterLink *inlink)
|
||||
|
|
Loading…
Reference in New Issue