summaryrefslogtreecommitdiff
path: root/libavcodec/vc1dec.c
Commit message (Collapse)AuthorAge
* cosmetics: Align codec declarationsMartin Storsjö2012-04-06
| | | | | | | Also break some long lines, remove codec function placeholder comments and add spaces in sample/pixel format lists. Signed-off-by: Martin Storsjö <martin@martin.st>
* vc1: Do not read from array if index is invalid.Mashiat Sarker Shakkhar2012-03-26
| | | | | | Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind CC: libav-stable@libav.org Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
* vc1: Move init code shared between decoder and parser to common code file.Diego Biurrun2012-03-07
| | | | This fixes standalone compilation of the VC-1 parser.
* Replace AVFrame pointer type punning by proper struct member assignments.Diego Biurrun2012-03-01
|
* vc1parse: call vc1_init_common().Ronald S. Bultje2012-02-18
| | | | | | | | The parser uses VLC tables initialized in vc1_common_init(), therefore we should call this function on parser init also. Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind CC: libav-stable@libav.org
* vc1: prevent using last_frame as a reference for I/P first frame.Ronald S. Bultje2012-02-15
| | | | | Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind CC: libav-stable@libav.org
* mpegvideo: Add ff_ prefix to nonstatic functionsMartin Storsjö2012-02-15
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* vc1: Add ff_ prefix to nonstatic symbolsMartin Storsjö2012-02-15
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* msmpeg4: Add ff_ prefixes to nonstatic symbolsMartin Storsjö2012-02-15
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* vc1: prevent null pointer dereference on broken filesJanne Grunau2012-02-01
| | | | CC: libav-stable@libav.org
* vc1dec.c: Don't use uninitialized values of dmv_[x, y]Mashiat Sarker Shakkhar2012-01-27
| | | | | | | | | | | MVDATA may or may not be transmitted. If it is not, both dmv_x and dmv_y is to be assumed zero. This may not trigger wrong picture in all systems, but it's a bug nevertheless. Fixes SA10116.vc1 on my 64-bit Windows 7. Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
* cosmetics: drop some pointless parenthesesDiego Biurrun2012-01-07
|
* vc1dec: fix invalid memory access for small video dimensionsJohn Brooks2012-01-04
| | | | | | | | | | | For small video dimensions, these calculations of the upper bound for pixel access may have a negative result. Using an unsigned comparison to bound a potentially negative value only works if the greater operand is non-negative. Fixed by doing edge emulation when the upper bound is probably negative, everywhere that this pattern appears. Signed-off-by: Kostya Shishkov <kostya.shishkov@gmail.com>
* vc1dec: Use the right pointer type for the tmp pointerMartin Storsjö2011-12-20
| | | | | | | This fixes warnings about assignment from incompatible pointer type. Signed-off-by: Martin Storsjö <martin@martin.st>
* vc1: Handle WVC1 interlaced streamAneesh Dogra2011-12-19
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* mpegvideo: remove abort() in ff_find_unused_picture()Andrey Utkin2011-12-14
| | | | Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* vc1: mark with ER_MB_ERROR bits overconsumptionLuca Barbato2011-12-13
| | | | | | | | | This patch is a generalization of what Michael Niedermayer fixed in a single case. The wmv8-drm fate test had been updated accordingly. Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* lavc: introduce ER_MB_END and ER_MB_ERRORLuca Barbato2011-12-13
| | | | | | Simplify a little error resilience calls Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* error_resilience: use the ER_ namespaceLuca Barbato2011-12-13
| | | | | | Add the namespace to {AC_,DC_,MV_}{END,ERROR} macros Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* Fix a bunch of common typos.Diego Biurrun2011-12-11
|
* cosmetics: drop some completely pointless parenthesesDiego Biurrun2011-12-07
|
* vc1: use an enum for Frame Coding ModeLuca Barbato2011-11-28
| | | | Document it a little and possibly fix a bug in dxva2_vc1.
* vc1: select interlaced scan table by FCM elementKostya Shishkov2011-11-26
| | | | | | | Interlaced videos can contain progressive frames too and now wrong scantable is selected for them. Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
* VC1: Add bottom field offset to block_index[] to avoid rewriting (+10L)shahriman AMS2011-11-09
| | | | Signed-off-by: Anton Khirnov <anton@khirnov.net>
* vc1dec: move an if() block.shahriman AMS2011-11-09
| | | | | | | There are no reason for "if (c_valid) { ... }" to appear before "if (b_valid) { ... }". Signed-off-by: Anton Khirnov <anton@khirnov.net>
* vc1dec: use correct hybrid prediction threshold.shahriman AMS2011-11-09
| | | | Signed-off-by: Anton Khirnov <anton@khirnov.net>
* vc1dec: Partial rewrite of vc1_pred_mv()shahriman AMS2011-11-09
| | | | | | | | | | | The current code is a generalization of the earlier progressive MV prediction code. This was supposed to predict MVs for both interlaced and progressive pictures. But the interlaced MV prediction is buggy and works mostly by luck. This partially fixes interlaced MV prediction. Signed-off-by: Anton Khirnov <anton@khirnov.net>
* vc1dec: take ME precision into account while scaling MV predictors.shahriman AMS2011-11-09
| | | | Signed-off-by: Anton Khirnov <anton@khirnov.net>
* VC1: restore mistakenly removed codeMashiat Sarker Shakkhar2011-10-22
| | | | | | | | | The code was mistakenly removed in cad16562c8d76ea2a2a6495f29296c3ff7966946. It stored some motion vector data for future use in B-pictures. This fixes Bugzilla bug #57. Signed-off-by: Diego Biurrun <diego@biurrun.de>
* Use correct scaling table for bwd-pred MVs in second B-fieldMashiat Sarker Shakkhar2011-10-19
| | | | | | | | | | | When scaling backward predicted MVs in second B-field, the scaling table is opposite of that for P field pictures; i.e. first field P table will be used as second field B table and second field P table will be used as first field B table. This is not documented in the spec, but exists in the ref. decoder. This fixes SA10139. Signed-off-by: Martin Storsjö <martin@martin.st>
* vc1: more prettyprinting cosmeticsKostya Shishkov2011-10-12
| | | | Signed-off-by: Diego Biurrun <diego@biurrun.de>
* vc1dec: interlaced stream decoding support 3/3Mashiat Sarker Shakkhar2011-10-10
| | | | | | Cosmetics: break some lines and reformat TODOs Signed-off-by: Anton Khirnov <anton@khirnov.net>
* VC1: Support dynamic dimension changesAlberto Delmás2011-08-31
| | | | | | | | Fixes SA00072, SA00073, SA10150, SA10151, Issue2076 Improves SA10153 Signed-off-by: Anton Khirnov <anton@khirnov.net>
* vc1: fix VC-1 Pulldown handling.John Stebbins2011-08-25
| | | | | | | | | | | | Pulldown flags are being set incorrectly and AVFrame->repeat_pict is not being set. Also, skipped frames exit header parsing too early and do not set pulldown flags appropriately. Ticks_per_frame needs to be set and time_base adjusted so player can extend frame duration by a field time. This fixes problems encountered when attempting to transcode HD-DVD EVOB files with HandBrake. Also makes these files play smoothly in avplay. Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
* VC1: Fix first/last row checks with slicesAlberto Delmás2011-08-25
| | | | | | | | | | | In some places 0/mb_height were used in place of start_mb_y/end_mb_y. Fixes SA00049, SA00058, SA10091, SA10097, SA10131, SA20021, SA30030 Improves PSNR in SA00054, SA00059, SA00060, SA10096, SA10098, SA20022, SA30031, SA30032, SA40012, SA40013 Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
* vc1: properly zero coded_block[] edges on new slice entry.Ronald S. Bultje2011-08-24
| | | | | Previously, we would leave the left edge uninitialized, which led to CBP prediction errors on slice edges, e.g. in SA10098.vc1.
* Windows Media Image decoder (WMVP/WVP2)Alberto Delmás2011-08-23
| | | | Signed-off-by: Anton Khirnov <anton@khirnov.net>
* lavc: use designated initialisers for all codecs.Anton Khirnov2011-07-29
| | | | It's more readable and less prone to breakage.
* Eliminate FF_COMMON_FRAME macro.Diego Biurrun2011-07-11
| | | | | FF_COMMON_FRAME holds the contents of the AVFrame structure and is also copied to struct Picture. Replace by an embedded AVFrame structure in struct Picture.
* Remove unused static tables and static inline functions.Diego Biurrun2011-07-04
|
* doxygen: Prefer member groups over grouping into modulesReinhard Tartler2011-07-02
| | | | | | | | | Before this, almost all module groups have been used for grouping functions and fields in structures semantically. This causes them to not appear properly in the file documentation and needlessly clutters up the "Modules" index. Additionally, this commit streamlines some spelling and appearances.
* vc1: re-initialize tables after width/height change.John Stebbins2011-06-07
| | | | | | | read_sequence_header can change width/height; therefore, re-initialize all tables if width/height changed Signed-off-by: Anton Khirnov <anton@khirnov.net>
* vc1: make overlap filter for I-frames bit-exact.Ronald S. Bultje2011-05-04
|
* vc1dec: use s->start/end_mb_y instead of passing them as function args.Ronald S. Bultje2011-05-04
|
* Revert "VC1: merge idct8x8, coeff adjustments and put_pixels."Ronald S. Bultje2011-05-04
| | | | | | | This reverts commit f8bed30d8b176fa030f6737765338bb4a2bcabc9. The reason for this is that the overlap filter, which runs after IDCT, should run on unclamped values, and thus IDCT and put_pixels() cannot be merged if we want to attempt to be bitexact.
* Replace deprecated FF_*_TYPE symbols with AV_PICTURE_TYPE_*.Stefano Sabatini2011-05-02
| | | | Signed-off-by: Diego Biurrun <diego@biurrun.de>
* lavc: remove FF_API_HURRY_UP cruftAnton Khirnov2011-04-26
|
* vc1: fix fate-vc1 after previous commit.Ronald S. Bultje2011-04-17
| | | | | | | | PROFILE_ADVANCED doesn't set res_fasttx, so make that a special case in the condition that decides which IDCT to use (and whether to read coefficients transposed or not). Signed-off-by: Kostya Shishkov <kostya.shishkov@gmail.com>
* wmv3dec: fix playback of complex WMV3 files using simple_idct.Ronald S. Bultje2011-04-16
| | | | | | | | IDCT coefficients are read transposed, but simple_idct does not expect this. Therefore, only do tranposed coefficient reading if we're not using simple_idct. Fixes http://forum.videolan.org/viewtopic.php?f=14&t=89651
* Parse sprite data for WMVP and WVP2, and decode sprites for the latterAlberto Delmás2011-04-10
| | | | Signed-off-by: Anton Khirnov <anton@khirnov.net>