summaryrefslogtreecommitdiff
path: root/libavcodec/vc1.c
Commit message (Collapse)AuthorAge
* 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>
* 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>
* vc1: Enable the interlaced B-frame codepath.Tim Walker2014-01-13
| | | | Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* vc1: Fix intensity compensation performance regressionMason Carter2013-12-22
| | | | | | | | | | | Introduced by 28243b0d35b47bbf9abbd454fc444a6e0a9e7b71 Intensity compensation is always used once it was encountered, because v->next_use_ic is never set back to zero. Reset v->next_use_ic, when resetting v->next_luty/uv. Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* 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>
* vc1: move MpegEncContext.resync_marker into VC1Context.Anton Khirnov2013-11-29
| | | | | The field still remains in MpegEncContext because it is used by the mpeg4 decoder.
* vc1: Reset numref if fieldmode is not setKostya Shishkov2013-11-26
| | | | | | | | | There are samples in the wild with B-frames and P-frames with different interlace mode. CC: libav-stable@libav.org Reported-by: Jean-Baptiste Kempf <jb@videolan.org> Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* vc1dec: Remove interlaced warningMichael Niedermayer2013-05-28
| | | | | | Also add a note about the feature in the changelog. 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>
* vc1: Reindent INIT_LUT(), align backslashesMartin Storsjö2013-05-15
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* vc1: Make INIT_LUT() self containedMichael Niedermayer2013-05-15
| | | | | | | Move the local variables it uses into the macro, enclosing them in a do {} while (0) scope. Signed-off-by: Martin Storsjö <martin@martin.st>
* vc1: Simplify code by using INIT_LUT()Michael Niedermayer2013-05-15
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* vc1: Move INIT_LUT() further up to allow using it in more placesMichael Niedermayer2013-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: implement frame interlaced b-frame header parsingHendrik Leppkes2013-05-14
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* avcodec: Add av_cold attributes to init functions missing themDiego Biurrun2013-05-04
|
* av_log_missing_feature() ---> avpriv_report_missing_feature()Diego Biurrun2013-03-13
|
* Remove unnecessary dsputil.h #includesDiego Biurrun2013-02-26
|
* vc1: Use codec ID from AVCodecContext while parsing frame headerMashiat Sarker Shakkhar2012-10-13
| | | | | | | This fixes a segfault with samples that I have (both of them MPEG-TS). Looks like avctx->codec is not being set during parsing. Signed-off-by: Kostya Shishkov <kostya.shishkov@gmail.com>
* Double motion vector range for HPEL interlaced picture in proper placeMashiat Sarker Shakkhar2012-10-10
| | | | | | | The existing code is not in the right place and it should cover both interlaced frame and field pictures. Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
* avcodec: Convert some commented-out printf/av_log instances to av_dlogDiego Biurrun2012-10-01
|
* avcodec: Drop some silly commented-out av_log() invocationsDiego Biurrun2012-10-01
|
* MSS2 decoderAlberto Delmás2012-08-31
| | | | Signed-off-by: Kostya Shishkov <kostya.shishkov@gmail.com>
* 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.
* 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: always read the bfraction element for interlaced fieldsHendrik Leppkes2012-01-26
| | | | | | | Previously, it would not be read if refdist_flag was not set, however according to the spec and the reference decoder, it should always be read. Signed-off-by: Kostya Shishkov <kostya.shishkov@gmail.com>
* vc1: don't read the interpfrm and bfraction elements for interlaced framesHendrik Leppkes2012-01-23
| | | | | | | This matches the spec as well as the reference decoder, and fixes a bug with interlaced frame decoding. Signed-off-by: Kostya Shishkov <kostya.shishkov@gmail.com>
* vc1: use an enum for Frame Coding ModeLuca Barbato2011-11-28
| | | | Document it a little and possibly fix a bug in dxva2_vc1.
* vc1: explicitly zero interlaced mode coding variables for progressive modeKostya Shishkov2011-10-13
| | | | | | | | Both v->fcm and v->field_mode are used in common code, now they won't be reset for progressive frame after interlaced one causing writing past the frame end for example. Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
* vc1: K&R reformatting cosmeticsKostya Shishkov2011-10-10
| | | | 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>
* Windows Media Image decoder (WMVP/WVP2)Alberto Delmás2011-08-23
| | | | Signed-off-by: Anton Khirnov <anton@khirnov.net>
* VC-1: fix reading of custom PAR.Reimar Döffinger2011-08-15
| | | | | | | Custom PAR num/denum are in 1-256 range. Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de> Signed-off-by: Diego Biurrun <diego@biurrun.de>
* simple_idct: add 10-bit versionMans Rullgard2011-07-20
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* 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.
* 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>
* 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>
* vc1: warn for unimplemented pan-scan feature.Ronald S. Bultje2011-03-21
|
* Replace FFmpeg with Libav in licence headersMans Rullgard2011-03-19
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* VC1: merge idct8x8, coeff adjustments and put_pixels.Ronald S. Bultje2011-02-21
| | | | | Merging these functions allows merging some loops, which makes the results (particularly after SIMD optimizations) much faster.
* dsputil: move VC1-specific stuff into VC1DSPContext.Ronald S. Bultje2011-02-17
|
* logging: downgrade recoverable errors to warningsStefan Kost2011-02-08
| | | | | | | | In all 3 cases, the decoding continues and thus a warning would be sufficient. Helps application that catch them with own log handers to handle them accordingly. Signed-off-by: Mans Rullgard <mans@mansr.com>
* Make WMV3 decoder attempt to decode WMVP as wellKostya Shishkov2010-09-26
| | | | Originally committed as revision 25209 to svn://svn.ffmpeg.org/ffmpeg/trunk
* RES_SM in WMV3 is really two flags, so split it in decoderKostya Shishkov2010-09-26
| | | | Originally committed as revision 25208 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Make WMV3 decoder print more errors when decoding beta WMV9 files.Kostya Shishkov2010-07-10
| | | | | | As a side effect it will also decode a lot of P-frames from those. Originally committed as revision 24161 to svn://svn.ffmpeg.org/ffmpeg/trunk