summaryrefslogtreecommitdiff
path: root/libavcodec
Commit message (Collapse)AuthorAge
* vorbisdec: Add missing checksLuca Barbato2013-02-25
| | | | | Rate and order must not be 0 even if the specification does not say that explicitly.
* vorbisdec: cosmeticsLuca Barbato2013-02-25
| | | | Use the commonly used "if (!var)" instead of "if (var == 0)".
* vorbisdec: Error on bark_map_size equal to 0.Michael Niedermayer2013-02-25
| | | | | | | | | | | | | | The value is used to calculate output LSP curve and a division by zero and out of array accesses would occur. CVE-2013-0894 CC: libav-stable@libav.org Reported-by: Dale Curtis <dalecurtis@chromium.org> Found-by: inferno@chromium.org Signed-off-by: Michael Niedermayer <michaelni@gmx.at> Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* dsputil_alpha.h: Add missing stddef.h header to fix standalone compilationDiego Biurrun2013-02-24
|
* ac3dec: validate channel output mode against channel countJustin Ruggles2013-02-23
| | | | | | | Damaged frames can lead to a mismatch, which can cause a segfault due to using an incorrect channel mapping. CC:libav-stable@libav.org
* Remove pointless av_cold attributes in header filesDiego Biurrun2013-02-23
| | | | | | The init functions marked as av_cold have to be executed in any case, so there is no gain from trying to mark paths leading to such functions as unlikely.
* pnm: add high-bitdepth PGMYUV support for both encoder and decoderKostya Shishkov2013-02-23
|
* libx264: change i_qfactor to use x264cli's defaultJohn Van Sickle2013-02-23
| | | | | | | | This also allows libx264 to modify its i_qfactor value when using the "-tune" setting. Previously it had a static value of 1.25 Signed-off-by: Anton Khirnov <anton@khirnov.net>
* qtrle: use AV_LOG_ERROR in an error message.Anton Khirnov2013-02-23
|
* qtrle: cosmetics, reformat CHECK_PIXEL_PTR() macroAnton Khirnov2013-02-23
|
* qtrle: add more checks against pixel_ptr being negative.Anton Khirnov2013-02-23
| | | | CC:libav-stable@libav.org
* cavs: initialize various context tables to 0Anton Khirnov2013-02-23
| | | | | | Avoids crashes with corrupted files. CC:libav-stable@libav.org
* mlpdec: do not try to allocate a zero-sized output buffer.Anton Khirnov2013-02-23
| | | | CC:libav-stable@libav.org
* flicvideo: avoid an infinite loop in byte run compressionAnton Khirnov2013-02-23
| | | | | | | When byte_run is 0, pixel_countdown is not touched and the loop will run forever. CC:libav-stable@libav.org
* loco: check that there is data left after decoding a plane.Anton Khirnov2013-02-23
| | | | CC:libav-stable@libav.org
* lagarith: avoid infinite loop in lag_rac_refill()Anton Khirnov2013-02-23
| | | | | | range == 0 happens with corrupted files CC:libav-stable@libav.org
* 4xm: check the return value of read_huffman_tables().Anton Khirnov2013-02-23
| | | | CC:libav-stable@libav.org
* x86: h264: Don't use redzone in AVX h264_deblock on Win64Matt Wolenetz2013-02-21
| | | | | | | This fixes crashes in chromium on win64 on machines with AVX (crashes that apparently aren't triggered by fate). Signed-off-by: Martin Storsjö <martin@martin.st>
* dxva2: Add missing #define to make header compile standaloneDiego Biurrun2013-02-20
|
* arm: vp8: Add missing #includes for header to compile standaloneDiego Biurrun2013-02-20
|
* h264: Get rid of unnecessary castsMartin Storsjö2013-02-20
| | | | | | | This gets rid of a number of warnings about casts discarding qualifiers from the pointer target, present since 7ebfb466a. Signed-off-by: Martin Storsjö <martin@martin.st>
* h264/svq3: Stop using draw_edgesRonald S. Bultje2013-02-19
| | | | | | | | | | | Instead, only extend edges on-demand when the motion vector actually crosses the visible decoded area using ff_emulated_edge_mc(). This changes decoding time for cathedral from 8.722sec to 8.706sec, i.e. 0.2% faster overall. More generally (VP8 uses this also), low-motion content gets significant speed improvements, whereas high-motion content tends to decode in approximately the same time. Signed-off-by: Martin Storsjö <martin@martin.st>
* h264: Don't store intra pcm samples in h->mbRonald S. Bultje2013-02-19
| | | | | | | | | Instead, keep them in the bitstream buffer until we read them verbatim, this saves a memcpy() and a subsequent clearing of the target buffer. decode_cabac+decode_mb for a sample file (CAPM3_Sony_D.jsv) goes from 6121.4 to 6095.5 cycles, i.e. 26 cycles faster. Signed-off-by: Martin Storsjö <martin@martin.st>
* get_bits: Return pointer to buffer that is the result of the alignmentRonald S. Bultje2013-02-19
| | | | | | | This allows more transparent mixing of get_bits and whole-byte access without having to touch get_bits internals. Signed-off-by: Martin Storsjö <martin@martin.st>
* h264: Add add_pixels4/8() to h264dsp, and remove add_pixels4 from dsputilRonald S. Bultje2013-02-19
| | | | | | | | | These functions are mostly H264-specific (the only other user I can spot is bink), and this allows us to special-case some functionality for H264. Also remove the 16-bit-coeff with >8bpp versions (unused) and merge the duplicate 32-bit-coeff for >8bpp (identical). Signed-off-by: Martin Storsjö <martin@martin.st>
* h264chroma: Remove duplicate 9/10 bit functionsRonald S. Bultje2013-02-19
| | | | | | | These functions do the same thing in 16 bit space and don't need any depth specific clipping. Signed-off-by: Martin Storsjö <martin@martin.st>
* vp56: Remove clear_blocks call, and clear alpha plane U/V DC onlyRonald S. Bultje2013-02-19
| | | | | | | | The non-alpha and alpha-Y planes are cleared in the idct_put/add() calls. For the alpha U/V planes, we only care about the DC for entropy context prediction purposes, the rest of the data is unused. Signed-off-by: Martin Storsjö <martin@martin.st>
* x86: dsputil: Fix h263 loop filter link error in some configurationsDaniel Kang2013-02-18
| | | | | | | This was caused by unconditionally referencing a conditionally compiled table. Now the code is also compiled conditionally. Signed-off-by: Diego Biurrun <diego@biurrun.de>
* x86: dsputil: int --> ptrdiff_t for ff_put_pixels16_mmxext line_size paramDaniel Kang2013-02-18
| | | | | | | This avoids SIMD-optimized functions having to sign-extend their line size argument manually to be able to do pointer arithmetic. Signed-off-by: Diego Biurrun <diego@biurrun.de>
* svq3: unbreak decodingMatti Hamalainen2013-02-18
| | | | a7d2861d36756b913e85681b86ed3385274e8ced removed necessary braces.
* build: make audio_frame_queue a stand-alone componentLuca Barbato2013-02-17
| | | | | Encoders requiring it have the dependency expressed in the configure.
* build: The libopencore-amrnb encoder depends on audio_frame_queueDiego Biurrun2013-02-17
| | | | | CC: libav-stable@libav.org Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* libopencore-amrwb: Make AMR-WB ifdeffery more preciseDiego Biurrun2013-02-17
| | | | | | | | The library might provide an encoder in the future, so it's better to check for the presence of the decoder rather than just the library. CC: libav-stable@libav.org Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* libopencore-amr: Conditionally compile decoder and encoder bitsDiego Biurrun2013-02-17
| | | | | CC: libav-stable@libav.org Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* libopencore-amrnb: cosmetics: Group all encoder-related code togetherDiego Biurrun2013-02-17
| | | | | CC: libav-stable@libav.org Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* dsputil: convert remaining op_pixels_funcLuca Barbato2013-02-17
| | | | | | Convert to diffptr_t the line_size parameters still int. Remove all the warnings in dsputil.c
* roqvideodec: check dimensions validityMichael Niedermayer2013-02-17
| | | | | | | | | | | | | Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind Signed-off-by: Michael Niedermayer <michaelni@gmx.at> (cherry picked from commit 3ae610451170cd5a28b33950006ff0bd23036845) Signed-off-by: Michael Niedermayer <michaelni@gmx.at> (cherry picked from commit fee26d352a52eb9f7fcd8d9167fb4a5ba015b612) CC: libav-stable@libav.org Signed-off-by: Reinhard Tartler <siretart@tauware.de>
* vqavideo: check chunk sizes before reading chunksMichael Niedermayer2013-02-17
| | | | | | | | | | | | | | | Fixes out of array writes Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind Signed-off-by: Michael Niedermayer <michaelni@gmx.at> (cherry picked from commit ab6c9332bfa1e20127a16392a0b85a4aa4840889) Signed-off-by: Michael Niedermayer <michaelni@gmx.at> (cherry picked from commit 13093f9767b922661132a3c1f4b5ba2c7338b660) CC: libav-stable@libav.org Signed-off-by: Reinhard Tartler <siretart@tauware.de>
* qdm2: check array index before use, fix out of array accessesMichael Niedermayer2013-02-17
| | | | | | | | | | | Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind Signed-off-by: Michael Niedermayer <michaelni@gmx.at> (cherry picked from commit a7ee6281f7ef1c29284e3a4cadfe0f227ffde1ed) CC: libav-stable@libav.org Signed-off-by: Reinhard Tartler <siretart@tauware.de>
* error_resilience: add required headers.Anton Khirnov2013-02-17
|
* h264: deMpegEncContextizeAnton Khirnov2013-02-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | Most of the changes are just trivial are just trivial replacements of fields from MpegEncContext with equivalent fields in H264Context. Everything in h264* other than h264.c are those trivial changes. The nontrivial parts are: 1) extracting a simplified version of the frame management code from mpegvideo.c. We don't need last/next_picture anymore, since h264 uses its own more complex system already and those were set only to appease the mpegvideo parts. 2) some tables that need to be allocated/freed in appropriate places. 3) hwaccels -- mostly trivial replacements. for dxva, the draw_horiz_band() call is moved from ff_dxva2_common_end_frame() to per-codec end_frame() callbacks, because it's now different for h264 and MpegEncContext-based decoders. 4) svq3 -- it does not use h264 complex reference system, so I just added some very simplistic frame management instead and dropped the use of ff_h264_frame_start(). Because of this I also had to move some initialization code to svq3. Additional fixes for chroma format and bit depth changes by Janne Grunau <janne-libav@jannau.net> Signed-off-by: Anton Khirnov <anton@khirnov.net>
* mpegvideo: split ff_draw_horiz_band().Anton Khirnov2013-02-15
| | | | Split out dependency on MpegEncContext.
* error_resilience: decouple ER from MpegEncContextAnton Khirnov2013-02-15
|
* svq3: remove a pointless if()Anton Khirnov2013-02-15
| | | | The H264 context is always uninitialized at this point.
* h264: remove a pointless if()Anton Khirnov2013-02-15
| | | | !encoding is always true, we do not have a H.264 encoder
* h264: simplify calls to ff_er_add_slice().Anton Khirnov2013-02-15
| | | | partitioned_frame is never set for h264 (as easily seen from git grep).
* get_buffer(): do not initialize the data.Anton Khirnov2013-02-15
| | | | | There may be more decoders that rely on this. Those should be found and fixed.
* sparc: dsputil: Simplify high_bit_depth checksDiego Biurrun2013-02-15
|
* h264idct: Replace duplicate scan8 table by appropriate #includeDiego Biurrun2013-02-15
|
* dsputil: Move STRIDE_ALIGN macro to the only place it is usedDiego Biurrun2013-02-13
|