summaryrefslogtreecommitdiff
path: root/libavcodec
Commit message (Collapse)AuthorAge
* hevc: Consider first quantization group any reference to 0, 0Luca Barbato2014-02-01
| | | | | | | | According to my understanding of T-REC-H.265-2013044 chapter 8.6.1. Sample-Id: 00001438-google Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind CC: libav-stable@libav.org
* xvid: switch to xvid mmx idct as soon as possibleJanne Grunau2014-01-31
| | | | | | | The idct implementation cannot be changed after the quantization matrices are read since it use a different permutaion. Bug-Id: videolan/7411
* atrac3plus: Make initialization dependant on channel count rather than ↵Jan Ekström2014-01-31
| | | | | | | | channel map Makes it easier to recreate an AVCodecContext for ATRAC3+ decoding, which is needed in multimedia frameworks, as well as in general cases where demuxing and decoding are separate entities.
* x86: videodsp: Fix a bug in a %if statement where we used '%%' instead of '&&'.Ronald S. Bultje2014-01-30
| | | | Signed-off-by: Janne Grunau <janne-libav@jannau.net>
* x86: videodsp: Properly mark sse2 instructions in emulated_edge_mc as such.Ronald S. Bultje2014-01-30
| | | | | | | | Should fix crashes or corrupt output on pre-SSE2 CPUs when they were using SSE2-code (e.g. AMD Athlon XP 2400+ or Intel Pentium III) in hfix or hvar single-edge (left/right) extension functions. Signed-off-by: Janne Grunau <janne-libav@jannau.net>
* ac3dec: Allow asymmetric application of DRC when drc_scale > 1John Stebbins2014-01-29
| | | | | Amplification of quiet sounds is enhanced. Inspired by gbooker's A52Decoder.
* mpeg: Drop unused parameters from ff_draw_horiz_band()Diego Biurrun2014-01-29
|
* mpeg12: check scantable indices in all decode_block functionsJanne Grunau2014-01-25
| | | | | | | | | Add checks to the fast functions used with CODEC_FLAGS2_FAST and move the check for all other functions to before the invalid memory is accessed. Fixes https://trac.videolan.org/vlc/ticket/9713 with CODEC_FLAGS2_FAST. CC: libav-stable@libav.org
* avutil: remove timer.h include from internal.hJanne Grunau2014-01-25
| | | | Added libavutil/timer.h include to all files with {START,STOP}_TIMER.
* dxtory: compressed RGB555/RGB565 decoding supportKostya Shishkov2014-01-24
|
* dxtory: add more compressed and uncompressed modesKostya Shishkov2014-01-24
|
* vp9: fix bugs in updating coef probabilities with parallelmode=1Guillaume Martres2014-01-24
| | | | | | | | | - The memcpy was completely wrong because s->prob_ctx[s->framectxid].coef is a [4][2][2][6][6][3] array, whereas s->prob.coef is a [4][2][2][6][6][11] array. - The additional check was committed to ffmpeg by Ronald S. Bultje. Signed-off-by: Anton Khirnov <anton@khirnov.net>
* vp9: fix mvref finding to adhere to bug in libvpx.Ronald S. Bultje2014-01-24
| | | | | | Fixes a particular youtube video that I unfortunately can't share. Signed-off-by: Anton Khirnov <anton@khirnov.net>
* mpegvideo_enc: Don't call ff_h263dsp_init unconditionallyMartin Storsjö2014-01-22
| | | | | | | This fixes builds with e.g. --disable-decoders --disable-encoders --enable-encoder=mjpeg. Signed-off-by: Martin Storsjö <martin@martin.st>
* bfin: vp3: Mark all binary object sections appropriatelyDiego Biurrun2014-01-22
| | | | This fixes a leftover from e44d7c659ba56d7efd6de10d5d99a1c44fd997fa.
* h264: skip chroma edges at the picture boundary while deblocking 4:4:4Janne Grunau2014-01-22
| | | | | | | | | This handles macroblock edges for the chroma components in the same way as for the luma compoment for 4:4:4 streams. The Spec explicitly states that the deblocking filter is not applied to edges at the boundary of the picture. Signed-off-by: Janne Grunau <janne-libav@jannau.net>
* 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.