summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* cosmetics: Consistently use C-style comments with multiple inclusion guardsDiego Biurrun2012-07-03
|
* anm: fix a few Doxygen commentsDiego Biurrun2012-07-03
|
* misc typo and wording fixesDiego Biurrun2012-07-03
|
* attributes: add av_noreturnReinhard Tartler2012-07-03
| | | | | | | Also use it in the declaration of the various exit_program implementations in avtools. inspired by a clang-scan report.
* attributes: drop pointless define guardsReinhard Tartler2012-07-03
| | | | the av_-prefixed attributes must not be defined outside of this file
* configure: do not disable av_always_inline with --enable-smallMans Rullgard2012-07-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* flvdec: initial stream switch supportLuca Barbato2012-07-03
| | | | Codec change midstream gets mapped to a separate stream.
* avplay: fix write on freed memory for rawvideoLuca Barbato2012-07-03
| | | | | | | 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.
* snow: remove a VLA used for edge emulationRonald S. Bultje2012-07-03
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* x86: lavfi: fix gradfun/yadif build with mmx/sse disabledMans Rullgard2012-07-03
| | | | | | | These functions are defined conditionally so any uses need to have preprocessor guards. Signed-off-by: Mans Rullgard <mans@mansr.com>
* snow: remove the runs[] VLA.Ronald S. Bultje2012-07-03
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* snow: Check mallocs at initMartin Storsjö2012-07-03
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* flacdec: remove redundant setting of avctx->sample_fmtMans Rullgard2012-07-02
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* asfdec: read attached pictures.Anton Khirnov2012-07-02
|
* apetag: reindentAnton Khirnov2012-07-02
|
* apetag: export attached covers as video streams.Anton Khirnov2012-07-02
|
* apetag: fix the amount of data read from binary tags.Anton Khirnov2012-07-02
| | | | Substract the filename size from the data size.
* apetag: make sure avio_get_str() doesn't read more than it should.Anton Khirnov2012-07-02
|
* mov: read itunes cover art.Anton Khirnov2012-07-02
|
* snow: remove VLA in mc_block()Mans Rullgard2012-07-02
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* intfloat: Don't use designated initializers in the public headersRonald S. Bultje2012-07-02
| | | | | | | | | | | intfloat.h is a public header, and is now (since a1245d5ca) 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>
* snow: remove a VLA.Ronald S. Bultje2012-07-02
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* doc: Remind devs to check return values, especially for malloc() et alDiego Biurrun2012-07-02
|
* MS ATC Screen (aka MSS3) decoderKostya Shishkov2012-07-02
|
* vf_yadif: move x86 init code to x86/yadif.cMans Rullgard2012-07-02
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* vf_gradfun: move x86 init code to x86/gradfun.cMans Rullgard2012-07-02
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* roqvideo: Remove a totally unused dspcontextMartin Storsjö2012-07-01
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* smacker: remove some unused codeMans Rullgard2012-07-01
| | | | | | | This removes some code apparently left over from vlc reader debugging. Signed-off-by: Mans Rullgard <mans@mansr.com>
* dsicin: remove dead assignmentMans Rullgard2012-07-01
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* aacdec: remove dead assignmentMans Rullgard2012-07-01
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* rl2: remove dead assignmentMans Rullgard2012-07-01
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* proresenc: make a variable local to the loop where it is usedMans Rullgard2012-07-01
| | | | | | | 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>
* alsdec: remove dead assignmentsMans Rullgard2012-07-01
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* opt/eval: Include mathematics.h for NAN/INFINITYMartin Storsjö2012-07-01
| | | | | | | 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>
* mathematics: Don't use division by zero in NAN/INFINITY macrosRonald S. Bultje2012-07-01
| | | | | | | | | | 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>
* wma: Lower the maximum number of channels to 2Martin Storsjö2012-07-01
| | | | | | | | | | | 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>
* x86: cpu: clean up check for cpuid instruction supportMans Rullgard2012-07-01
| | | | | | | 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>
* ARM: generate position independent code to access data symbolsMans Rullgard2012-07-01
| | | | | | | | | | | 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>
* dsputilenc_mmx: split assignment of ff_sse16_sse2 to SSE2 section.Ronald S. Bultje2012-06-30
|
* dnxhdenc: add space between function argument type and comment.Ronald S. Bultje2012-06-30
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* x86: fmtconvert: add special asm for float_to_int16_interleave_misc_*Ronald S. Bultje2012-06-30
| | | | | | This gets rid of a variable-length array and a for loop in C code. Signed-off-by: Martin Storsjö <martin@martin.st>
* attributes: Add a definition of av_always_inline for MSVCRonald S. Bultje2012-06-30
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* cmdutils: Pass the actual chosen encoder to filter_codec_optsMartin Storsjö2012-06-30
| | | | | | | This allows passing the right options to encoders when there's more than one encoder for a certain codec id. Signed-off-by: Martin Storsjö <martin@martin.st>
* os_support: Add fallback definitions for stat flagsRonald S. Bultje2012-06-30
| | | | | | | | Mingw headers provide similar defines already (unconditional #defines, without any #undef or #ifdef around it), while MSVC doesn't have them. Signed-off-by: Martin Storsjö <martin@martin.st>
* os_support: Rename the poll fallback function to ff_pollMartin Storsjö2012-06-30
| | | | | | | | | | | | The fallback function is a non-static function, we shouldn't be defining non-static functions outside of the proper ff/av prefix namespaces. This is especially important for a function like poll, which other parties (other libraries, or executables linking these libraries) also might provide similar but incompatible fallbacks for. Signed-off-by: Martin Storsjö <martin@martin.st>
* network: Check for struct pollfdMartin Storsjö2012-06-30
| | | | | | | | We need to include winsock2.h here, to make sure we have the real pollfd struct definition, if one exists, before defining the fallback poll function. Signed-off-by: Martin Storsjö <martin@martin.st>
* os_support: Don't compare a negative number against socket descriptorsMartin Storsjö2012-06-30
| | | | | | | | The fds are unsigned integers in the windows definition of struct sockfds. Due to this, the comparison if (fds[i].fd > n) was always false. Signed-off-by: Martin Storsjö <martin@martin.st>
* os_support: Include all the necessary headers for the win32 open functionRonald S. Bultje2012-06-30
| | | | | | | | | | | | | io.h is required for open and _wopen, and fcntl.h is required for the O_CREAT flag. On mingw, fcntl.h is included by os_support.h (and the mingw fcntl.h includes io.h), but include it explicitly here since this implementation requires it. Also move the #undef open up. open must not be defined to ff_win32_open while including the headers that declare the open function. On mingw, this happened in os_support.h before open was redirected. Signed-off-by: Martin Storsjö <martin@martin.st>
* x86: vc1: fix and enable optimised loop filterMans Rullgard2012-06-30
| | | | | | | | | | | | | | | | | | | | | | The problem is that the ssse3 psign instruction does the wrong thing here. Commit ea60dfe incorrectly removed a macro emulating this instruction for pre-ssse3 code. However, the emulation is incorrect, and the code relies on the behaviour of the macro. Specifically, the psign sets destination elements to zero where the corresponding source element is zero, whereas the emulation only negates destination elements where the source is negative. Furthermore, the PSIGNW_MMX macro in x86util.asm is totally bogus, which is why the original VC-1 code had an additional right shift when using it. Since the psign instruction cannot be used here, skip all the macro hell and use the working instruction sequence directly. None of this was noticed due a stray return statement in ff_vc1dsp_init_mmx() which meant that only the mmx version of the loop filter was ever used (before being removed in ea60dfe). Signed-off-by: Mans Rullgard <mans@mansr.com>
* file: Only include unistd.h if it existsRonald S. Bultje2012-06-29
| | | | | | | | | | | | It is included for the open/read/write/close functions. On MSVC, where this header does not exist, the same functions are provided by io.h, which is already included. On windows, these functions are provided by io.h. Make sure io.h is included if it exists, regardless of the setmode function. Signed-off-by: Martin Storsjö <martin@martin.st>