On 12/22/15, Ganesh Ajjanagadde <gajjanaga...@gmail.com> wrote: > On Tue, Dec 22, 2015 at 12:46 AM, Paul B Mahol <one...@gmail.com> wrote: >> On 12/22/15, Ganesh Ajjanagadde <gajjanaga...@gmail.com> wrote: >>> 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 tests are also removed, and aemphasis is now available across >>> all platforms. >>> >>> Signed-off-by: Ganesh Ajjanagadde <gajjanaga...@gmail.com> >>> --- >>> configure | 26 -------------------------- >>> libavfilter/af_aemphasis.c | 13 ++++++------- >>> 2 files changed, 6 insertions(+), 33 deletions(-) >>> >>> diff --git a/configure b/configure >>> index 0227540..46021c4 100755 >>> --- a/configure >>> +++ b/configure >>> @@ -1070,21 +1070,6 @@ int main(void){ $func(); } >>> EOF >>> } >>> >>> -check_complexfunc(){ >>> - log check_complexfunc "$@" >>> - func=$1 >>> - narg=$2 >>> - shift 2 >>> - test $narg = 2 && args="f, g" || args="f * I" >>> - disable $func >>> - check_ld "cc" "$@" <<EOF && enable $func >>> -#include <complex.h> >>> -#include <math.h> >>> -float foo(complex float f, complex float g) { return $func($args); } >>> -int main(void){ return (int) foo; } >>> -EOF >>> -} >>> - >>> check_mathfunc(){ >>> log check_mathfunc "$@" >>> func=$1 >>> @@ -1803,11 +1788,6 @@ INTRINSICS_LIST=" >>> intrinsics_neon >>> " >>> >>> -COMPLEX_FUNCS=" >>> - cabs >>> - cexp >>> -" >>> - >>> MATH_FUNCS=" >>> atanf >>> atan2f >>> @@ -1944,7 +1924,6 @@ HAVE_LIST=" >>> $ARCH_FEATURES >>> $ATOMICS_LIST >>> $BUILTIN_LIST >>> - $COMPLEX_FUNCS >>> $HAVE_LIST_CMDLINE >>> $HAVE_LIST_PUB >>> $HEADERS_LIST >>> @@ -2835,7 +2814,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" >>> @@ -5379,10 +5357,6 @@ for func in $MATH_FUNCS; do >>> eval check_mathfunc $func \${${func}_args:-1} >>> done >>> >>> -for func in $COMPLEX_FUNCS; do >>> - eval check_complexfunc $func \${${func}_args:-1} >>> -done >>> - >>> # these are off by default, so fail if requested and not available >>> enabled avfoundation_indev && { check_header_objcc >>> AVFoundation/AVFoundation.h || disable avfoundation_indev; } >>> enabled avfoundation_indev && { check_lib2 CoreGraphics/CoreGraphics.h >>> CGGetActiveDisplayList -framework CoreGraphics || >>> diff --git a/libavfilter/af_aemphasis.c b/libavfilter/af_aemphasis.c >>> index 2966f77..a5b8e30 100644 >>> --- a/libavfilter/af_aemphasis.c >>> +++ b/libavfilter/af_aemphasis.c >>> @@ -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) >>> -- >>> 2.6.4 >>> >>> _______________________________________________ >>> ffmpeg-devel mailing list >>> ffmpeg-devel@ffmpeg.org >>> http://ffmpeg.org/mailman/listinfo/ffmpeg-devel >>> >> >> ok > > I assume by this you are ok with the configure change as well. > Personally, I think the effort needed for writing the configure hacks > is higher than using real arithmetic, and hence I removed it to help > ensure it is not added back again. > > This filter was added during the next version work, so does not need a > Changelog update. Thanks, will push later. >
Please leave configure check alone, I'm writting some code that uses complex again. _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel