summaryrefslogtreecommitdiff
path: root/libavcodec
Commit message (Collapse)AuthorAge
* dcadec: simplify decoding of VQ high frequenciesChristophe Gisquet2014-02-28
| | | | | | | | | | | | | | | | | | | The vector dequantization has a test in a loop preventing effective SIMD implementation. By moving it out of the loop, this loop can be DSPized. Therefore, modify the current DSP implementation. In particular, the DSP implementation no longer has to handle null loop sizes. The decode_hf implementations have following timings: For x86 Arrandale: C SSE SSE2 SSE4 win32: 260 162 119 104 win64: 242 N/A 89 72 The arm NEON optimizations follow in a later patch as external asm. The now unused check for the y modifier in arm inline asm is removed from configure.
* dca: factorize scaling in inverse ADPCMJanne Grunau2014-02-28
| | | | | | | | | Based on a patch from Christophe Gisquet. Unrolling of the m == 0 case avoids a possible use of the uninitilized value sum when s->predictor_history is not set. I failed to find a sample for it. It also reduced the cycle count from 220 to 150 on sandy bridge, x86_64 linux, gcc 4.8.2 compared to his patch.
* x86: synth filter float: implement SSE2 versionChristophe Gisquet2014-02-28
| | | | | | | | | | | | | | Timings for Arrandale: C SSE win32: 2108 334 win64: 1152 322 Factorizing the inner loop with a call/jmp is a >15 cycles cost, even with the jmp destination being aligned. Unrolling for ARCH_X86_64 is a 20 cycles gain. Signed-off-by: Janne Grunau <janne-libav@jannau.net>
* dcadsp: scan coefficients linearly in dca_lfe_firChristophe Gisquet2014-02-28
| | | | | | This change is inspired by x86 asm where it frees a register. Signed-off-by: Janne Grunau <janne-libav@jannau.net>
* x86: dcadsp: implement SSE lfe_dirChristophe Gisquet2014-02-28
| | | | | | | | Results for Arrandale/Windows: 32: 1670 -> 316 64: 728 -> 298 Signed-off-by: Janne Grunau <janne-libav@jannau.net>
* dcadec: remove scaling in lfe_interpolation_firChristophe Gisquet2014-02-28
| | | | | | | The scaling factor is constant so it is faster to scale the FIR coefficients in the tables during compilation. Signed-off-by: Janne Grunau <janne-libav@jannau.net>
* proresenc: Reuse proper dsputil infrastructure for FDCTDiego Biurrun2014-02-28
|
* prores: Drop DSP infrastructure for prores encoder bitsDiego Biurrun2014-02-28
| | | | None of the encoder bits are arch-optimized.
* proresenc: Drop unnecessary DCT permutation bitsDiego Biurrun2014-02-28
| | | | No permutation is necessary for the FDCT.
* prores: Use consistent names for DSP arch initialization functionsDiego Biurrun2014-02-28
|
* Give IDCT matrix transpose macro a more descriptive nameDiego Biurrun2014-02-27
| | | | This also avoids a macro name clash and related warning on ARM.
* build: Do not redundantly specifiy H.263-related object files for MSMPEG4v*Diego Biurrun2014-02-26
| | | | These are already covered through dependencies specified in configure.
* parser: cosmetics: Drop some unnecessary parenthesesDiego Biurrun2014-02-25
|
* parser: K&R formatting cosmeticsLuca Barbato2014-02-25
| | | | Signed-off-by: Diego Biurrun <diego@biurrun.de>
* parser: Remove commented-out cruftDiego Biurrun2014-02-25
|
* libx265: Properly handled dynamic linking with MSVCDerek Buitenhuis2014-02-24
| | | | Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
* libx265: Support SARDerek Buitenhuis2014-02-24
| | | | Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
* libx265: Support 4:4:4Derek Buitenhuis2014-02-24
| | | | Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
* libx265: Update API usageDerek Buitenhuis2014-02-24
| | | | | | | Framerate is now a sane rational instead of an integer, and inputDepth is changed to what it actually is. Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
* Use av_frame_copy() to simplify code where appropriate.Anton Khirnov2014-02-24
|
* lavc: use AVFrame API properly in ff_reget_buffer()Anton Khirnov2014-02-24
|
* hevc: Do not left shift a negative value in hevc_loop_filter_chromaLuca Barbato2014-02-23
|
* hevc: Do not right shift a negative value in get_pcmLuca Barbato2014-02-23
|
* hevc: Drop unnecessary shifts in deblocking_filter_CTBLuca Barbato2014-02-23
| | | | beta_offset is pre-multiplied by 2.
* h264: Fix a typo from the previous commitLuca Barbato2014-02-22
| | | | | | f777504f640260337974848c7d5d7a3f064bbb45 changed a - in + CC: libav-stable@libav.org
* libvorbis: Give consistent names to all functions, structs, and definesDiego Biurrun2014-02-21
|
* h264: Lower bound check for slice offsetsVittorio Giovara2014-02-20
| | | | | | | | | | And use the value from the specification. Sample-Id: 00000451-google Found-by: Mateusz j00ru Jurczyk and Gynvael Coldwind CC: libav-stable@libav.org Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* aarch64: use EXTERN_ASM consistently for exported symbolsJanne Grunau2014-02-20
| | | | Based on e3fec3f095ab5ea08ee662942d98526aaf5e3635 for arm.
* dca: replace some memcpy by AV_COPY128Christophe Gisquet2014-02-20
| | | | Signed-off-by: Janne Grunau <janne-libav@jannau.net>
* h264: avoid undefined behavior in chroma motion compensationJanne Grunau2014-02-20
| | | | | | Makes fate-h264 pass under valgrind --undef-value-errors=yes with -cpuflags none. {avg,put}_h264_chroma_mc8_8 approximately 5% faster, {avg,put}_h264_chroma_mc4_8 2% faster both on x86 and arm.
* mpeg4video_parser: Drop pointless av_-prefix from static functionDiego Biurrun2014-02-20
|
* avcodec: Consistently name encoder init functions foo_encode_initDiego Biurrun2014-02-20
|
* x86: dsputil: Use correct file name as multiple inclusion guardDiego Biurrun2014-02-20
|
* bit_depth_template: Use file name as multiple inclusion guardDiego Biurrun2014-02-20
|
* svq3: Adjust #endif commentDiego Biurrun2014-02-20
|
* hevc: Always consider VLC NALU type mismatch fatalLuca Barbato2014-02-19
| | | | | | Sample-Id: 00001667-google Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind CC: libav-stable@libav.org
* hevc: Mention the missing SPS in the error messageLuca Barbato2014-02-19
|
* x86: dca: Add missing multiple inclusion guardsDiego Biurrun2014-02-19
|
* h264: informative error reporting in decode_slice_header()Luca Barbato2014-02-18
| | | | Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* h264: fix slice_type value reported in decode_slice_header()Luca Barbato2014-02-18
| | | | Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* doxygen: Add a number of missing function parameter descriptionsDiego Biurrun2014-02-17
|
* h264: use avpriv_request_sample for chroma_format_idcVittorio Giovara2014-02-16
|
* Move all example programs to doc/examplesDiego Biurrun2014-02-16
| | | | Also drop support for building examples in library directories.
* g2meet: validate bpp and bitmasks in the display infoMaxim Poliakovski2014-02-16
| | | | Signed-off-by: Kostya Shishkov <kostya.shishkov@gmail.com>
* ac3dec: set AV_FRAME_DATA_DOWNMIX_INFO side data.Tim Walker2014-02-15
|
* ac3: update AC3PreferredStereoDownmixMode.Tim Walker2014-02-15
| | | | | | '11b' is reserved in the A/52 specification, but newer encoders use it to indicate a Dolby Pro Logic II compatible Lt/Rt downmix.
* h264_parser: use enum values in h264_find_frame_end()Vittorio Giovara2014-02-15
|
* ppc: reduce overreads when loading 8 pixels in altivec dsp functionsJanne Grunau2014-02-14
| | | | | | | | | | | Altivec can only load naturally aligned vectors. To handle possibly unaligned data a second vector is loaded from an offset of the original location and the data is recovered through a vector permutation. Overreads are minimal if the offset for second load points to the last element of data. This is 7 for loading eight 8-bit pixels and overreads are reduced from 16 bytes to 8 bytes if the pixels are 64-bit aligned. For unaligned pixels the overread is reduced from 23 bytes to 15 bytes in the worst case.
* utvideoenc: Enable support for multiple slices and use themJan Ekström2014-02-14
| | | | | | | | | | | | The official Ut Video decoder only threads with slices, thus until now any files encoded by the libavcodec encoder have only been decodable with a single thread. The default slice count is now set to subsampled_height / 120. Also sets slices to 1 for the Ut Video encoder tests to keep them green. Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
* libx265: Remove redundant default param callDerek Buitenhuis2014-02-14
| | | | Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>