- 19 Dec, 2018 1 commit
-
-
Carl Eugen Hoyos authored
Silences a clang warning when not compiling for x86: libswscale/utils.c:345:13: warning: while loop has empty body Suggested-by: Nicolas George
-
- 03 Apr, 2018 1 commit
-
-
wm4 authored
PSEUDOPAL pixel formats are not paletted, but carried a palette with the intention of allowing code to treat unpaletted formats as paletted. The palette simply mapped the byte values to the resulting RGB values, making it some sort of LUT for RGB conversion. It was used for 1 byte formats only: RGB4_BYTE, BGR4_BYTE, RGB8, BGR8, GRAY8. The first 4 are awfully obscure, used only by some ancient bitmap formats. The last one, GRAY8, is more common, but its treatment is grossly incorrect. It considers full range GRAY8 only, so GRAY8 coming from typical Y video planes was not mapped to the correct RGB values. This cannot be fixed, because AVFrame.color_range can be freely changed at runtime, and there is nothing to ensure the pseudo palette is updated. Also, nothing actually used the PSEUDOPAL palette data, except xwdenc (trivially changed in the previous commit). All other code had to treat it as a special case, just to ignore or to propagate palette data. In conclusion, this was just a very strange old mechnaism that has no real justification to exist anymore (although it may have been nice and useful in the past). Now it's an artifact that makes the API harder to use: API users who allocate their own pixel data have to be aware that they need to allocate the palette, or FFmpeg will crash on them in _some_ situations. On top of this, there was no API to allocate the pseuo palette outside of av_frame_get_buffer(). This patch not only deprecates AV_PIX_FMT_FLAG_PSEUDOPAL, but also makes the pseudo palette optional. Nothing accesses it anymore, though if it's set, it's propagated. It's still allocated and initialized for compatibility with API users that rely on this feature. But new API users do not need to allocate it. This was an explicit goal of this patch. Most changes replace AV_PIX_FMT_FLAG_PSEUDOPAL with FF_PSEUDOPAL. I first tried #ifdefing all code, but it was a mess. The FF_PSEUDOPAL macro reduces the mess, and still allows defining FF_API_PSEUDOPAL to 0. Passes FATE with FF_API_PSEUDOPAL enabled and disabled. In addition, FATE passes with FF_API_PSEUDOPAL set to 1, but with allocation functions manually changed to not allocating a palette.
-
- 14 Nov, 2017 1 commit
-
-
Dale Curtis authored
The macros for ICC and MSVC correctly push and pop the diagnostic state of the compiler when disabling deprecation warnings. The ones for clang/gcc should do the same. Without this, if a blanket deprecation warning is applied to the code base it'll be flipped back on incorrectly with FF_ENABLE_DEPRECATION_WARNINGS. Signed-off-by: Dale Curtis <dalecurtis@chromium.org> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
-
- 31 Aug, 2017 1 commit
-
-
Martin Storsjö authored
We currently only have exported data symbols within libavcodec, but the concept is easy to extend to other libraries if necessary. The attribute declaration needs to be in a private header though, since we can't use CONFIG_SHARED in public installed headers. Signed-off-by: Martin Storsjö <martin@martin.st>
-
- 10 Apr, 2017 1 commit
-
-
Michael Niedermayer authored
This avoids potential undefined behavior in debug mode while still allowing developers which want to check for potential additional overflows to do so by manually enabling this. Reviewed-by: wm4 Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
-
- 31 Mar, 2017 1 commit
-
-
Martin Storsjö authored
Previously, the former form always produced a manually aligned, padded buffer, while the latter can use DECLARE_ALIGNED, if that amount of stack alignment is supported. libavutil/internal.h needs to include mem.h, since it uses the DECLARE_ALIGNED macro. Signed-off-by: Martin Storsjö <martin@martin.st>
-
- 20 Feb, 2017 1 commit
-
-
Michael Niedermayer authored
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
-
- 19 Feb, 2017 1 commit
-
-
Michael Niedermayer authored
Suggested-by: Matt Wolenetz <wolenetz@google.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
-
- 12 Jan, 2017 1 commit
-
-
James Almer authored
Fixes compilation with hardcoded tables after eaff1aa0 and e71b8119Reviewed-by: Timo Rothenpieler <timo@rothenpieler.org> Signed-off-by: James Almer <jamrial@gmail.com>
-
- 17 Aug, 2016 1 commit
-
-
Marton Balint authored
Signed-off-by: Marton Balint <cus@passwd.hu>
-
- 03 Aug, 2016 1 commit
-
-
James Almer authored
Signed-off-by: James Almer <jamrial@gmail.com> Signed-off-by: Anton Khirnov <anton@khirnov.net>
-
- 22 Mar, 2016 1 commit
-
-
Ganesh Ajjanagadde authored
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>
-
- 18 Mar, 2016 1 commit
-
-
Ganesh Ajjanagadde authored
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>
-
- 12 Mar, 2016 1 commit
-
-
Michael Niedermayer authored
document the issue with av_tempfile() Tested-by: Hendrik Leppkes <h.leppkes@gmail.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
-
- 25 Dec, 2015 1 commit
-
-
Ganesh Ajjanagadde authored
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>
-
- 14 Dec, 2015 1 commit
-
-
Janne Grunau authored
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.
-
- 07 Dec, 2015 1 commit
-
-
Timothy Gu authored
-
- 15 Nov, 2015 1 commit
-
-
Michael Niedermayer authored
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>
-
- 16 Oct, 2015 1 commit
-
-
Ganesh Ajjanagadde authored
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>
-
- 05 Sep, 2015 1 commit
-
-
Hendrik Leppkes authored
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.
-
- 18 Aug, 2015 1 commit
-
-
Ronald S. Bultje authored
-
- 11 Aug, 2015 1 commit
-
-
Andreas Cadhalpun authored
The table is used in libavutil/eval.c. Reviewed-by: Michael Niedermayer <michael@niedermayer.cc> Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
-
- 07 Jul, 2015 1 commit
-
-
Chris Watkins authored
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>
-
- 08 Jun, 2015 1 commit
-
-
Luca Barbato authored
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
-
- 06 May, 2015 1 commit
-
-
Michael Niedermayer authored
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
-
- 06 Mar, 2015 1 commit
-
-
Peter Tissen authored
This hunk was missing in the github pull request when i downloaded it, but is needed Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
-
- 10 Feb, 2015 1 commit
-
-
wm4 authored
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
-
- 05 Jan, 2015 1 commit
-
-
Michael Niedermayer authored
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
-
- 24 Nov, 2014 1 commit
-
-
Vittorio Giovara authored
-
- 15 Aug, 2014 1 commit
-
-
Gabriel Dume authored
Signed-off-by: Diego Biurrun <diego@biurrun.de>
-
- 04 Aug, 2014 1 commit
-
-
Diego Biurrun authored
-
- 25 Apr, 2014 1 commit
-
-
James Almer authored
Signed-off-by: James Almer <jamrial@gmail.com> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
-
- 24 Apr, 2014 2 commits
-
-
Janne Grunau authored
-
Carl Eugen Hoyos authored
The Windows runtime aborts if it finds %t or %z. Fixes ticket #3472. Reviewed-by: Ronald Bultje
-
- 22 Apr, 2014 1 commit
-
-
Michael Niedermayer authored
These are similar to the existing FF_ALLOCZ_OR_GOTO & FF_ALLOC_OR_GOTO Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
-
- 26 Jan, 2014 1 commit
-
-
Michael Niedermayer authored
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 fb0c9d41Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
-
- 25 Jan, 2014 1 commit
-
-
Janne Grunau authored
Added libavutil/timer.h include to all files with {START,STOP}_TIMER.
-
- 09 Dec, 2013 1 commit
-
-
Diego Biurrun authored
Simplifies host/target libc detection splitting.
-
- 21 Oct, 2013 1 commit
-
-
Carl Eugen Hoyos authored
-
- 17 Oct, 2013 1 commit
-
-
Stefano Sabatini authored
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.
-