summaryrefslogtreecommitdiff
path: root/libavcodec
Commit message (Collapse)AuthorAge
...
* WMAL: Shift output samples by the specified number of padding zeroes.Jakub Stachowski2012-05-05
| | | | Signed-off-by: Kostya Shishkov <kostya.shishkov@gmail.com>
* WMAL: Restore removed code in mclms_predict()Mashiat Sarker Shakkhar2012-05-05
| | | | | | Based on observations made by Jakub Stachowski <qbast@go2.pl> Signed-off-by: Kostya Shishkov <kostya.shishkov@gmail.com>
* png: check bit depth for PAL8/Y400A pixel formats.Ronald S. Bultje2012-05-04
| | | | | | | | Wrong bit depth can lead to invalid rowsize values, which crashes the decoder further down. Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind CC: libav-stable@libav.org
* celp filters: Do not read earlier than the start of the 'out' vector.Alex Converse2012-05-04
| | | | CC: libav-stable@libav.org
* vqavideo: return error if image size is not a multiple of block sizeMans Rullgard2012-05-03
| | | | | | | | | | | The decoder assumes in various places that the image size is a multiple of the block size, and there is no obvious way to support odd sizes. Bailing out early if the header specifies a bad size avoids various errors later on. Fixes CVE-2012-0947. Signed-off-by: Mans Rullgard <mans@mansr.com>
* mpeg12: fixed parsing in some mpeg2 streamsHendrik Leppkes2012-05-03
| | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at> Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
* Add SMPTE240M transfer characteristics flag.Hendrik Leppkes2012-05-03
| | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at> Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
* motionpixels: Clip YUV values after applying a gradient.Alex Converse2012-05-02
| | | | | | Prevents illegal reads on truncated and malformed input. CC: libav-stable@libav.org
* jpeg: handle progressive in second field of interlaced.Ronald S. Bultje2012-05-02
| | | | | | | | Progressive data is allocated later in decode_sof(), not allocating that data leads to NULL dereferences. Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind CC: libav-stable@libav.org
* ituh263dec: Implement enough of Annex O (scalability) to fix a FPE.Michael Niedermayer2012-05-02
| | | | | Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
* h263: more strictly forbid frame size changes with frame-mt.Ronald S. Bultje2012-05-02
| | | | | | | Prevents crashes because the old check was incomplete. Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind CC: libav-stable@libav.org
* h264: additional protection against unsupported size/bitdepth changes.Ronald S. Bultje2012-05-02
| | | | | | | Fixes crashes in codepaths not covered by original checks. Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind CC: libav-stable@libav.org
* tta: prevents overflows for 32bit integers in header.Ronald S. Bultje2012-05-02
| | | | | | | | This prevents sample_rate/data_length from going negative, which caused various crashes and undefined behaviour further down. Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind CC: libav-stable@libav.org
* vp8: update frame size changes on thread context switches.Ronald S. Bultje2012-05-02
| | | | | | | | | This properly synchronizes frame size changes between threads if subsequent threads abort decoding before frame size is initialized, i.e. it prevents the thread after that from ping-ponging back to the original value. Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
* snowdsp: explicitily state instruction size.Ronald S. Bultje2012-05-02
| | | | Fixes a compile error with clang at -O0.
* wmall: fix reconstructing audio with uncoded channelsKostya Shishkov2012-05-02
|
* WMAL cosmetics: fix indentationMashiat Sarker Shakkhar2012-05-02
| | | | Signed-off-by: Kostya Shishkov <kostya.shishkov@gmail.com>
* indeo3: fix motion vector validationHendrik Leppkes2012-05-01
| | | | | | | | The index of the motion vector has to be checked before being multiplied by 2 for the array index. Signed-off-by: Michael Niedermayer <michaelni@gmx.at> Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
* pcm_bluray: set bits_per_raw_sample for > 16-bitHendrik Leppkes2012-05-01
| | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at> Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
* twinvq: fix out of bounds array accessMans Rullgard2012-05-01
| | | | | | | | | ModeTab.fmode has only 3 elements, so indexing it with ftype in the initialier for 'size' is invalid when ftype == FT_PPC. This fixes crashes with gcc 4.8. Signed-off-by: Mans Rullgard <mans@mansr.com>
* WMAL: do not output last frame again if nothing was decoded in current packetJakub Stachowski2012-05-01
| | | | | | Reviewed-by: Mashiat Sarker Shakkhar <mashiat.sarker@gmail.com> Signed-off-by: Michael Niedermayer <michaelni@gmx.at> Signed-off-by: Kostya Shishkov <kostya.shishkov@gmail.com>
* WMAL: do not start decoding if frame does not end in current packetMashiat Sarker Shakkhar2012-05-01
| | | | | | | This fixes decoding of frames which span more than two packets. Tested with recit24.wma. Signed-off-by: Kostya Shishkov <kostya.shishkov@gmail.com>
* adpcm-thp: fix invalid array indexingMans Rullgard2012-05-01
| | | | | | Indexing outside array limits is invalid and breaks with gcc 4.8. Signed-off-by: Mans Rullgard <mans@mansr.com>
* ppc: add const where needed in scalarproduct_int16_altivec()Mans Rullgard2012-05-01
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* ppc: remove shift parameter from scalarproduct_int16_altivec()Mans Rullgard2012-05-01
| | | | | | | The shift parameter was removed from this interface in 7e1ce6a. This updates the Altivec implementation to match. Signed-off-by: Mans Rullgard <mans@mansr.com>
* ppc: dsputil: do unaligned block accesses correctlyMans Rullgard2012-05-01
| | | | | | | | | | | | To load unaligned vector data in the usual way, explicit vec_ld() should be used rather than dereferencing a pointer to a vector type. When the VSX extension is enabled, gcc may compile vector pointer dereferences using the VSX lxvw4x instruction instead of the lvx instruction typically used with Altivec/VMX. As the behaviour of these instructions with unaligned addresses differs, it is important that only lvx is used here. Signed-off-by: Mans Rullgard <mans@mansr.com>
* dvenc: do not call dsputil functions with stride not a multiple of 16Mans Rullgard2012-05-01
| | | | | | | | Allowing dsputil functions to assume the stride is a multiple of 16 even for smaller block sizes can simplify their implementation. This appears to be the only place this guarantee is not met. Signed-off-by: Mans Rullgard <mans@mansr.com>
* avcodec: introduce YCoCg colorspaceHendrik Leppkes2012-04-29
| | | | | | | | Non perceptual color model that aims to have an increase effectiveness in compression like the normal YCbCr while having near-lossless/lossless mapping to RGB. Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* avcodec: cosmetic cleanup on headerLuca Barbato2012-04-29
| | | | Apply coding style to the structs.
* aac sbr: align struct member by 32 byte.Ronald S. Bultje2012-04-29
| | | | | | | Required because it's used in a call to imdct_half(), which is an AVX function. Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
* 4xm: fix invalid array indexingMans Rullgard2012-04-29
| | | | | | Indexing outside arrays is invalid and breaks with gcc 4.8. Signed-off-by: Mans Rullgard <mans@mansr.com>
* rv34dsp: factorize a multiplication in the noround inverse transformChristophe GISQUET2012-04-28
| | | | Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
* rv40: perform bitwise checks in loop filterChristophe Gisquet2012-04-28
| | | | | | Down from 95 kcycles to 93 (including all called functions). Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
* rv34: remove inline keyword from rv34_decode_block().Ronald S. Bultje2012-04-28
| | | | Force-inlining increases object size by 8kB and causes a 2% slowdown.
* rv40: change a logical test into a bitwise one.Christophe Gisquet2012-04-28
| | | | Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
* rv34: remove constant parameterChristophe Gisquet2012-04-28
| | | | | | is_block2 was always 0, so just remove it, and change accordingly the code. Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
* rv40: don't always do the full prev_type searchChristophe Gisquet2012-04-28
| | | | | | 120->100 cycles. Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
* dsputil x86: revert a test back to its previous valueChristophe GISQUET2012-04-28
| | | | | | Commit 356ee8d caused the initial inversion. Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
* rv34dsp x86: implement MMX2 inverse transformChristophe Gisquet2012-04-28
| | | | | | 141 cycles down to 51. Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
* h264: new assembly version of get_cabac for x86_64 with PICRoland Scheidegger2012-04-28
| | | | | | | | | | This adds a hand-optimized assembly version for get_cabac much like the existing one, but it works if the table offsets are RIP-relative. Compared to the non-RIP-relative version this adds 2 lea instructions and it needs one extra register. get_cabac() gets about 40% faster, for an overall speedup of about 5%. Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
* h264: use one table instead of several for cabac functionsRoland Scheidegger2012-04-28
| | | | | | | | | | | | | The reason is this is easier for PIC code (in particular on darwin...). Keep the old names as pointers (static in cabac_functions.h so gcc knows these are just immediate offsets) so the c code can nicely stay the same (alternatively could use offsets directly in the functions needing the tables). This should produce the same code as before with non-pic and better code (confirmed) with pic. The assembly uses the new table but still won't work for PIC case. Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
* h264: (trivial) remove unneeded macro argument in x86/cabac.hRoland Scheidegger2012-04-28
| | | | Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
* libschroedingerdec: check mallocJordi Ortiz2012-04-28
| | | | Signed-off-by: Diego Biurrun <diego@biurrun.de>
* dsputil: fix invalid array indexingMans Rullgard2012-04-26
| | | | | | | Indexing outside an array is invalid and causes errors with gcc 4.8. Signed-off-by: Mans Rullgard <mans@mansr.com>
* fft-test: add option to set cpuflag maskMans Rullgard2012-04-25
| | | | | | This can be useful for testing. Signed-off-by: Mans Rullgard <mans@mansr.com>
* vp8: armv6: fix non-armv6t2 buildMans Rullgard2012-04-25
| | | | | | | | The assembler may fail to place literal pools close enough to instructions referencing them. An explicit .ltorg directive fixes this. Signed-off-by: Mans Rullgard <mans@mansr.com>
* vp8: armv6 optimisationsMans Rullgard2012-04-25
| | | | | | | Based on patch by Ronald S. Bultje <rsbultje@gmail.com>, partially ported from libvpx. Signed-off-by: Mans Rullgard <mans@mansr.com>
* vp8: arm: separate ARMv6 functions from NEONMans Rullgard2012-04-25
| | | | | | This is a preparation for complete ARMv6 optimisations. Signed-off-by: Mans Rullgard <mans@mansr.com>
* ARM: add some compatibility macrosMans Rullgard2012-04-25
| | | | | | This adds some macros simplifying Thumb and pre-v6T2 compatibility. Signed-off-by: Mans Rullgard <mans@mansr.com>
* Remove libdirac decoder.Diego Biurrun2012-04-23
| | | | libschroedinger is the preferred way to decode Dirac video.