summaryrefslogtreecommitdiff
path: root/libavcodec
Commit message (Collapse)AuthorAge
...
* libopusenc: Change default frame duration to 20 msPaul B Mahol2014-01-06
| | | | | | | 20 ms is the default in the libopus encoder, and gives better quality than 10 ms. Signed-off-by: Martin Storsjö <martin@martin.st>
* pthread_frame: unref decoded frames on failureAnton Khirnov2014-01-06
| | | | | | | This is similar to what the non-threaded code already does. Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind CC:libav-stable@libav.org
* h264: do not use 422 functions for monochromeAnton Khirnov2014-01-06
| | | | | | | Fixes invalid memory access. Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind CC:libav-stable@libav.org
* h264: check that execute_decode_slices() is not called too many timesAnton Khirnov2014-01-06
| | | | | | | Fixes invalid reads. Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind CC:libav-stable@libav.org
* h264: reject mismatching luma/chroma bit depths during sps parsingAnton Khirnov2014-01-06
| | | | | | | | | | There is no point in delaying the check and it avoids bugs with a half-initialized context. Fixes invalid reads. Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind CC:libav-stable@libav.org
* h264: rebuild the default ref list if the reference count changesAnton Khirnov2014-01-06
| | | | | | | Fixes possible access to freed memory. Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind CC:libav-stable@libav.org
* cavsdec: check ff_get_buffer() return valueAnton Khirnov2014-01-06
| | | | | Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind CC:libav-stable@libav.org
* lavc: do not leak the internal frame if opening the codec failsAnton Khirnov2014-01-06
|
* lavc: add 422/444 YUV with alpha to align_dimensions()Anton Khirnov2014-01-06
| | | | Aligns frame dimensions to 16, which fixes potential invalid writes.
* lagarith: do not call simd functions on unaligned linesKostya Shishkov2014-01-06
| | | | | | | | | | They end up overwriting past the line end. Partially based on a patch by Michael Niedermayer <michaelni@gmx.at> Bug-Id: vlc/9700 Signed-off-by: Luca Barbato <lu_zero@gentoo.org> Signed-off-by: Anton Khirnov <anton@khirnov.net>
* sgidec: fix buffer size check in expand_rle_row()Anton Khirnov2014-01-06
| | | | | | | Right now it will spuriously fail if the linesize is exactly equal to the data width. CC:libav-stable@libav.org
* kgv1dec: replace forcing EMU_EDGE by a copyAnton Khirnov2014-01-06
| | | | | | | | | | | The decoder currently sets CODEC_FLAG_EMU_EDGE and relies on get_buffer2() to always provide buffers with linesize == 2 * width. This is wrong, since we place no such restriction on get_buffer2() implementations. Fix this by decoding into internal buffers and copying them to output frames. Since this is a very obscure decoder, the performance hit should not be an issue.
* 4xm: replace forcing EMU_EDGE by a copyAnton Khirnov2014-01-06
| | | | | | | | | | | The decoder currently sets CODEC_FLAG_EMU_EDGE and relies on get_buffer2() to always provide buffers with linesize == 2 * width. This is wrong, since we place no such restriction on get_buffer2() implementations. Fix this by decoding into internal buffers and copying them to output frames. Since this is a very obscure decoder, the performance hit should not be an issue.
* 4xm: return a proper error code.Anton Khirnov2014-01-06
|
* (e)ac3dec: set AV_FRAME_DATA_MATRIXENCODING side data.Tim Walker2014-01-05
|
* (e)ac3: parse and store the Dolby Surround, Surround EX and Headphone mode ↵Tim Walker2014-01-05
| | | | flags.
* mlpdec: set AV_FRAME_DATA_MATRIXENCODING side data.Tim Walker2014-01-05
|
* mlp: Parse TrueHD decoder channel modifiers and set the AVMatrixEncoding for ↵Tim Walker2014-01-05
| | | | each substream.
* dcadec: set AV_FRAME_DATA_MATRIXENCODING side data.Tim Walker2014-01-05
|
* dcadec: set the output channel mode more accurately.Tim Walker2014-01-05
| | | | | | When downmixing 2.1 to 2-channel, if the 2.0 portion is Lt/Rt, sum-difference or dual mono, the actual output will be the same (with the LFE either mixed-in or discarded). Also, when downmixing an arbitrary layout to 2-channel, if the bitstream contains custom downmix coefficients targeting Lt/Rt, then the output will be Lt/Rt rather than regular Stereo.
* avframe: add AV_FRAME_DATA_MATRIXENCODING side data type.Tim Walker2014-01-05
| | | | Includes a libavcodec utility function to update a frame's side data.
* aac: Fix low delay windowing.Alex Converse2014-01-04
| | | | AAC LD uses a low overlap sine window instead of a KBD window.
* aac: Fix TNS decoding for the 512 sample window family.Alex Converse2014-01-04
|
* arm: Use the matching endfunc macro instead of the assembler directive directlyMartin Storsjö2014-01-04
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* arm: Add a missing endfunc macro callMartin Storsjö2014-01-04
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* mpegvideo: remove disabled bfin asmAnton Khirnov2014-01-03
| | | | It has been disabled as 'broken' over 3 years ago in b716a792
* mpegvideo: move dct_unquantize functions up to avoid forward declarationsAnton Khirnov2014-01-03
|
* mpegvideo: split the encoding-only parts of frame_start() into a separate ↵Anton Khirnov2014-01-03
| | | | | | | function This introduces some code duplication. However, much of it should go away once the decoders stop using MpegEncContext.
* h264: reset data_partitioning if decoding the slice header for NAL_DPA failsAnton Khirnov2014-01-03
| | | | | | | | If it was set before then we can end up trying to decode a slice without a valid slice header, which can lead to invalid memory access. Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind CC:libav-stable@libav.org
* lzw: switch to bytestream2Anton Khirnov2014-01-03
| | | | | Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind CC:libav-stable@libav.org
* eacmv: check the framerate before setting it.Anton Khirnov2014-01-03
| | | | | Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind CC:libav-stable@libav.org
* adx: check that the offset is not negativeAnton Khirnov2014-01-03
| | | | | Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind CC:libav-stable@libav.org
* rv30: fix extradata size check.Anton Khirnov2014-01-03
| | | | | | | | It has been checking the number of bits in the offset instead of the actual offset. Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind CC:libav-stable@libav.org
* mpegvideo: set reference/pict_type on generated reference framesAnton Khirnov2014-01-03
| | | | | | | | | Otherwise the generic code will unref them, which can then result in last_picture_ptr == current_picture_ptr, which causes deadlocks at least in rv40. Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind CC:libav-stable@libav.org
* h264: namespace the decode functionLuca Barbato2013-12-27
| | | | Make much easier debugging.
* avutil: Move library version related macros to version.hDiego Biurrun2013-12-26
| | | | This is a more sensible place for these macros.
* vc1: Fix intensity compensation performance regressionMason Carter2013-12-22
| | | | | | | | | | | Introduced by 28243b0d35b47bbf9abbd454fc444a6e0a9e7b71 Intensity compensation is always used once it was encountered, because v->next_use_ic is never set back to zero. Reset v->next_use_ic, when resetting v->next_luty/uv. Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* hevc: move DSP declarations from hevc.h into hevcdsp.hGuillaume Martres2013-12-22
| | | | Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* Add a libwebp encoderJustin Ruggles2013-12-21
|
* arm: Don't clobber callee saved registers in scalarproductMartin Storsjö2013-12-20
| | | | | | | q4-q7/d8-d15 are supposed to not be clobbered by the callee. CC: libav-stable@libav.org Signed-off-by: Martin Storsjö <martin@martin.st>
* hevc: support luma bit depth != chroma bit depth for PCM coding unitsMickaël Raulet2013-12-20
| | | | Signed-off-by: Anton Khirnov <anton@khirnov.net>
* hevc: warn when an unknown profile is usedGuillaume Martres2013-12-20
| | | | | | | Bitstreams conforming to the spec should not use profiles not defined in it. Signed-off-by: Anton Khirnov <anton@khirnov.net>
* hevc_ps: fix indentationGildas Cocherel2013-12-20
| | | | Signed-off-by: Anton Khirnov <anton@khirnov.net>
* hevc: refactor Profile Tier LevelGildas Cocherel2013-12-20
| | | | | | Also store a few PTL flags which were skipped before Signed-off-by: Anton Khirnov <anton@khirnov.net>
* hevc: don't check for errors in PTL codeGuillaume Martres2013-12-20
| | | | | | | According to the spec, the value of XXX_reserved_zero_44bits should be ignored, so don't report an error when it's not zero. Signed-off-by: Anton Khirnov <anton@khirnov.net>
* hevc: store profile and level in AVCodecContextGildas Cocherel2013-12-20
| | | | Signed-off-by: Anton Khirnov <anton@khirnov.net>
* lavc: add HEVC profiles namesGildas Cocherel2013-12-20
| | | | Signed-off-by: Anton Khirnov <anton@khirnov.net>
* x86: mpegvideo: move denoise_dct asm to mpegvideoencAnton Khirnov2013-12-20
| | | | | | This function is encoding-only. Signed-off-by: Diego Biurrun <diego@biurrun.de>
* vc1: arm: Add NEON no_rnd chroma MCMason Carter2013-12-20
| | | | | | | | Apply David Conrad's old patch to the modern codebase. http://ffmpeg.org/pipermail/ffmpeg-devel/2009-April/059877.html Signed-off-by: Martin Storsjö <martin@martin.st>
* vc1: arm: Add NEON assemblyMason Carter2013-12-20
| | | | | | | | | | | | | For: ff_vc1_inv_trans_{8,4}x{8,4}_{dc_,}neon ff_put_pixels8x8_neon ff_put_vc1_mspel_mc{0,1,2,3}{0,1,2,3}_neon (except for 00) Based on ARM assembly code in libavcodec/arm by Rob Clark and Mans Rullgard. Signed-off-by: Martin Storsjö <martin@martin.st>