summaryrefslogtreecommitdiff
path: root/libavcodec
Commit message (Collapse)AuthorAge
* 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>
* 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>
* mss1: validate number of changeable palette entriesKostya Shishkov2012-06-27
|
* mss1: report palette changed when some additional colours were decodedKostya Shishkov2012-06-27
|
* x86: fft: replace call to memcpy by a loopChristophe Gisquet2012-06-27
| | | | | | | | | The function call was a mess to handle, and memcpy cannot make the assumptions we do in the new code. Tested on an IMC sample: 430c -> 370c. Signed-off-by: Mans Rullgard <mans@mansr.com>
* dxva2: include dxva.h if foundRonald S. Bultje2012-06-27
| | | | | | | | Apparently, some build environments require dxva.h even for dxva2, while others lack this header entirely. Including it conditionally allows building in both cases. Signed-off-by: Martin Storsjö <martin@martin.st>
* dxva2_h264: fix signaling of mbaff framesHendrik Leppkes2012-06-26
| | | | | | | The MBAFF flag may only be signaled if we're actually dealing with a full frame, and not singular fields, as it can happen in mixed content. Signed-off-by: Martin Storsjö <martin@martin.st>
* x86: fft: elf64: fix PIC buildMans Rullgard2012-06-25
| | | | | | | In a 64-bit PIC build, external functions must be called through the PLT. Signed-off-by: Mans Rullgard <mans@mansr.com>
* x86: fft: win64: fix stack alignment for memcpy() callMans Rullgard2012-06-25
|
* x86: fft: convert sse inline asm to yasmMans Rullgard2012-06-25
|
* x86: place some inline asm under #if HAVE_INLINE_ASMRonald S. Bultje2012-06-25
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* h264: use asm cabac reader under a generic conditionMans Rullgard2012-06-23
| | | | | | | | This removes a dependency on implementation details from generic code and allows easy addition of the equivalent optimisation for other architectures than x86. Signed-off-by: Mans Rullgard <mans@mansr.com>
* x86: Only use optimizations with cmov if the CPU supports the instructionDiego Biurrun2012-06-23
|
* x86: remove unused inline asm macros from dsputil_mmx.hMans Rullgard2012-06-23
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* x86: move some inline asm macros to the only places they are usedMans Rullgard2012-06-23
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* libspeexenc: add supported sample rates and channel layouts.Anton Khirnov2012-06-22
|
* utvideo: mark interlaced frames as suchHendrik Leppkes2012-06-22
| | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at> Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
* utvideo: Fix interlaced prediction for RGB utvideo.Carl Eugen Hoyos2012-06-22
| | | | Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
* cosmetics: do not use full path for local headersDiego Biurrun2012-06-22
|
* fix hardcoded tables compililation caused by missing math constantsJanne Grunau2012-06-21
| | | | | | Add -D_XOPEN_SOURCE=600 to host cflags to make the constants in math.h available. Include math.h where necessary and remove redundant M_PI defines.
* twinvq: give massive struct a name.Ronald S. Bultje2012-06-21
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* lavc: remove stats_in from AVCodecContext options table.Anton Khirnov2012-06-21
| | | | | | | | | | | | Its documentation states that it is allocated/freed by the caller, but it is declared as an AV_OPT_TYPE_STRING AVOption. Since 367732832faaf1bac4ece37cf7fef8c911e16312 the AVOptions system frees strings automatically. This can be considered an API break, since it won't work when the caller doesn't use av_malloc() to allocate the memory or wants to use the string after closing the codec. Since there is not much value in this field being an AVOption, the best solution is to remove it from the options table.
* MS Screen 1 decoderKostya Shishkov2012-06-20
|
* aacdec: Fix popping channel layouts.Alex Converse2012-06-20
| | | | | 'channel_layout' not 'channels' from the stored configuration should go to AVCodecContext's 'channel_layout'.
* Use av_gettime() in various placesMans Rullgard2012-06-20
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* dct-test: use emms_c() from libavutil instead of duplicating itMans Rullgard2012-06-20
|
* flvdec: remove incomplete, disabled seeking codeDiego Biurrun2012-06-19
|
* lavc: Extend the documentation for avcodec_init_packetSimon A. Eugster2012-06-19
| | | | | | Add a note that pkt->data and pkt->size must be initialized. Signed-off-by: Martin Storsjö <martin@martin.st>
* float_dsp: Move vector_fmac_scalar() from libavcodec to libavutilJustin Ruggles2012-06-18
|
* Add support for iLBC decoding/encoding via the external library libilbcMartin Storsjö2012-06-18
| | | | | | The library is 3-clause BSD licensed. Signed-off-by: Martin Storsjö <martin@martin.st>
* dirac: replace compound literal with normal initialiserRonald S. Bultje2012-06-18
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* vorbisdec: replace div/mod in loop with a counterMans Rullgard2012-06-18
| | | | | | 2x speedup of surround decoding on Cortex-A9. Signed-off-by: Mans Rullgard <mans@mansr.com>
* dwt: remove variable-length arraysRonald S. Bultje2012-06-17
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* Avoid C99 variable declarations within for statements.Diego Biurrun2012-06-14
| | | | | We generally do not declare variables within for statements and there are compilers that choke on such constructs.
* ppc: Rename H.264 optimization template file for consistency.Diego Biurrun2012-06-12
|
* golomb: check remaining bits during unary decoding in get_ur_golomb_jpegls()Justin Ruggles2012-06-12
| | | | | | | | | Fixes infinite loop in FLAC decoding in case of a truncated bitstream due to the safe bitstream reader returning 0's at the end. Fixes Bug 310. CC:libav-stable@libav.org
* libmp3lame: add missing layout terminatorMichael Niedermayer2012-06-10
| | | | Signed-off-by: Anton Khirnov <anton@khirnov.net>
* h264: allow cropping to AVCodecContext.width/heightMans Rullgard2012-06-09
| | | | | | | | Override the frame size from the SPS with AVCodecContext values if the latter specify a size smaller by less than one macroblock. This is required for correct cropping of MOV files from Canon cameras. Signed-off-by: Mans Rullgard <mans@mansr.com>
* iac: generate codec tables as they are supposed to beKostya Shishkov2012-06-09
| | | | | | | | | Unlike its predecessor, Indeo Audio codec generates tables depending on sampling rate. Previously decoder used pre-generated tables for 22050 Hz which obviously doesn't work with other frequencies. Many thanks to Maxim Poliakovsky for providing all needed information for this.
* indeo4: handle frame type 1 properlyKostya Shishkov2012-06-09
| | | | | It turns out that this frame type is actually intra and should be used as a reference for interframes too.
* Add a float DSP framework to libavutilJustin Ruggles2012-06-08
| | | | Move vector_fmul() from DSPContext to AVFloatDSPContext.
* PPC: Move types_altivec.h and util_altivec.h from libavcodec to libavutilJustin Ruggles2012-06-08
| | | | | This will allow for easier implementation of Altivec functions in libraries other than libavcodec.
* ARM: Move asm.S from libavcodec to libavutilJustin Ruggles2012-06-08
| | | | | This will allow for easier implementation of ARM-optimized functions in libraries other than libavcodec.
* vc1dsp: mark put/avg_vc1_mspel_mc() always_inlineMans Rullgard2012-06-08
| | | | | | | | | | This ensures that these functions are inlined into the per-position entry points, allowing constant propagation as needed for proper optimisation. 18% faster VC1 decoding on Cortex-A9. Signed-off-by: Mans Rullgard <mans@mansr.com>
* vorbis: Validate that the floor 1 X values contain no duplicates.Alex Converse2012-06-05
| | | | | Duplicate values in this vector are explicitly banned by the Vorbis I spec and cause divide-by-zero crashes later on.
* Indeo Audio decoderKostya Shishkov2012-06-05
|
* imc: make IMDCT support stereo outputKostya Shishkov2012-06-05
| | | | | This will be useful for Indeo Audio decoder which is almost the same but supports stereo.