- 03 Jul, 2012 10 commits
-
-
Diego Biurrun authored
-
Reinhard Tartler authored
Also use it in the declaration of the various exit_program implementations in avtools. inspired by a clang-scan report.
-
Reinhard Tartler authored
the av_-prefixed attributes must not be defined outside of this file
-
Mans Rullgard authored
Currently, --enable-small turns av_always_inline into plain inline, which is more or less ignored by the compiler. While the intent of this is probably to reduce code size by avoiding some inlining, it has more far-reaching effects. We use av_always_inline in two situations: 1. The body of a function is smaller than the call overhead. Instances of these are abundant in libavutil, the bswap.h functions being good examples. 2. The function is a template relying on constant propagation through inlined calls for sane code generation. These are often found in motion compensation code. Both of these types of functions should be inlined even if targeting small code size. Although GCC has heuristics for detecting the first of these types, it is not always reliable, especially when the function uses inline assembler, which is often the reason for having those functions in the first place, so making it explicit is generally a good idea. The size increase from inlining template-type functions is usually much smaller than it seems due to different branches being mutually exclusive between the different invocations. The dead branches can, however, only be removed after inlining and constant propagation have been performed, which means the initial cost estimate for inlining these is much higher than is actually the case, resulting in GCC often making bad choices if left to its own devices. Furthermore, the GCC inliner limits how much it allows a function to grow due to automatic inlining of calls, and this appears to not take call overhead into account. When nested inlining is used, the limit may be hit before the innermost level is reached. In some cases, this has prevented inlining of type 1 functions as defined above, resulting in significant performance loss. Signed-off-by: Mans Rullgard <mans@mansr.com>
-
Luca Barbato authored
Codec change midstream gets mapped to a separate stream.
-
Luca Barbato authored
Do not assume avpacket and the decoded frames are independent. To be absolutely sure and not sprinkle av_free_packet around the code the call had been placed before getting the frame and on the error path.
-
Ronald S. Bultje authored
Signed-off-by: Martin Storsjö <martin@martin.st>
-
Mans Rullgard authored
These functions are defined conditionally so any uses need to have preprocessor guards. Signed-off-by: Mans Rullgard <mans@mansr.com>
-
Ronald S. Bultje authored
Signed-off-by: Martin Storsjö <martin@martin.st>
-
Martin Storsjö authored
Signed-off-by: Martin Storsjö <martin@martin.st>
-
- 02 Jul, 2012 14 commits
-
-
Mans Rullgard authored
Signed-off-by: Mans Rullgard <mans@mansr.com>
-
Anton Khirnov authored
-
Anton Khirnov authored
-
Anton Khirnov authored
-
Anton Khirnov authored
Substract the filename size from the data size.
-
Anton Khirnov authored
-
Anton Khirnov authored
-
Mans Rullgard authored
Signed-off-by: Mans Rullgard <mans@mansr.com>
-
Ronald S. Bultje authored
intfloat.h is a public header, and is now (since a1245d5c) included by mathematics.h, which many external callers include. This fixes building third party applications that include mathematics.h in a language that doesn't support designated initalizers. Signed-off-by: Martin Storsjö <martin@martin.st>
-
Ronald S. Bultje authored
Signed-off-by: Martin Storsjö <martin@martin.st>
-
Diego Biurrun authored
-
Kostya Shishkov authored
-
Mans Rullgard authored
Signed-off-by: Mans Rullgard <mans@mansr.com>
-
Mans Rullgard authored
Signed-off-by: Mans Rullgard <mans@mansr.com>
-
- 01 Jul, 2012 12 commits
-
-
Martin Storsjö authored
Signed-off-by: Martin Storsjö <martin@martin.st>
-
Mans Rullgard authored
This removes some code apparently left over from vlc reader debugging. Signed-off-by: Mans Rullgard <mans@mansr.com>
-
Mans Rullgard authored
Signed-off-by: Mans Rullgard <mans@mansr.com>
-
Mans Rullgard authored
Signed-off-by: Mans Rullgard <mans@mansr.com>
-
Mans Rullgard authored
Signed-off-by: Mans Rullgard <mans@mansr.com>
-
Mans Rullgard authored
This moves the mbs_per_slice declaration inside the only loop where it is used. Fixes a dead assignment. Signed-off-by: Mans Rullgard <mans@mansr.com>
-
Mans Rullgard authored
Signed-off-by: Mans Rullgard <mans@mansr.com>
-
Martin Storsjö authored
These files use NAN/INFINITY but didn't include mathematics.h to get the fallback definitions if the system lacks the macros. Signed-off-by: Martin Storsjö <martin@martin.st>
-
Ronald S. Bultje authored
Some compilers, MSVC among them, don't recognize the divisions by zero as meaning infinity/nan. These macros should, according to the standard, expand to constant expressions, but this shouldn't matter for our usage. Signed-off-by: Martin Storsjö <martin@martin.st>
-
Martin Storsjö authored
ff_wma_init is used only by wmadec and wmaenc, and neither of them can handle more than 2 channels. This fixes crashes with invalid files. Based on patch by Piotr Bandurski and Michael Niedermayer. Signed-off-by: Martin Storsjö <martin@martin.st>
-
Mans Rullgard authored
This adds macros for accessing the EFLAGS register and uses these instead of coding the entire check in inline asm. Signed-off-by: Mans Rullgard <mans@mansr.com>
-
Mans Rullgard authored
This creates proper position independent code when accessing data symbols if CONFIG_PIC is set. References to external symbols should now use the movrelx macro. Some additional code changes are required since this macro may need a register to hold the GOT pointer. Signed-off-by: Mans Rullgard <mans@mansr.com>
-
- 30 Jun, 2012 4 commits
-
-
Ronald S. Bultje authored
-
Ronald S. Bultje authored
Signed-off-by: Martin Storsjö <martin@martin.st>
-
Ronald S. Bultje authored
This gets rid of a variable-length array and a for loop in C code. Signed-off-by: Martin Storsjö <martin@martin.st>
-
Ronald S. Bultje authored
Signed-off-by: Martin Storsjö <martin@martin.st>
-