summaryrefslogtreecommitdiff
path: root/libavcodec
Commit message (Collapse)AuthorAge
* vp8: convert loopfilter x86 assembly to use cpuflags().Ronald S. Bultje2012-03-03
|
* vp8: convert idct/mc x86 assembly to use cpuflags().Ronald S. Bultje2012-03-03
|
* wmaenc: fix m/s stereo encoding for the first frameJustin Ruggles2012-03-03
| | | | | | | | We need to set ms_stereo in encode_init() in order to avoid incorrectly encoding the first frame as non-m/s while flagging it as m/s. Fixes an uncomfortable pop in the left channel at the start of playback. CC:libav-stable@libav.org
* wmaenc: return s->block_align instead of recalculating itJustin Ruggles2012-03-03
|
* wmaenc: check final frame size against output packet sizeJustin Ruggles2012-03-03
| | | | | | | Currently we have an assert() that prevents the frame from being too large, but it is more user-friendly to give an error message instead of aborting on assert(). This condition is quite unlikely due to the minimum bit rate check in encode_init(), but it is still worth having.
* wmaenc: require a large enough output buffer to prevent overwritesJustin Ruggles2012-03-03
| | | | | | | | The maximum theoretical frame size is around 17000 bytes. Although in practice it will generally be much smaller, we require a larger buffer just to be safe. CC: libav-stable@libav.org
* wmaenc: limit allowed sample rate to 48kHzJustin Ruggles2012-03-03
| | | | | | | | | ff_wma_init() allows up to 50kHz, but this generates an exponent band size table that requires 65 bands. The code assumes 25 bands in many places, and using sample rates higher than 48kHz will lead to buffer overwrites. CC:libav-stable@libav.org
* wmaenc: limit block_align to MAX_CODED_SUPERFRAME_SIZEJustin Ruggles2012-03-03
| | | | | | | | | | This is near the theoretical limit for wma frame size and is the most that our decoder can handle. Allowing higher bit rates will just end up padding each frame with empty bytes. Fixes invalid writes for avconv when using very high bit rates. CC:libav-stable@libav.org
* mpegaudio_parser: do not ignore information from the first parsed frameJustin Ruggles2012-03-03
| | | | Update some demuxing and seeking fate tests.
* mpegaudio_parser: be less picky about the start positionMichael Niedermayer2012-03-03
| | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at> Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
* avcodec: add a Vorbis parser to get packet durationJustin Ruggles2012-03-03
| | | | This also allows for removing some of the Vorbis-related hacks.
* vorbisdec: read the previous window flag for long windowsJustin Ruggles2012-03-03
| | | | | | When reading sequentially, we are using the actual flag from the previous frame, but when seeking we do not know what the previous window flag was, so we need to read it from the bitstream.
* lavc: free the output packet when encoding failed or produced no output.Anton Khirnov2012-03-03
|
* lavc: preserve avpkt->destruct in ff_alloc_packet().Anton Khirnov2012-03-03
| | | | | Also, don't bother with saving/restoring data, av_init_packet doesn't touch it.
* lavc: clarify the meaning of AVCodecContext.frame_number.Anton Khirnov2012-03-03
|
* amrwb: remove duplicate arguments from extrapolate_isf().Ronald S. Bultje2012-03-02
| | | | | | | | Prevents warnings because the dst and src overlap (are the same) in the memcpy() inside the function. Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind CC: libav-stable@libav.org
* amrwb: error out early if mode is invalid.Ronald S. Bultje2012-03-02
| | | | | | | | Prevents using the invalid mode as an index in a static array, which would generate invalid reads. Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind CC: libav-stable@libav.org
* h264: change underread for 10bit QPEL to overread.Ronald S. Bultje2012-03-02
| | | | | This prevents us from reading before the start of the buffer, and thus prevents crashes resulting from this behaviour. Fixes bug 237.
* vp8: disable mmx functions with sse/sse2 counterparts on x86-64.Ronald S. Bultje2012-03-02
| | | | | x86-64 is guaranteed to have at least SSE2, therefore the MMX/MMX2 functions will never be used in practice.
* vp8: change int stride to ptrdiff_t stride.Ronald S. Bultje2012-03-02
| | | | | On 64bit platforms with 32bit int, this means we won't have to sign- extend the integer anymore.
* wma: fix invalid buffer size assumptions causing random overreads.Ronald S. Bultje2012-03-02
| | | | | Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind CC: libav-stable@libav.org
* Windows Media Audio Lossless decoderMashiat Sarker Shakkhar2012-03-02
| | | | | | | | | | | | Decodes 16-bit WMA Lossless encoded files. 24-bit is not supported yet. Bitstream parser written by Andreas Öman with contributions from Baptiste Coudurier and Ulion. Includes a number of bug-fixes from Benjamin Larsson, Michael Niedermayer and Konstantin Shishkov, shine and polish by Diego Biurrun. Signed-off-by: Diego Biurrun <diego@biurrun.de>
* rv10/20: Fix slice overflow with checked bitstream reader.Alex Converse2012-03-02
|
* h263dec: Disallow width/height changing with frame threads.Michael Niedermayer2012-03-02
| | | | | | | Fixes CVE-2011-3937 Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* rv10/20: Fix a buffer overread caused by losing track of the remaining ↵Alex Converse2012-03-02
| | | | | | | buffer size. Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind CC: libav-stable@libav.org
* g722: Fix the QMF scalingMartin Storsjö2012-03-02
| | | | | | | | | | | | | | | This fixes clipping if the encoder input used the full 16 bit input range (samples with a magnitude below 16383 worked fine). The filtered subband samples should be 15 bit maximum, while the code earlier produced them scaled to 16 bit. This makes the decoder output have double the magnitude compared to before. The spec reference samples doesn't test the QMF at all, which was why this part slipped past initially. Signed-off-by: Martin Storsjö <martin@martin.st>
* wavpack: Fix an integer overflowDerek Buitenhuis2012-03-02
| | | | | | | | | | Integer Overflow Checker detected an integer overflow while FATE was running. See: http://fate.libav.org/x86_64-linux-ioc/ Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com> Signed-off-by: Kostya Shishkov <kostya.shishkov@gmail.com>
* mjpegdec: use correct variable in av_log invocationDiego Biurrun2012-03-01
| | | | libavcodec/mjpegdec.c:1463: warning: format ‘%x’ expects type ‘unsigned int’, but argument 5 has type ‘const uint8_t *’
* Replace AVFrame pointer type punning by proper struct member assignments.Diego Biurrun2012-03-01
|
* Replace AVFrame pointer casts by proper struct member accesses.Diego Biurrun2012-03-01
|
* Remove unnecessary AVFrame pointer casts.Diego Biurrun2012-03-01
|
* msmpeg4: Split encoding backend code off from general backend code.Diego Biurrun2012-03-01
|
* lavc: shrink encoded video packet size after encoding.Anton Khirnov2012-03-01
| | | | Based on a patch by Nicolas George <nicolas.george <at> normalesup.org>
* h264: error out on invalid bitdepth.Ronald S. Bultje2012-03-01
| | | | | | | | Fixes invalid reads while initializing the dequant tables, which uses the bit depth to determine the QP table size. Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind CC: libav-stable@libav.org
* aacsbr: use a swap index for the Y matrix rather than copy buffers.Christophe Gisquet2012-03-01
| | | | Signed-off-by: Alex Converse <alex.converse@gmail.com>
* huffyuv: do not abort on unknown pix_fmt; instead, return an error.Ronald S. Bultje2012-03-01
| | | | | Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind CC: libav-stable@libav.org
* lcl: return negative error codes on decode_init() errors.Ronald S. Bultje2012-03-01
| | | | | Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind CC: libav-stable@libav.org
* h263enc: Add an option for outputting info about MBs as side dataMartin Storsjö2012-03-01
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* avpacket: Add a function for shrinking already allocated side dataMartin Storsjö2012-03-01
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* nellymoserdec: Saner and faster IMDCT windowingVitor Sessak2012-02-29
| | | | Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
* amrnbdec: check frame size before decoding.Vitor Sessak2012-02-29
| | | | | | Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind CC: libav-stable@libav.org Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
* cscd: use negative error values to indicate decode_init() failures.Ronald S. Bultje2012-02-29
| | | | | Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind CC: libav-stable@libav.org
* h264: prevent overreads in intra PCM decoding.Ronald S. Bultje2012-02-29
| | | | | Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind CC: libav-stable@libav.org
* mpegaudiodec: use DSPUtil.butterflies_float().Vitor Sessak2012-02-29
| | | | Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
* vmnc: return error on decode_init() failure.Ronald S. Bultje2012-02-29
| | | | | Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind CC: libav-stable@libav.org
* libvorbis: add/update error messagesJustin Ruggles2012-02-29
| | | | also use AVERROR codes for some return values instead of -1
* libvorbis: use AVFifoBuffer for output packet bufferJustin Ruggles2012-02-29
| | | | simplifies the code and does less memmove()
* libvorbis: remove unneeded e_o_s checkJustin Ruggles2012-02-29
| | | | | vorbis_bitrate_flushpacket() does not return any packets that should not be output in the bitstream.
* libvorbis: check return values for functions that can return errorsJustin Ruggles2012-02-29
|
* libvorbis: use float input instead of s16Justin Ruggles2012-02-29
| | | | | libvorbis takes float input, so we can just deinterleave/reorder the input as-is instead of also converting.