summaryrefslogtreecommitdiff
path: root/libavcodec/vc1dec.c
Commit message (Collapse)AuthorAge
* lavc: set AVCodecContext.hwaccel in ff_get_format()Anton Khirnov2014-05-11
| | | | This way each decoder does not have to do the same thing manually.
* lavc: Add an internal wrapper around get_format()Anton Khirnov2014-05-11
| | | | It will be useful in the following commits.
* vc1: Do not return an error when skipping b framesAlessandro Ghedini2014-04-25
| | | | | | | | | This caused mpv (and possibly others) to fallback to software decoding after seeking a VC1 stream. Bug-Id: 667 Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* mpegvideo: operate with pointers to AVFrames instead of whole structswm42014-04-09
| | | | | | | | | | | | | The most interesting parts are initialization in ff_MPV_common_init() and uninitialization in ff_MPV_common_end(). ff_mpeg_unref_picture and ff_thread_release_buffer have additional NULL checks for Picture.f, because these functions can be called on uninitialized or partially initialized Pictures. NULL pointer checks are added to ff_thread_release_buffer() stub function. Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* vc1dec: fix a possible unitialized variable warningVittorio Giovara2014-04-02
|
* vc1dec: improve hwaccel #ifdefsRémi Denis-Courmont2014-03-31
|
* lavc: drop ff_pixfmt_list_420Vittorio Giovara2014-03-23
|
* mpegvideo: move mpegvideo formats-related defines to mpegutils.hVittorio Giovara2014-03-16
|
* mpegvideo: drop support for real (non-emulated) edgesAnton Khirnov2014-01-09
| | | | | | | Several decoders disable those anyway and they are not measurably faster on x86. They might be somewhat faster on other platforms due to missing emu edge SIMD, but the gain is not large enough (and those decoders relevant enough) to justify the added complexity.
* vc1: Fix mb_height for field picturesMichael Niedermayer2013-12-17
| | | | | | | | | | Tables are always allocated now with sufficient space for either progressive or interlaced content. The alternative would be to detect a change and reallocate. This fixes decoding of a sample. Signed-off-by: Martin Storsjö <martin@martin.st>
* mpegvideo: do not set current_picture_ptr in decodersAnton Khirnov2013-12-05
| | | | | | | | | | | This code was originally added in 5f1948111a4920ff74e31b4284ab0200f7938539 to h263 to set decoded frame pts to some random numbers (removed in a1c5cc429d99216406170eac7e8352860076d3e8) and then cargo culted to other decoders. The code is left in h263dec for now, since some part of the decoder (apparently OBMC) relies on the specific previous frame to be reused.
* vc1dec: move setting repeat_pict after frame_start() has been called.Anton Khirnov2013-12-05
| | | | | This will allow removing the hacks where each decoder sets current_picture_ptr on its own.
* vc1: fix a memleak.Anton Khirnov2013-11-21
| | | | | | | Happens on a B-frame when neither low_delay nor last_picture_ptr is set (probably corrupted streams only). Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
* vc1: use the AVFrame API properly.Anton Khirnov2013-11-16
|
* lavc: Edge emulation with dst/src linesizeRonald S. Bultje2013-11-15
| | | | | | Allow supporting files for which the image stride is smaller than the maximum block size + number of subpel mc taps, e.g. a 64x64 VP9 file or a 16x16 VP8 file with -fflags +emu_edge.
* hwaccel: Simplify ff_find_hwaccelLuca Barbato2013-11-10
| | | | It is always called by passing fields from an AVCodecContext.
* cosmetics: Group .name and .long_name together in codec/format declarationsDiego Biurrun2013-10-03
|
* vc1dec: Check the error handling flags on slice/field header decode errorsMartin Storsjö2013-09-22
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* vc1dec: Don't decode slices when the latest slice header failed to decodeMichael Niedermayer2013-09-22
| | | | | | Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind CC: libav-stable@libav.org Signed-off-by: Martin Storsjö <martin@martin.st>
* vc1dec: Make sure last_picture is initialized in vc1_decode_skip_blocksMartin Storsjö2013-09-22
| | | | | | Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind CC: libav-stable@libav.org Signed-off-by: Martin Storsjö <martin@martin.st>
* vc1dec: Undo mpegvideo initialization if unable to allocate tablesMartin Storsjö2013-09-22
| | | | | | | | | | Previously, s->context_initialized was left set to 1 if ff_vc1_decode_init_alloc_tables failed, skipping the initialization completely on the next decode call. Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind CC: libav-stable@libav.org Signed-off-by: Martin Storsjö <martin@martin.st>
* vc1dec: Fix leaks in ff_vc1_decode_init_alloc_tables on errorsMartin Storsjö2013-09-22
| | | | | | Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind CC: libav-stable@libav.org Signed-off-by: Martin Storsjö <martin@martin.st>
* vc1: check mb_height validity.Luca Barbato2013-08-05
| | | | | Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind CC: libav-stable@libav.org
* vc1: check the source buffer in vc1_mc functionsLuca Barbato2013-08-05
| | | | | Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind CC: libav-stable@libav.org
* vdpau: remove old-style decodersRémi Denis-Courmont2013-08-05
| | | | Signed-off-by: Anton Khirnov <anton@khirnov.net>
* vc1dec: Fix mixed field/frame intensity compensationMichael Niedermayer2013-05-28
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* vc1dec: Match addressing between compensation and MC in vc1_mc_4mv_chroma4Michael Niedermayer2013-05-28
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* vc1dec: Handle top and bottom blocks in vc1_mc_4mv_chroma4() differently if ↵Michael Niedermayer2013-05-28
| | | | | | | | | | | needed Now it can use different references for those blocks and even use averaging. This fixes several chroma artifacts in several videos. Signed-off-by: Martin Storsjö <martin@martin.st>
* vc1dec: Fix doxy for vc1_mc_4mv_chroma4()Michael Niedermayer2013-05-28
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* vc1dec: Drop old use_ic code from vc1_b_mcMichael Niedermayer2013-05-28
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* vc1: Use shuffled use_ic instead of equally shuffled mv_modeMichael Niedermayer2013-05-28
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* vc1dec: Implement intensity compensation for vc1_interp_mc()Michael Niedermayer2013-05-28
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* vc1dec: Redesign the intensity compensationMichael Niedermayer2013-05-28
| | | | | | | | | | | Use the intensity-compensated reference frame for subsequent fields/B-frames. Since we currently don't change the reference frame we have to maintain lookup tables for intensity compensation in the following dependent frames. Signed-off-by: Martin Storsjö <martin@martin.st>
* vc1dec: Shuffle field MVs after decoding, not beforeMichael Niedermayer2013-05-28
| | | | | | | | | | | | This simplifies the code since copying MVs to the reference is not needed anymore (and maybe something about fixing artifacts). Also remove the unused mv_f_last. Fixes a small number of artifacts in black_screen_VC-1.mkv and several more artifacts in other videos. Signed-off-by: Martin Storsjö <martin@martin.st>
* vc1dec: Add support for interlaced B-framesSebastian Sandberg2013-05-17
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* vc1dec: Remove some now unused variablesMartin Storsjö2013-05-15
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* vc1dec: Do not allow field_mode to change after the first headerMichael Niedermayer2013-05-15
| | | | | | | | This fixes out of array accesses. Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind Signed-off-by: Martin Storsjö <martin@martin.st>
* vc1, mss2: Check for any negative return value from ff_vc1_parse_frame_headerMartin Storsjö2013-05-15
| | | | | | | | This is required if we return other error codes than explicitly -1, which so far has been the only other possible return value besides 0. Signed-off-by: Martin Storsjö <martin@martin.st>
* vc1dec: Fix current ptr selection in vc1_mc_4mv_chroma()Michael Niedermayer2013-05-15
| | | | | | No sample tried shows a difference. Signed-off-by: Martin Storsjö <martin@martin.st>
* vc1dec: Factorize picture pointer selection in vc1_mc_4mv_chroma()Michael Niedermayer2013-05-15
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* vc1dec: Factorize picture pointer selection codeMichael Niedermayer2013-05-15
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* vc1dec: Factorize srcU/V offsetingMichael Niedermayer2013-05-15
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* vc1dec: Fix tff == 0 handling in init_block_index()Michael Niedermayer2013-05-15
| | | | | | This fixes several files from VLC ticket 5887. Signed-off-by: Martin Storsjö <martin@martin.st>
* vc1dec: Update destination pointers in context for fieldsMichael Niedermayer2013-05-15
| | | | | | | | | | | | | | | This replaces a large number of checks for the second field by fixing the pointers when they are setup. This should also fix I/BI field pictures. Changes checksums for vc1_sa10143, the file becomes slightly closer to what the reference decoder outputs. Based on "vc1dec: the second field is written wrong to the picture" by Sebastian Sandberg <sebastiand.sandberg@gmail.com>. Signed-off-by: Martin Storsjö <martin@martin.st>
* vc1dec: Don't apply the loop filter on fieldsMartin Storsjö2013-05-14
| | | | | | | | Fixes read of uninitialized memory. Based on a patch by Michael Niedermayer. Signed-off-by: Martin Storsjö <martin@martin.st>
* vc1dec: Don't attempt error concealment on field picturesMichael Niedermayer2013-05-14
| | | | | | This is not implemented and doesn't work. Signed-off-by: Martin Storsjö <martin@martin.st>
* vc1dec: fieldtx is only valid for interlaced frame picturesSebastian Sandberg2013-05-14
| | | | | | The fieldtx_plane is not cleared for interlaced fields. Signed-off-by: Martin Storsjö <martin@martin.st>
* vc1: Remove now unused variablesMartin Storsjö2013-04-20
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* mpegvideo: Use hpeldsp instead of dsputil for half-pel functionsRonald S. Bultje2013-04-19
| | | | | | This also converts vc1, since that is mpegvideo-based. Signed-off-by: Martin Storsjö <martin@martin.st>
* avcodec: av_log_ask_for_sample() ---> avpriv_request_sample()Diego Biurrun2013-03-13
|