summaryrefslogtreecommitdiff
path: root/libavcodec/vc1.c
Commit message (Collapse)AuthorAge
...
* | 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>
| * 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>
* | Merge commit 'd46c588f3cb1963a00e990ceaf4ba9ffa05a716d'Michael Niedermayer2013-05-16
|\| | | | | | | | | | | | | | | | | | | | | | | * commit 'd46c588f3cb1963a00e990ceaf4ba9ffa05a716d': Remove commented-out #includes h263dec: Remove broken and disabled debug cruft vc1: Reindent INIT_LUT(), align backslashes Conflicts: libavcodec/vc1.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * vc1: Reindent INIT_LUT(), align backslashesMartin Storsjö2013-05-15
| | | | | | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* | 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>
| * 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>
* | Merge commit 'fe06795d783785a76c6cbcaa2cd3012e6deb5fa5'Michael Niedermayer2013-05-15
|\| | | | | | | | | | | | | | | | | | | * commit 'fe06795d783785a76c6cbcaa2cd3012e6deb5fa5': vc1: implement frame interlaced b-frame header parsing Conflicts: libavcodec/vc1.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * vc1: implement frame interlaced b-frame header parsingHendrik Leppkes2013-05-14
| | | | | | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* | Merge commit '6fee1b90ce3bf4fbdfde7016e0890057c9000487'Michael Niedermayer2013-05-05
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '6fee1b90ce3bf4fbdfde7016e0890057c9000487': avcodec: Add av_cold attributes to init functions missing them Conflicts: libavcodec/aacpsy.c libavcodec/atrac3.c libavcodec/dvdsubdec.c libavcodec/ffv1.c libavcodec/ffv1enc.c libavcodec/h261enc.c libavcodec/h264_parser.c libavcodec/h264dsp.c libavcodec/h264pred.c libavcodec/libschroedingerenc.c libavcodec/libxvid_rc.c libavcodec/mpeg12.c libavcodec/mpeg12enc.c libavcodec/proresdsp.c libavcodec/rangecoder.c libavcodec/videodsp.c libavcodec/x86/proresdsp_init.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * avcodec: Add av_cold attributes to init functions missing themDiego Biurrun2013-05-04
| |
* | vc1dec: make sure next_use_ic is set correctlyMichael Niedermayer2013-04-26
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | vc1dec: factor lut clean codeMichael Niedermayer2013-04-26
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | vc1dec: remove interlaced warningMichael Niedermayer2013-04-26
| | | | | | | | | | | | While not yet bugfree, the warning is IMHO no longer appropriate 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>
* | vc1: make INIT_LUT() self containedMichael Niedermayer2013-04-24
| | | | | | | | | | | | factorize variable declarations Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | vc1: simplify code use INIT_LUT()Michael Niedermayer2013-04-24
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | vc1dec: Fix non pullup tffMichael Niedermayer2013-04-20
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge commit '63d744e2be39466e3a734c2987cd713e0bac101e'Michael Niedermayer2013-03-14
|\| | | | | | | | | | | | | | | | | | | | | | | * commit '63d744e2be39466e3a734c2987cd713e0bac101e': av_log_missing_feature() ---> avpriv_report_missing_feature() Conflicts: libavcodec/aacdec.c libavcodec/tta.c libavformat/mpegts.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * av_log_missing_feature() ---> avpriv_report_missing_feature()Diego Biurrun2013-03-13
| |
* | Merge commit 'c242bbd8b6939507a1a6fb64101b0553d92d303f'Michael Niedermayer2013-02-26
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit 'c242bbd8b6939507a1a6fb64101b0553d92d303f': Remove unnecessary dsputil.h #includes Conflicts: libavcodec/ffv1.c libavcodec/h261dec.c libavcodec/h261enc.c libavcodec/h264pred.c libavcodec/lpc.h libavcodec/mjpegdec.c libavcodec/rectangle.h libavcodec/x86/idct_sse2_xvid.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * Remove unnecessary dsputil.h #includesDiego Biurrun2013-02-26
| |
* | vc1dec: do not allow field_mode to change after the first headerMichael Niedermayer2012-11-16
| | | | | | | | | | | | | | Fixes out of array accesses. Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | vc1: only disable interlaced b-frames for software decodingHendrik Leppkes2012-10-20
| | | | | | | | | | Tested-by: Gwenole Beauchesne <gb.devel@gmail.com> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2012-10-13
|\| | | | | | | | | | | | | | | | | | | | | | | * qatar/master: vc1: Use codec ID from AVCodecContext while parsing frame header avplay: support mid-stream sample rate changes Conflicts: ffplay.c libavcodec/vc1.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * 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>
* | Merge commit '4436f25a1682ada3f7226cb6fadf429946933161'Michael Niedermayer2012-10-11
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '4436f25a1682ada3f7226cb6fadf429946933161': build: remove references to unused EXTRAOBJS variable lavfi: convert input/ouput list compound literals to named objects fate: add h263 obmc vsynth tests avconv: remove bogus warning when using avconv -h without parameter averror: explicitly define AVERROR_* values flashsv: propagate inflateReset() errors indeo4/5: remove constant parameter num_bands from wavelet recomposition mxfdec: return error if no segments are available in mxf_get_sorted_table_segments Double motion vector range for HPEL interlaced picture in proper place Conflicts: libavcodec/v210dec.h libavfilter/af_aformat.c libavfilter/af_amix.c libavfilter/af_asyncts.c libavfilter/af_channelmap.c libavfilter/af_join.c libavfilter/asrc_anullsrc.c libavfilter/buffersrc.c libavfilter/f_setpts.c libavfilter/f_settb.c libavfilter/fifo.c libavfilter/src_movie.c libavfilter/vf_ass.c libavfilter/vf_blackframe.c libavfilter/vf_boxblur.c libavfilter/vf_delogo.c libavfilter/vf_drawbox.c libavfilter/vf_drawtext.c libavfilter/vf_fade.c libavfilter/vf_fieldorder.c libavfilter/vf_fps.c libavfilter/vf_hflip.c libavfilter/vf_overlay.c libavfilter/vf_pad.c libavfilter/vf_select.c libavfilter/vf_transpose.c libavfilter/vf_yadif.c libavfilter/vsrc_testsrc.c libavformat/mxfdec.c libavutil/error.h Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * 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>
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2012-10-01
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: avcodec: Convert some commented-out printf/av_log instances to av_dlog avcodec: Drop silly and/or broken printf debug output avcodec: Drop some silly commented-out av_log() invocations avformat: Convert some commented-out printf/av_log instances to av_dlog avformat: Remove non-compiling and/or silly commented-out printf/av_log statements Remove some silly disabled code. ac3dec: ensure get_buffer() gets a buffer for the correct number of channels Conflicts: libavcodec/dnxhddec.c libavcodec/ffv1.c libavcodec/h264.c libavcodec/h264_parser.c libavcodec/mjpegdec.c libavcodec/motion_est_template.c libavcodec/mpegaudiodec.c libavcodec/mpegvideo_enc.c libavcodec/put_bits.h libavcodec/ratecontrol.c libavcodec/wmaenc.c libavdevice/timefilter.c libavformat/asfdec.c libavformat/avidec.c libavformat/avienc.c libavformat/flvenc.c libavformat/utils.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * 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
| |
* | vc1dec: export adv profile color format indicationMichael Niedermayer2012-09-12
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2012-08-31
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: MSS1 and MSS2: set final pixel format after common stuff has been initialised MSS2 decoder configure: handle --disable-asm before check_deps x86: Split inline and external assembly #ifdefs configure: x86: Separate inline from standalone assembler capabilities pktdumper: Use a custom define instead of PATH_MAX for buffers pktdumper: Use av_strlcpy instead of strncpy pktdumper: Use sizeof(variable) instead of the direct buffer length Conflicts: Changelog configure libavcodec/allcodecs.c libavcodec/avcodec.h libavcodec/codec_desc.c libavcodec/dct-test.c libavcodec/imgconvert.c libavcodec/mss12.c libavcodec/version.h libavfilter/x86/gradfun.c libswscale/x86/yuv2rgb.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * MSS2 decoderAlberto Delmás2012-08-31
| | | | | | | | Signed-off-by: Kostya Shishkov <kostya.shishkov@gmail.com>
* | vc1dec: fix handling of max_coded dimensionsMichael Niedermayer2012-07-31
| | | | | | | | | | | | Fixes Ticket1502 Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | fate: enable fate-vc1_sa10143Michael Niedermayer2012-07-23
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | vc1: implement frame interlaced b-frame header parsingHendrik Leppkes2012-07-07
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | vc1: fix incorrect show_bits() usage.Michael Niedermayer2012-04-07
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2012-03-27
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: make av_interleaved_write_frame() flush packets when pkt is NULL mpegts: Fix dead error checks vc1: Do not read from array if index is invalid. targa: convert to bytestream2. rv34: set mb_num_left to 0 after finishing a frame Conflicts: libavcodec/targa.c libavcodec/vc1data.c Merged-by: Michael Niedermayer <michaelni@gmx.at>