summaryrefslogtreecommitdiff
path: root/libavcodec
Commit message (Collapse)AuthorAge
* lavc: do not force the emu edge flagAnton Khirnov2014-01-21
| | | | | | | The default get_buffer2() implementation (and possibly some user ones) does not allocate edges when this flag is set, which may expose bugs in some decoders. Until the 10 release is out, it is safer to remove this part.
* dxtory: change error code for unexpected slice configurationKostya Shishkov2014-01-21
|
* dxtory: correctly handle YUV slices with average odd heightKostya Shishkov2014-01-21
|
* dxva2: Use correct printf format stringsDiego Biurrun2014-01-21
|
* dxva2: Add missing #includesDiego Biurrun2014-01-21
|
* dxva2: Log errors verboselySam Lantinga2014-01-21
| | | | Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* dxva2: Retry IDirectXVideoDecoder_BeginFrame()Sam Lantinga2014-01-21
| | | | | | If the function returns E_PENDING retry for a fixed number of times. Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* hevc: Bound check cu_qp_deltaLuca Barbato2014-01-21
| | | | | The T-REC-H.265-2013044 page 91 states it has to be in the range [-(26 + s->sps->qp_bd_offset / 2), (25 + s->sps->qp_bd_offset / 2)].
* hevc: Bound check slice_qpLuca Barbato2014-01-21
| | | | | | | | | The T-REC-H.265-2013044 page 79 states it has to be in the range [-s->sps->qp_bd_offset, 51]. Sample-Id: 00001386-google Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind CC: libav-stable@libav.org
* hevc: Prevent some integer overflowsLuca Barbato2014-01-21
| | | | | | | | get_ue_golomb_long() returns an unsigned. Sample-Id: 00001541-google Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind CC: libav-stable@libav.org
* hevc: Remove useless clipGuillaume Martres2014-01-21
| | | | | | | | | | The src buffer should only contain values in the interval [0, (1 << BIT_DEPTH) - 1]. Since shift = (BIT_DEPTH - 5), src[x] >> shift must be in the interval [0, 31], so no clip is needed. Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* hevc: clip pixels when transquant bypass is usedGuillaume Martres2014-01-21
| | | | | | | | | | | | The reconstructed picture should always be clipped (see section 8.6.5), previously we did not clip coding units where cu_transquant_bypass_flag == 1. Sample-Id: 00001325-google Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind CC: libav-stable@libav.org Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* hevc: Use uint64 to check for tile dimensionsLuca Barbato2014-01-21
| | | | | | | | | | And use unsigned datatypes. Otherwise it would overflow. Sample-Id: 00001315-google Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind CC: libav-stable@libav.org
* hevc: Fix modulo operationsMichael Niedermayer2014-01-21
| | | | | | | Keep qp fields within the range. Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* hevc: check that VPS referenced from SPS existsMichael Niedermayer2014-01-21
| | | | | | | | This matches how its done for SPS/PPS. Fixes null pointer dereference. Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* vc1: Always reset numref when parsing a new frame header.Michael Niedermayer2014-01-20
| | | | | | | | | Fixes an issue where the B-frame coding mode switches from interlaced fields to interlaced frames, causing incorrect decisions in the motion compensation code and resulting in visual artifacts. CC: libav-stable@libav.org Signed-off-by: Tim Walker <tdskywalker@gmail.com>
* lavc: deprecate CODEC_FLAG_EMU_EDGE and avcodec_get_edge_width().Anton Khirnov2014-01-20
|
* mpegvideo: allocate edges when encoding.Anton Khirnov2014-01-20
| | | | | Allocating edges will be removed from generic code, so the encoder must handle this explicitly.
* lavc: allow the caller to override dimensions in ff_get_buffer()Anton Khirnov2014-01-20
| | | | This will be useful for allocating edges in the encoders.
* eac3: cosmetics, re-indent.Tim Walker2014-01-19
|
* (e)ac3: clip surround mix level indexes.Tim Walker2014-01-19
| | | | Values 0-2 are reserved, 3 (-1.5dB) should be used instead.
* (e)ac3: parse and store the Lt/Rt and LFE mix levels.Tim Walker2014-01-19
|
* ac3: set default matrix encoding modes in parse_frame_header.Tim Walker2014-01-19
| | | | Deduplicates some code.
* h264: check that an IDR NAL only contains I slicesAnton Khirnov2014-01-18
| | | | | Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind CC:libav-stable@libav.org
* h264: reset num_reorder_frames if it is invalidAnton Khirnov2014-01-18
| | | | | | | | | An invalid VUI is not considered a fatal error, so the SPS containing it may still be used. Leaving an invalid value of num_reorder_frames there can result in writing over the bounds of H264Context.delayed_pic. Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind CC:libav-stable@libav.org
* h264: reset ref count if decoding the slice header failsAnton Khirnov2014-01-18
| | | | | | | | | Otherwise the ER code might try to use some already freed references. Fixes possible access to freed memory. Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind CC:libav-stable@libav.org
* h264: prevent two matching fields from being both a short/long ref combinationAnton Khirnov2014-01-18
| | | | | | | Fixes possible access to freed memory. Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind CC:libav-stable@libav.org
* h264: do not call field_end if we do not have a current pictureAnton Khirnov2014-01-18
| | | | | | | Fixes invalid reads. Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind CC:libav-stable@libav.org
* h264: limit allowed pred modes in ff_h264_check_intra_pred_mode() to 3Anton Khirnov2014-01-18
| | | | | | | | | | Higher modes are not allowed for 16x16/chroma, which is what this function is used for. Otherwise this function would return 0 (vertical prediction) for invalid higher modes, which could result in invalid reads. Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind CC:libav-stable@libav.org
* h264: reset first_field if frame_start() fails for missing refsAnton Khirnov2014-01-18
| | | | | | | | | | In this case we may not have a current frame, while first_field being set implies we do. Fixes invalid reads. Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind CC:libav-stable@libav.org
* x86: dsputil: Simplify xvmc deprecation conditionalDiego Biurrun2014-01-15
|
* build: Add separate hidden config option for the intrax8 codeDiego Biurrun2014-01-15
| | | | This allows for slightly cleaner dependency specification.
* aarch64: port neon clobber test from armJanne Grunau2014-01-15
|
* aarch64: h264 (bi)weight NEON optimizationsJanne Grunau2014-01-15
| | | | Ported from ARMv7 NEON.
* aarch64: h264 loop filter NEON optimizationsJanne Grunau2014-01-15
| | | | Ported from ARMv7 NEON.
* aarch64: hpeldsp NEON optimizationsJanne Grunau2014-01-15
| | | | Ported from ARMv7 NEON.
* aarch64: h264 qpel NEON optimizationsJanne Grunau2014-01-15
| | | | Ported from ARMv7 NEON.
* aarch64: h264 idct NEON assembler optimizationsJanne Grunau2014-01-15
| | | | Ported from ARMv7 NEON.
* aarch64: h264 chroma motion compensation NEON optimizationsJanne Grunau2014-01-15
| | | | | Since RV40 and VC-1 use almost the same algorithm so optimizations for those two decoders are easy to do and included.
* dct-test: test ff_simple_idct_neon only on ARM for nowJanne Grunau2014-01-15
| | | | Signed-off-by: Janne Grunau <janne-libav@jannau.net>
* cabac: remove leftovers from the cabac encoderJanne Grunau2014-01-14
| | | | | | The cabac encoder was only used by the removed cabac test. Signed-off-by: Janne Grunau <janne-libav@jannau.net>
* x86: Consistently use cpu flag detection macros in places that still miss itDiego Biurrun2014-01-14
|
* arm: Use full filenames as multiple inclusion guardsDiego Biurrun2014-01-14
|
* vc1: Enable the interlaced B-frame codepath.Tim Walker2014-01-13
| | | | Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* vc1: Add avg_no_rnd_vc1_chroma_mc4_c()Michael Niedermayer2014-01-13
| | | | | | Needed for proper interlaced support. Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* vc1: Factorize out chroma MCLuca Barbato2014-01-13
|
* vc1dsp: K&R formatting cosmeticsLuca Barbato2014-01-12
| | | | Signed-off-by: Diego Biurrun <diego@biurrun.de>
* arm: Add an option for making sure NEON registers aren't clobberedMartin Storsjö2014-01-11
| | | | | | This is pretty much based on the same test for XMM registers. Signed-off-by: Martin Storsjö <martin@martin.st>
* ATRAC3+ decoderMaxim Polijakowski2014-01-09
| | | | | | Cleanup by Diego Biurrun. Signed-off-by: Kostya Shishkov <kostya.shishkov@gmail.com>
* x86: hpeldsp: Add missing av_cold attribute to init functionDiego Biurrun2014-01-09
|