summaryrefslogtreecommitdiff
path: root/libavcodec/vc1.c
Commit message (Collapse)AuthorAge
* avcodec/vc1: FIELDTX is only present in interlaced frame I/BI picturesJerome Borsboom2018-05-20
| | | | | | | | If v->fieldtx_is_raw is not reset to zero, it may spill over from a previous interlaced frame I/BI picture. Signed-off-by: Jerome Borsboom <jerome.borsboom@carpalis.nl> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/vc1: more corrections for AC inverse quantization scalingJerome Borsboom2018-04-25
| | | | | | | | | | | HALFQP should only be added to the inverse quantizer when the block is coded with PQUANT. When PQUANT is equal to ALTPQUANT, the original test for the addition of HALFQP fails. A negative value for mquant indicates that the value was derived from VOPDQUANT. Fixes #4372 Signed-off-by: Jerome Borsboom <jerome.borsboom@carpalis.nl>
* avcodec/vc1: correct mspel for field-interlace B framesJerome Borsboom2018-04-25
| | | | | | | mspel indicates the use of bicubic interpolation. The check wrongly included MVMODE MV_PMODE_1MV_HPEL as using bilinear interpolation. Signed-off-by: Jerome Borsboom <jerome.borsboom@carpalis.nl>
* avcodec/vc1: check return value of bitplane_decoding()Paul B Mahol2018-04-23
| | | | Signed-off-by: Paul B Mahol <onemda@gmail.com>
* simple_idct: Template functions to support an input bitdepth parameterKieran Kunhya2018-04-02
|
* avcodec/vc1: add bitstream elements for VAAPI VC-1 interlaced decodingJerome Borsboom2018-03-04
| | | | | | | We need to pass more bitstream elements to the VAAPI VC-1 decoder in order to start doing interlaced decoding in hardware. Signed-off-by: Jerome Borsboom <jerome.borsboom@carpalis.nl>
* Merge commit '41ed7ab45fc693f7d7fc35664c0233f4c32d69bb'Clément Bœsch2016-06-21
|\ | | | | | | | | | | | | * commit '41ed7ab45fc693f7d7fc35664c0233f4c32d69bb': cosmetics: Fix spelling mistakes Merged-by: Clément Bœsch <u@pkh.me>
| * cosmetics: Fix spelling mistakesVittorio Giovara2016-05-04
| | | | | | | | Signed-off-by: Diego Biurrun <diego@biurrun.de>
| * Drop pointless assert.h #includesDiego Biurrun2016-05-03
| |
* | Merge commit 'f9fbd474676e903e12efe83203697d60a9d28cf9'Derek Buitenhuis2016-02-24
|\| | | | | | | | | | | | | * commit 'f9fbd474676e903e12efe83203697d60a9d28cf9': msmpeg4data: Move WMV2 data tables to their own file Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
| * msmpeg4data: Move WMV2 data tables to their own fileDiego Biurrun2016-02-19
| |
* | Merge commit '29c2d06d67724e994980045afa055c6c34611b30'Derek Buitenhuis2016-02-24
|\| | | | | | | | | | | | | * commit '29c2d06d67724e994980045afa055c6c34611b30': cosmetics: Drop empty comment lines Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
| * cosmetics: Drop empty comment linesDiego Biurrun2016-02-18
| |
* | Merge commit '6a85dfc830f51f1f5c2d36d4182d265c1ea3ba25'Michael Niedermayer2015-04-20
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '6a85dfc830f51f1f5c2d36d4182d265c1ea3ba25': lavc: Replace av_dlog and tprintf with internal macros Conflicts: libavcodec/aacdec.c libavcodec/audio_frame_queue.c libavcodec/bitstream.c libavcodec/dcadec.c libavcodec/dnxhddec.c libavcodec/dvbsubdec.c libavcodec/dvdec.c libavcodec/dvdsubdec.c libavcodec/get_bits.h libavcodec/gifdec.c libavcodec/h264.h libavcodec/h264_cabac.c libavcodec/h264_cavlc.c libavcodec/h264_loopfilter.c libavcodec/h264_refs.c libavcodec/imc.c libavcodec/interplayvideo.c libavcodec/jpeglsdec.c libavcodec/libopencore-amr.c libavcodec/mjpegdec.c libavcodec/mpeg12dec.c libavcodec/mpegvideo_enc.c libavcodec/mpegvideo_parser.c libavcodec/pngdec.c libavcodec/ratecontrol.c libavcodec/rv10.c libavcodec/svq1dec.c libavcodec/vqavideo.c libavcodec/wmadec.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * lavc: Replace av_dlog and tprintf with internal macrosVittorio Giovara2015-04-19
| |
* | avcodec/vc1: Fix undefined shiftsMichael Niedermayer2015-03-15
| | | | | | | | | | | | Found-by: Clang -fsanitize=shift Reported-by: Thierry Foucu <tfoucu@google.com> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | avcodec/vc1: cleanup and simplificationzhaoxiu.zeng2015-02-15
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | avcodec/vc1: remove unneeded #includes, there are no assert() only av_assert*Paul B Mahol2015-01-31
| | | | | | | | Signed-off-by: Paul B Mahol <onemda@gmail.com>
* | avcodec/vc1: fix time_base and framerateMichael Niedermayer2014-10-15
| | | | | | | | | | | | | | They are not just inverses of each other. This should restore behavior to before the introduction of framerate Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge commit '7ea1b3472a61de4aa4d41b571e99418e4997ad41'Michael Niedermayer2014-10-15
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '7ea1b3472a61de4aa4d41b571e99418e4997ad41': lavc: deprecate the use of AVCodecContext.time_base for decoding Conflicts: libavcodec/avcodec.h libavcodec/h264.c libavcodec/mpegvideo_parser.c libavcodec/utils.c libavcodec/version.h Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * lavc: deprecate the use of AVCodecContext.time_base for decodingAnton Khirnov2014-10-15
| | | | | | | | | | | | | | | | | | | | | | When decoding, this field holds the inverse of the framerate that can be written in the headers for some codecs. Using a field called 'time_base' for this is very misleading, as there are no timestamps associated with it. Furthermore, this field is used for a very different purpose during encoding. Add a new field, called 'framerate', to replace the use of time_base for decoding.
* | Merge commit '1a02e78653a5c7674e6c43b6e6f2748dbd2091d7'Michael Niedermayer2014-10-09
|\| | | | | | | | | | | | | | | * commit '1a02e78653a5c7674e6c43b6e6f2748dbd2091d7': vc1: initialize color properties See: ddabecbbf5509325c6c695ccc60d67c0af2065f3 Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * vc-1: Add platform-specific start code search routine to VC1DSPContext.Ben Avison2014-08-04
| | | | | | | | | | | | | | Initialise VC1DSPContext for parser as well as for decoder. Note, the VC-1 code doesn't actually use the function pointer yet. Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* | Merge commit '9e500efdbe0deeff1602500ebc229a0a6b6bb1a2'Michael Niedermayer2014-06-20
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '9e500efdbe0deeff1602500ebc229a0a6b6bb1a2': Add av_image_check_sar() and use it to validate SAR Conflicts: libavcodec/dpx.c libavcodec/dvdec.c libavcodec/ffv1dec.c libavcodec/utils.c libavutil/version.h Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * Add av_image_check_sar() and use it to validate SARJustin Ruggles2014-06-20
| |
* | avcodec: replace uses of deprecated avcodec_set_dimensions()Michael Niedermayer2014-05-09
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | vc-1: Add platform-specific start code search routine to VC1DSPContext.Ben Avison2014-04-25
| | | | | | | | | | | | | | Initialise VC1DSPContext for parser as well as for decoder. Note, the VC-1 code doesn't actually use the function pointer yet. Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2014-04-09
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: mpegvideo: operate with pointers to AVFrames instead of whole structs Conflicts: libavcodec/h261dec.c libavcodec/h263dec.c libavcodec/intrax8.c libavcodec/mpeg12enc.c libavcodec/mpegvideo.c libavcodec/mpegvideo.h libavcodec/mpegvideo_enc.c libavcodec/mpegvideo_motion.c libavcodec/mpegvideo_xvmc.c libavcodec/msmpeg4.c libavcodec/ratecontrol.c libavcodec/vaapi.c libavcodec/vc1dec.c libavcodec/vdpau_vc1.c See: fc567ac49e17151f00f31b59030cd10f952612ef Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * 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>
* | avcodec/vc1: reset fcm/field_mode in non advanced header parsingMichael Niedermayer2014-02-01
| | | | | | | | | | | | | | Fixes NULL pointer dereference Fixes: signal_sigsegv_1ab8bf4_2847_cov_4254117347_SA10091.vc1 Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | avcodec/vc1: Check bfraction_lut_indexMichael Niedermayer2014-02-01
| | | | | | | | | | | | | | | | | | | | Fixes: out of array read Fixes: asan_static-oob_1b40507_2849_SA10143.vc1 Fixes: asan_static-oob_1b40a15_2849_cov_1182297305_SA10143.vc1 Fixes: asan_static-oob_1b40f15_2849_cov_2159513432_SA10143.vc1 Fixes: asan_static-oob_1b40f15_2849_cov_3230311510_SA10143.vc1 Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | avcodec/vc1: factor read_bfraction() outMichael Niedermayer2014-02-01
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | avcodec/vc1: fix type of tmpMichael Niedermayer2014-01-24
| | | | | | | | | | Fixes CID1163850 Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2014-01-21
|\| | | | | | | | | | | | | | | | | | | * qatar/master: vc1: Always reset numref when parsing a new frame header. Conflicts: libavcodec/vc1.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * 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: set chromaformat = 1 for simple/main profileHendrik Leppkes2014-01-01
| | | | | | | | | | | | | | 1 is the only valid value for VC-1/WMV3, and setting it here makes sure no invalid value is send to a hw accelerator, for example. Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | vc1: simplify *_use_ic initializationMichael Niedermayer2013-12-22
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | VC1: Fix intensity compensation performance regressionMason Carter2013-12-22
| | | | | | | | | | | | | | | | | | | | | | | | | | Fix https://trac.ffmpeg.org/ticket/3204 The problem was that intensity compensation was always used once it was encountered. This is because v->next_use_ic was never set back to zero. To fix this, when resetting v->next_luty/uv, also reset v->next_use_ic. This improved (restored) performance by 85% when decoding http://bit.ly/bbbwmv Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | avcodec/vc1: fix DIFF2/NORM2 with width<=16Michael Niedermayer2013-12-14
| | | | | | | | | | | | | | Fixes read of uninitialized memory Fixes msan_uninit-mem_7f785da000e8_585_480i30__codec_WVC1__mode_2__framerate_29.970__type_2__preproc_17.wmv Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | avcodec/vc1: fix mb_height for field picturesMichael Niedermayer2013-12-14
| | | | | | | | | | | | | | | | | | | | Fixes ticket2531 Tables are always allocated now with sufficient space for either progressive or interlaced content. The alternative would be to detect a change and reallocate. Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | avcodec/vc1: Factorize imode enum out / remove duplicationMichael Niedermayer2013-12-14
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge commit 'c2f7417eeb9cc31f75e71f7be2780f90f1628d7e'Michael Niedermayer2013-11-30
|\| | | | | | | | | | | | | * commit 'c2f7417eeb9cc31f75e71f7be2780f90f1628d7e': vc1: move MpegEncContext.resync_marker into VC1Context. Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * 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.
* | Merge commit 'de44dfc7c0ec02bda7d846ef713145c890bfae3f'Michael Niedermayer2013-11-26
|\| | | | | | | | | | | | | | | | | * commit 'de44dfc7c0ec02bda7d846ef713145c890bfae3f': vc1: Reset numref if fieldmode is not set This change is redundant, numref is already reset Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * 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>
* | Merge commit '28243b0d35b47bbf9abbd454fc444a6e0a9e7b71'Michael Niedermayer2013-05-29
|\| | | | | | | | | | | | | | | | | | | | | * commit '28243b0d35b47bbf9abbd454fc444a6e0a9e7b71': vc1dec: Redesign the intensity compensation Conflicts: libavcodec/vc1.c libavcodec/vc1dec.c Merged-by: Michael Niedermayer <michaelni@gmx.at>