summaryrefslogtreecommitdiff
path: root/libavcodec/vc1dec.c
Commit message (Collapse)AuthorAge
* Avoid a null pointer dereference on oom when decoding vc1.Carl Eugen Hoyos2013-06-29
| | | | Fixes ticket #2723.
* avcodec/vc1dec: Check source picture availability in vc1_mc_4mv_chroma4()Michael Niedermayer2013-06-15
| | | | | | | Fixes null pointer dereference Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* vc1dec: Disable dead codeMichael Niedermayer2013-06-04
| | | | | | | | | Fixes CID732197/6 A assert is added to check that the disabled code wont be needed in the future. Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* Merge commit '728214992e3698305550c1762f973d2ac567f016'Michael Niedermayer2013-05-29
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '728214992e3698305550c1762f973d2ac567f016': vc1dec: Remove interlaced warning vc1dec: Fix mixed field/frame intensity compensation vc1dec: Match addressing between compensation and MC in vc1_mc_4mv_chroma4 vc1dec: Handle top and bottom blocks in vc1_mc_4mv_chroma4() differently if needed vc1dec: Fix doxy for vc1_mc_4mv_chroma4() vc1dec: Drop old use_ic code from vc1_b_mc vc1: Use shuffled use_ic instead of equally shuffled mv_mode vc1dec: Implement intensity compensation for vc1_interp_mc() Conflicts: Changelog libavcodec/vc1dec.c libavcodec/version.h Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * 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: restructure interpmvp codeMichael Niedermayer2013-05-17
| | | | | | | | | | | | | | This fixes a valgrind warning about use of uninitialized stuff (no actual such use occurs though) Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge commit '1fb013a57c6d98d3f425506eb25f32b2cf7ddc6f'Michael Niedermayer2013-05-17
|\| | | | | | | | | | | | | | | | | | | * commit '1fb013a57c6d98d3f425506eb25f32b2cf7ddc6f': vc1dec: Add support for interlaced B-frames Conflicts: libavcodec/vc1dec.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * vc1dec: Add support for interlaced B-framesSebastian Sandberg2013-05-17
| | | | | | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* | lavc/vc1dec: fix a few "may be used uninitialized" warnings.Clément Bœsch2013-05-16
| |
* | vc1dec: silence "may be used uninitialized in this function" warning from gccMichael Niedermayer2013-05-16
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2013-05-15
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: configure: Use linker hardening flags on mingw vc1: Make INIT_LUT() self contained vc1: Simplify code by using INIT_LUT() vc1: Move INIT_LUT() further up to allow using it in more places vc1dec: Remove some now unused variables vc1dec: Do not allow field_mode to change after the first header vc1, mss2: Check for any negative return value from ff_vc1_parse_frame_header vc1dec: Fix current ptr selection in vc1_mc_4mv_chroma() vc1dec: Factorize picture pointer selection in vc1_mc_4mv_chroma() vc1dec: Factorize picture pointer selection code vc1dec: Factorize srcU/V offseting vc1dec: Fix tff == 0 handling in init_block_index() vc1dec: Update destination pointers in context for fields Conflicts: libavcodec/vc1.c libavcodec/vc1dec.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * 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>
* | Merge commit '5d9d8461fbb87046a7ca220d3676a045bd7ab46e'Michael Niedermayer2013-05-15
|\| | | | | | | | | | | | | | | | | | | * commit '5d9d8461fbb87046a7ca220d3676a045bd7ab46e': vc1dec: Don't apply the loop filter on fields Conflicts: tests/ref/fate/vc1_sa10143 Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * 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>
* | Merge commit '46430fd47c6239ef8742d0a34f9412d5060fa798'Michael Niedermayer2013-05-15
|\| | | | | | | | | | | | | | | | | | | | | | | | | * commit '46430fd47c6239ef8742d0a34f9412d5060fa798': vc1dec: Don't attempt error concealment on field pictures vc1dec: fieldtx is only valid for interlaced frame pictures aacenc: Fix erasure of surround channels aacenc: Fix target bitrate for twoloop quantiser search Conflicts: libavcodec/vc1dec.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * 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>
* | Cosmetics: Fix indentation and add braces after last commit.Carl Eugen Hoyos2013-05-06
| |
* | vc1dec: Call ff_vdpau_vc1_decode_picture() once for each field.Carl Eugen Hoyos2013-05-06
| | | | | | | | Fixes mplayer -vc ffvc1vdpau for interlaced streams.
* | vc1dec: fix lutuv use in vc1_mc_4mv_chroma4()Michael Niedermayer2013-05-03
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | vc1dec: Fix mixed field/frame intensity compensationMichael Niedermayer2013-05-03
| | | | | | | | | | | | Fixes Ticket2523 Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | vc1dec: vc1_mc_4mv_chroma4: match addressing between compensation and MCMichael Niedermayer2013-05-03
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | vc1dec: Try to fix vc1_mc_4mv_chroma4() parametersMichael Niedermayer2013-04-25
| | | | | | | | | | | | This fixes several chroma artifacts in several videos Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | vc1dec: add avg & variable direction support to vc1_mc_4mv_chroma4()Michael Niedermayer2013-04-25
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | vc1dec: fix doxy for vc1_mc_4mv_chroma4()Michael Niedermayer2013-04-25
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | vc1dec: drop mv_f_last, simplify codeMichael Niedermayer2013-04-25
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | vc1dec: drop old use_ic code from vc1_b_mcMichael Niedermayer2013-04-24
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | vc1: use use_ic instead of shuffling mv_mode aroundMichael Niedermayer2013-04-24
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | vc1dec: Implement intensity compensation for vc1_interp_mc()Michael Niedermayer2013-04-24
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | vc1dec: redesign the intensity compensationMichael Niedermayer2013-04-24
| | | | | | | | | | | | | | | | The existing implementation had little to do with VC1. This could be implemented by adjusting the reference frames ithemselfs but that would make frame multi-threading difficult. Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | vc1dec: fix current ptr selection in vc1_mc_4mv_chroma()Michael Niedermayer2013-04-24
| | | | | | | | | | | | No sample tried shows a difference Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | vc1dec: factorize picture pointer selection in vc1_mc_4mv_chroma()Michael Niedermayer2013-04-24
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>