On Wed, Dec 23, 2015 at 03:52:50PM -0800, Ganesh Ajjanagadde wrote: > On Wed, Dec 23, 2015 at 3:38 PM, Michael Niedermayer > <mich...@niedermayer.cc> wrote: > > On Wed, Dec 23, 2015 at 10:47:20AM -0800, Ganesh Ajjanagadde wrote: > >> exp10(x) is superior to pow(10,x). > >> Note that in some cases, this may affect integers derived from pow calls. > >> When > >> spotted, this remark has been added to the relevant commit message. > >> > >> Note that if such a thing is troublesome, one can do one of two things: > >> 1. leave the pow(10,x) call as is in such places. > >> 2. replace the lavu/libm fallback by the correct pow(10,x) as opposed to > >> the > >> sloppy exp2(M_LOG2_10 * x). > >> > >> Patches tested with FATE on x86-64, GNU/Linux. > > > > some of these fail on arm > > > > i suspect thats because exp10 is only available with GNU_SOURCE > > and we dont define that nor do we want to define that > > -DGNU_SOURCE often leaks in from pkg_config files though > > ah, thanks for this. Out of curiousity, why don't we want to always > define it? My FFmpeg runs fine, built with GNU_SOURCE.
it would hide any use of GNU features and FFmpeg should work on non GNU platforms too. Its best if any non standard (c99/posix) features trigger immedeate errors for developers instead of having to depend on the roundtrip over bug reports to find and remove such uses > > > my arm setup doesnt include many external libs so GNU_SOURCE doesnt > > get enabled > > It is only with GNU_SOURCE as per man page; I assumed that was handled > via configure and the like and I thought I mentioned this somewhere > during the discussion. > > > > > i didnt think deeply abot it but would it make sense to always enable > > the fallback even if exp10 is available? that is assuming the fallback > > is faster everywhere > > The fallback is faster everywhere. The trouble is I run into linker > issues when it is available natively. ifdef ... undef ... #define exp10(x) ... might work not sure this has other issues or not > Better solution may be via an ifdef GNU_SOURCE in addition to HAVE_EXP10. > Can you please check if that works? I dont think a check based on GNU_SOURCE can work entirely reliably HAVE_EXP10 is set and the function should be available during link time but without GNU_SOURCE it is not available from the headers configure doesnt check the headers and the check is likely before it is known if GNU_SOURCE is set a libc could provide exp10 without GNU_SOURCE and a libc could lack exp10 even though GNU_SOURCE is set [...] -- Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB Everything should be made as simple as possible, but not simpler. -- Albert Einstein
signature.asc
Description: Digital signature
_______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel