summaryrefslogtreecommitdiff
path: root/libavutil/internal.h
Commit message (Collapse)AuthorAge
* avformat: factorize iso 8601 timestamp writer to a dictionary avutil functionMarton Balint2016-08-17
| | | | Signed-off-by: Marton Balint <cus@passwd.hu>
* all: move ff_exp10, ff_exp10f, ff_fast_powf to lavu/ffmath.hGanesh Ajjanagadde2016-03-22
| | | | | | | | | | | The idea is to use ffmath.h for internal implementations of math functions. Currently, it is used for variants of libm functions, but is by no means limited to such things. Note that this is not exported; use lavu/mathematics for such purposes. Reviewed-by: Ronald S. Bultje <rsbultje@gmail.com> Signed-off-by: Ganesh Ajjanagadde <gajjanag@gmail.com>
* lavc/aacenc_utils: replace powf(x,y) by expf(logf(x), y)Ganesh Ajjanagadde2016-03-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | This is ~2x faster for y not an integer on Haswell+GCC, and should generally be faster due to the fact that anyway powf essentially does this under the hood. Made an inline function in lavu/internal.h for this purpose. Note that there are some accuracy differences, that should generally be negligible. In particular, FATE still passes on this platform. Results in ~ 7% speedup in aac encoding with -march=native, Haswell+GCC. before: ffmpeg -i sin.flac -acodec aac -y sin_new.aac 6.05s user 0.06s system 104% cpu 5.821 total after: ffmpeg -i sin.flac -acodec aac -y sin_new.aac 5.67s user 0.03s system 105% cpu 5.416 total This is also faster than an alternative approach that pulls in powf, gets rid of the crufty NaN checks and other special cases, exploits knowledge about the intervals, etc. This of course does not exclude smarter approaches; just suggests that there would need to be significant work on this front of lower utility than searches for hotspots elsewhere. Reviewed-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de> Reviewed-by: Ronald S. Bultje <rsbultje@gmail.com> Signed-off-by: Ganesh Ajjanagadde <gajjanag@gmail.com>
* avutil/file: Move av_tempfile() to avutil/file_open ff_tempfile()Michael Niedermayer2016-03-12
| | | | | | | document the issue with av_tempfile() Tested-by: Hendrik Leppkes <h.leppkes@gmail.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* Merge commit '50078c1c8070dd8d1c329e8117ff30ec72489039'Hendrik Leppkes2016-01-02
|\ | | | | | | | | | | | | * commit '50078c1c8070dd8d1c329e8117ff30ec72489039': libavutil: move FFALIGN macro from common.h to macros.h Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
| * libavutil: move FFALIGN macro from common.h to macros.hJanne Grunau2015-12-14
| | | | | | | | | | | | | | | | | | Include macros.h explicitly in common.h so that external code using FFALIGN does not break. It was already implicitly included through version.h. Include macros.h in lls.h and internal.h for FFALIGN. lls.h was including common.h only for FFALIGN and internal.h was missing the include for FFALIGN. `make checkheaders` did not catch it because it's an internal header.
* | lavu/internal: add ff_exp10Ganesh Ajjanagadde2015-12-25
| | | | | | | | | | | | | | | | | | | | | | | | | | Fast, reasonably accurate 10^x. Alternative of detection of libm exp10 at configure time is not worth the trouble, since it is anyway not POSIX or ISO C, and currently only the GNU libm has it. Furthermore, GNU libm's variant is ~ 2x slower, and is ironically not correctly rounded (2 ulp off) to justify all that slowdown. Reviewed-by: James Almer <jamrial@gmail.com> Reviewed-by: Hendrik Leppkes <h.leppkes@gmail.com> Reviewed-by: Michael Niedermayer <michael@niedermayer.cc> Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>
* | cosmetics: Fix weird indentationsTimothy Gu2015-12-07
| |
* | avutil: Move av_rint64_clip_* to internal.hMichael Niedermayer2015-11-15
| | | | | | | | | | | | | | | | | | | | The function is renamed to ff_rint64_clip() This should avoid build failures on VS2012 Feel free to changes this to a different solution Reviewed-by: James Almer <jamrial@gmail.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | avutil/internal: add av_warn_unused_result to avpriv_openGanesh Ajjanagadde2015-10-16
| | | | | | | | | | | | | | | | The open syscall can obviously fail, and its return code needs to be checked. Reviewed-by: Michael Niedermayer <michael@niedermayer.cc> Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>
* | lavu: Drop FF_API_GET_CHANNEL_LAYOUT_COMPAT cruftHendrik Leppkes2015-09-05
| | | | | | | | | | FATE refs changed to accomodate for the new default behavior of the function. Numbers are now interpreted as a channel layout, instead of a number of channels.
* | Move ff_dlog from lavc to lavu.Ronald S. Bultje2015-08-18
| |
* | avutil: add ff_reverse as av_reverse replacementAndreas Cadhalpun2015-08-12
| | | | | | | | | | | | | | The table is used in libavutil/eval.c. Reviewed-by: Michael Niedermayer <michael@niedermayer.cc> Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
* | Put a space between string literals and macros.Chris Watkins2015-07-07
| | | | | | | | | | | | | | | | | | When compiling libavutil/internal.h as C++11, clang warns that a space is required between a string literal and an identifier. Put spaces in concatenations of string literals and EXTERN_PREFIX. Signed-off-by: Chris Watkins <watk@chromium.org> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge commit 'a6f19d6a9f8d1e08653d9d77581e8c823f4955c2'Michael Niedermayer2015-06-08
|\| | | | | | | | | | | | | | | | | | | | | * commit 'a6f19d6a9f8d1e08653d9d77581e8c823f4955c2': configure: Support MSVC 2015 Conflicts: configure libavutil/internal.h Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * configure: Support MSVC 2015Luca Barbato2015-06-08
| | | | | | | | | | | | | | | | | | | | | | The C runtime C99 compatibility had been improved a lot and it now rejects some of the compatibility defines provided for the older versions. Many thanks to Ray for the time spent testing. Bug-Id: 864 CC: libav-stable@libav.org
* | avutil/internal: Suppress empty body warning from emms_c()Michael Niedermayer2015-05-06
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | configure: Make compilable with VS2015 (missing hunk)Peter Tissen2015-03-06
| | | | | | | | | | | | | | This hunk was missing in the github pull request when i downloaded it, but is needed Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | avutil: move internal function out of public headerwm42015-02-10
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Factorize avpriv_mirror() outMichael Niedermayer2015-01-05
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge commit '277ff7f5dc134f1c2dfc4ea0ef3540340482e3d2'Michael Niedermayer2014-11-24
|\| | | | | | | | | | | | | | | | | | | | | * commit '277ff7f5dc134f1c2dfc4ea0ef3540340482e3d2': lavu: move internal define to the only places where it is used Conflicts: libavcodec/h264_cabac.c libavutil/internal.h Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * lavu: move internal define to the only places where it is usedVittorio Giovara2014-11-24
| |
* | Merge commit 'f929ab0569ff31ed5a59b0b0adb7ce09df3fca39'Michael Niedermayer2014-08-15
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit 'f929ab0569ff31ed5a59b0b0adb7ce09df3fca39': cosmetics: Write NULL pointer equality checks more compactly Conflicts: cmdutils.c ffmpeg_opt.c ffplay.c libavcodec/dvbsub.c libavcodec/dvdsubdec.c libavcodec/dvdsubenc.c libavcodec/dxa.c libavcodec/libxvid_rc.c libavcodec/mpegvideo.c libavcodec/mpegvideo_enc.c libavcodec/rv10.c libavcodec/tiffenc.c libavcodec/utils.c libavcodec/vc1dec.c libavcodec/zmbv.c libavdevice/v4l2.c libavformat/matroskadec.c libavformat/movenc.c libavformat/sdp.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * cosmetics: Write NULL pointer equality checks more compactlyGabriel Dume2014-08-15
| | | | | | | | Signed-off-by: Diego Biurrun <diego@biurrun.de>
* | Merge commit 'bb41115d56930b9f5d59e79dca254d1201246967'Michael Niedermayer2014-08-04
|\| | | | | | | | | | | | | | | | | | | | | * commit 'bb41115d56930b9f5d59e79dca254d1201246967': imgutils: Do not declare avpriv_set_systematic_pal2 in the public header Conflicts: libavutil/internal.h libavutil/version.h Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * imgutils: Do not declare avpriv_set_systematic_pal2 in the public headerDiego Biurrun2014-08-04
| |
* | lavu: add LOCAL_ALIGNED_32James Almer2014-04-25
| | | | | | | | | | Signed-off-by: James Almer <jamrial@gmail.com> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge remote-tracking branch 'cehoyos/master'Michael Niedermayer2014-04-25
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * cehoyos/master: Enable muxing ac-3 in caf. Use correct msvc type specifiers for ptrdiff_t and size_t. Fix vf_eq.c and vf_eq2.c compilation with !HAVE_6REGS. Fix libpostproc compilation with !HAVE_6REGS. Never write 0 as maximum bitrate for asf files. Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * | Use correct msvc type specifiers for ptrdiff_t and size_t.Carl Eugen Hoyos2014-04-24
| | | | | | | | | | | | | | | | | | | | | The Windows runtime aborts if it finds %t or %z. Fixes ticket #3472. Reviewed-by: Ronald Bultje
* | | Merge commit 'a88e1d1c598e641eecd5d43730211d91c82787c6'Michael Niedermayer2014-04-25
|\ \ \ | |/ / |/| / | |/ | | | | | | * commit 'a88e1d1c598e641eecd5d43730211d91c82787c6': lavu: add CHK_OFFS as AV_CHECK_OFFSET to check struct member offsets Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * lavu: add CHK_OFFS as AV_CHECK_OFFSET to check struct member offsetsJanne Grunau2014-04-24
| |
* | avutil/internal: add FF_ALLOC_ARRAY_OR_GOTO & FF_ALLOCZ_ARRAY_OR_GOTOMichael Niedermayer2014-04-22
| | | | | | | | | | | | These are similar to the existing FF_ALLOCZ_OR_GOTO & FF_ALLOC_OR_GOTO Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | avutil/internal.h: add timer.h backMichael Niedermayer2014-01-26
| | | | | | | | | | | | | | | | | | Without this a developer would have to add a include every time he wants to benchmark some code, this is a moderate inconvenience. This reverts the specific hunk from fb0c9d41d685abb58575c5482ca33b8cd457c5ec Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge commit 'fb0c9d41d685abb58575c5482ca33b8cd457c5ec'Michael Niedermayer2014-01-26
|\| | | | | | | | | | | | | | | | | | | | | * commit 'fb0c9d41d685abb58575c5482ca33b8cd457c5ec': avutil: remove timer.h include from internal.h Conflicts: libavcodec/ffv1dec.c libavutil/internal.h Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * avutil: remove timer.h include from internal.hJanne Grunau2014-01-25
| | | | | | | | Added libavutil/timer.h include to all files with {START,STOP}_TIMER.
* | Merge commit 'd64341e498fa46c6cf4c23d408177d7489559654'Michael Niedermayer2013-12-09
|\| | | | | | | | | | | | | | | | | | | | | * commit 'd64341e498fa46c6cf4c23d408177d7489559654': configure: Prefix libc-related variables with "libc_" Conflicts: libavdevice/Makefile libavformat/Makefile Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * configure: Prefix libc-related variables with "libc_"Diego Biurrun2013-12-09
| | | | | | | | Simplifies host/target libc detection splitting.
* | Support FF_DISABLE_DEPRECATION_WARNINGS with icc on Linux.Carl Eugen Hoyos2013-10-21
| |
* | lavu/channel_layout: change av_get_channel_layout() behavior at the next bumpStefano Sabatini2013-10-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The new syntax is preferred since it allows backward syntax compatibility with libswr when switching to the new option handling code with AV_OPT_TYPE_CHANNEL_LAYOUT. With the new parser the string: 1234 is interpreted as a channel layout mask, rather than as a number of channels, and thus it's compatible with the current way to set a channel layout as an integer (e.g. for the icl and ocl options) making use of integer option values. ff_get_channel_layout() with compat=0 will be used in the AV_OPT_TYPE_CHANNEL handler code. The user is encouraged to switch to the new forward compatible syntax, which requires to put a trailing "c" when specifying a layout as a number of channels.
* | Merge commit '09f2581dc5edb3642858d69d9a70b67e249167e9'Michael Niedermayer2013-09-20
|\| | | | | | | | | | | | | | | | | | | * commit '09f2581dc5edb3642858d69d9a70b67e249167e9': msvc/icl: Use __declspec(deprecated) Conflicts: configure Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * msvc/icl: Use __declspec(deprecated)Alex Smith2013-09-20
| | | | | | | | | | | | | | | | | | | | | | Prior to this on msvc/icl there was no handling of deprecated functions and the deprecated warning was disabled. After enabling there are a number of warnings relating to the CRT and the use of the non-secure versions of several functions. Defining _CRT_SECURE_NO_WARNINGS silences these warnings. Signed-off-by: Martin Storsjö <martin@martin.st>
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2013-08-10
|\| | | | | | | | | | | | | * qatar/master: libavutil: Make avpriv_open a library-internal function on msvcrt Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * libavutil: Make avpriv_open a library-internal function on msvcrtMartin Storsjö2013-08-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add one copy of the function into each of the libraries, similarly to what we do for log2_tab. When using static libs, only one copy of the file_open.o object file gets included, while when using shared libraries, each of them get a copy of its own. This fixes DLL builds with a statically linked C runtime, where each DLL effectively has got its own instance of the C runtime, where file descriptors can't be shared across runtimes. On systems not using msvcrt, the function is not duplicated. Signed-off-by: Martin Storsjö <martin@martin.st>
* | Merge commit '33237123c83bf4f8345e6ac889ad2e7dbd303d0e'Michael Niedermayer2013-08-10
|\| | | | | | | | | | | | | * commit '33237123c83bf4f8345e6ac889ad2e7dbd303d0e': libavutil: Enable the MSVC DLL symbol loading workaround in shared builds as well Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * libavutil: Enable the MSVC DLL symbol loading workaround in shared builds as ↵Martin Storsjö2013-08-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | well This used to only be necessary in static builds (when using the dynamically linked C runtime), since the _imp prefixed symbols do exist when linking to the actual DLL. When building testprogs, however, the current library (e.g. libavutil for some of the testprogs) is linked statically. This fixes make fate on DLL builds when using the dynamically linked C runtime. Signed-off-by: Martin Storsjö <martin@martin.st>
* | Integrate accessors.h header into internal.hReimar Döffinger2013-08-10
| | | | | | | | | | | | | | I have no idea why I added a separate header, I think there is no good reason for it. Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
* | Merge commit '869b04e89154cd92d2bcfdabcecbe3217864c099'Michael Niedermayer2013-08-08
|\| | | | | | | | | | | | | * commit '869b04e89154cd92d2bcfdabcecbe3217864c099': libavutil: add avpriv_open() to open files with close-on-exec flag Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * libavutil: add avpriv_open() to open files with close-on-exec flagRémi Denis-Courmont2013-08-07
| | | | | | | | Signed-off-by: Anton Khirnov <anton@khirnov.net>
* | Merge commit '3a7050ffed5ce061b114a11e4de4b77aba8efa0b'Michael Niedermayer2013-08-03
|\| | | | | | | | | | | | | | | | | | | * commit '3a7050ffed5ce061b114a11e4de4b77aba8efa0b': build: Add _Pragma macro to disable deprecated declaration warnings Conflicts: configure Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * build: Add _Pragma macro to disable deprecated declaration warningsDiego Biurrun2013-08-02
| |