summaryrefslogtreecommitdiff
path: root/libavcodec/vp3dsp.c
Commit message (Collapse)AuthorAge
* avcodec/vp3dsp: Use unsigned constant to avoid undefined integer overflow in ↵Michael Niedermayer2020-11-13
| | | | | | | | | | | ff_vp3dsp_set_bounding_values() Fixes: signed integer overflow: 64 * 33686018 cannot be represented in type 'int' Fixes: 26911/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_THEORA_fuzzer-4904975073017856 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Reviewed-by: Peter Ross <pross@xvid.org> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* vp4: prevent unaligned memory access in loop filterPeter Ross2019-10-30
| | | | | | | | | | | | VP4 applies a loop filter during motion compensation, causing the block offset will often by unaligned. This produces a bus error on some platforms, namely ARMv7 NEON. This patch adds a unaligned version of the loop filter function pointer to VP3DSPContext. Reported-by: Mike Melanson <mike@multimedia.cx> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/vp3dsp: add 10 coefficient version of the VP3 IDCTPeter Ross2019-01-26
| | | | | | This version of the IDCT is used by the VP6 decoder. Signed-off-by: Peter Ross <pross@xvid.org>
* avcodec/vp3dsp: add 12 pixel loop filter functionsPeter Ross2019-01-26
| | | | Signed-off-by: Peter Ross <pross@xvid.org>
* avcodec/vp3dsp: move vp3 init loop filter function to vp3dspPeter Ross2019-01-26
| | | | | | This is also used by the VP6 decoder. Signed-off-by: Peter Ross <pross@xvid.org>
* avcodec/mips: [loongson] optimize theora decoding in vp3dsp.gxw2018-12-27
| | | | | | | | | | | | | | Optimize theora decoding with msa in functions: 1. ff_vp3_idct_add_msa 2. ff_vp3_idct_put_msa 3. ff_vp3_idct_dc_add_msa 4. ff_vp3_v_loop_filter_msa 5. ff_vp3_h_loop_filter_msa 6. ff_put_no_rnd_pixels_l2_msa Theora decoding speed improved about 36%(from 22fps to 30fps, Tested on loongson 2K1000). Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* Merge commit '6892df9294d93322d43255ada299507465bc93c8'Clément Bœsch2017-03-19
|\ | | | | | | | | | | | | * commit '6892df9294d93322d43255ada299507465bc93c8': vp3: Change type of stride parameters to ptrdiff_t Merged-by: Clément Bœsch <u@pkh.me>
| * vp3: Change type of stride parameters to ptrdiff_tDiego Biurrun2016-08-26
| | | | | | | | | | | | | | This avoids SIMD-optimized functions having to sign-extend their stride argument manually to be able to do pointer arithmetic. Also adjust parameter names to be "stride" everywhere.
* | avcodec/vp3dsp: Fix multiple signed integer overflow: 46341 * 47523 cannot ↵Michael Niedermayer2017-02-24
| | | | | | | | | | | | | | | | | | be represented in type 'int' Fixes: 664/clusterfuzz-testcase-4917047475568640 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/targets/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | 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>
* | Correct few "ffmpeg" typosPaul B Mahol2014-08-24
| | | | | | | | Signed-off-by: Paul B Mahol <onemda@gmail.com>
* | Merge commit '880e2aa23645ed9871c66ee1cbd00f93c72d2d73'Michael Niedermayer2014-06-02
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '880e2aa23645ed9871c66ee1cbd00f93c72d2d73': Remove all Blackfin architecture optimizations Conflicts: libavcodec/bfin/dsputil.S libavcodec/bfin/dsputil_init.c libavcodec/bfin/fdct_bfin.S libavcodec/bfin/hpel_pixels_no_rnd.S libavcodec/bfin/hpeldsp_init.c libavcodec/bfin/idct_bfin.S libavcodec/bfin/mathops.h libavcodec/bfin/pixels.S libavcodec/bfin/pixels.h libavcodec/bfin/vp3dsp.S libavcodec/bfin/vp3dsp_init.c libavutil/bfin/asm.h libavutil/bfin/attributes.h libswscale/bfin/internal_bfin.S libswscale/bfin/swscale_bfin.c libswscale/bfin/yuv2rgb_bfin.c libswscale/swscale_internal.h libswscale/version.h If someone wants to maintain blackfin support in FFmpeg, please contact ffmpeg-devel@ffmpeg.org Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * Remove all Blackfin architecture optimizationsDiego Biurrun2014-06-02
| | | | | | | | | | | | Blackfin is a painful platform to work with, no test machines are available and the range of multimedia applications is dubious. Thus it only represents a maintenance burden.
* | Merge commit '3dc6272bed7890a49080e18eacf3c7a4a6594b0d'Michael Niedermayer2014-04-05
|\| | | | | | | | | | | | | | | | | | | | | * commit '3dc6272bed7890a49080e18eacf3c7a4a6594b0d': Remove a number of unnecessary dsputil.h #includes Conflicts: libavcodec/h264pred.c libavcodec/vc1dsp.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * Remove a number of unnecessary dsputil.h #includesDiego Biurrun2014-04-04
| |
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2014-04-02
|\| | | | | | | | | | | | | | | | | | | * qatar/master: VP3: K&R formatting cosmetics Conflicts: libavcodec/vp3.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * VP3: K&R formatting cosmeticsVittorio Giovara2014-04-01
| |
* | Merge commit 'ed9625eb62be1e1c44cecdd73ea0d80077a15d48'Michael Niedermayer2014-03-13
|\| | | | | | | | | | | | | * commit 'ed9625eb62be1e1c44cecdd73ea0d80077a15d48': dsputil: Move intreadwrite.h #include from header file to .c files Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * dsputil: Move intreadwrite.h #include from header file to .c filesDiego Biurrun2014-03-13
| |
* | Merge commit '015821229f96bf7e677f2a711a58dbea3009f574'Michael Niedermayer2013-04-16
|\| | | | | | | | | | | | | | | | | | | | | * commit '015821229f96bf7e677f2a711a58dbea3009f574': vp3: Use full transpose for all IDCTs Conflicts: libavcodec/vp3.c libavcodec/vp3dsp.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * vp3: Use full transpose for all IDCTsRonald S. Bultje2013-04-15
| | | | | | | | | | | | | | | | | | | | | | This way, the special IDCT permutations are no longer needed. This is similar to how H264 does it, and removes the dsputil dependency imposed by the scantable code. Also remove the unused type == 0 cases from the plain C version of the idct. Signed-off-by: Martin Storsjö <martin@martin.st>
* | vp3/x86: use full transpose for all IDCTs.Ronald S. Bultje2013-03-12
| | | | | | | | | | | | | | | | This way, the special IDCT permutations are no longer needed. Bfin code is disabled until someone updates it. This is similar to how H264 does it, and removes the dsputil dependency imposed by the scantable code. Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge commit 'bf6b3ec924b4fb64d14df33077f4d4541d525dbf'Michael Niedermayer2013-02-09
|\| | | | | | | | | | | | | * commit 'bf6b3ec924b4fb64d14df33077f4d4541d525dbf': dsputil: Move rnd_avg inline functions to a separate header Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * dsputil: Move rnd_avg inline functions to a separate headerDiego Biurrun2013-02-08
| |
* | Merge commit '098eed95bc1a6b2c8ac97f126f62bb74699670cf'Michael Niedermayer2013-01-29
|\| | | | | | | | | | | | | | | | | | | * commit '098eed95bc1a6b2c8ac97f126f62bb74699670cf': mdec: merge mdec_common_init() into decode_init(). eatgv: use fixed-width types where appropriate. x86: Simplify some arch conditionals bfin: Separate VP3 initialization code Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * bfin: Separate VP3 initialization codeDiego Biurrun2013-01-28
| |
* | Merge commit '88bd7fdc821aaa0cbcf44cf075c62aaa42121e3f'Michael Niedermayer2013-01-23
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '88bd7fdc821aaa0cbcf44cf075c62aaa42121e3f': Drop DCTELEM typedef Conflicts: libavcodec/alpha/dsputil_alpha.h libavcodec/alpha/motion_est_alpha.c libavcodec/arm/dsputil_init_armv6.c libavcodec/bfin/dsputil_bfin.h libavcodec/bfin/pixels_bfin.S libavcodec/cavs.c libavcodec/cavsdec.c libavcodec/dct-test.c libavcodec/dnxhdenc.c libavcodec/dsputil.c libavcodec/dsputil.h libavcodec/dsputil_template.c libavcodec/eamad.c libavcodec/h264_cavlc.c libavcodec/h264idct_template.c libavcodec/mpeg12.c libavcodec/mpegvideo.c libavcodec/mpegvideo.h libavcodec/mpegvideo_enc.c libavcodec/ppc/dsputil_altivec.c libavcodec/proresdsp.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * Drop DCTELEM typedefDiego Biurrun2013-01-22
| | | | | | | | | | | | It does not help as an abstraction and adds dsputil dependencies. Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
* | Merge commit '0ee8293a77a6afad161e91ce1d43c4a57ce33a6a'Michael Niedermayer2013-01-23
|\| | | | | | | | | | | | | | | * commit '0ee8293a77a6afad161e91ce1d43c4a57ce33a6a': vp3dsp: don't do aligned reads on input. mlp_parser: cosmetics: re-indent. Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * vp3dsp: don't do aligned reads on input.Ronald S. Bultje2013-01-22
| | | | | | | | The input is not guaranteed to be aligned.
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2013-01-22
|\| | | | | | | | | | | | | | | * qatar/master: proresdec: support mixed interlaced/non-interlaced content vp3/5: move put_no_rnd_pixels_l2 from dsputil to VP3DSPContext. Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * vp3/5: move put_no_rnd_pixels_l2 from dsputil to VP3DSPContext.Ronald S. Bultje2013-01-21
| | | | | | | | | | The function is only used in VP3 and VP5, so no need to have it in DSPContext.
* | Merge commit 'aeaf268e52fc11c1f64914a319e0edddf1346d6a'Michael Niedermayer2013-01-20
|\| | | | | | | | | | | | | | | | | | | | | | | | | * commit 'aeaf268e52fc11c1f64914a319e0edddf1346d6a': vp3: integrate clear_blocks with idct of previous block. mpegvideo: fix loop condition in draw_line() dvdsubdec: parse the size from the extradata Conflicts: libavcodec/dvdsubdec.c libavcodec/mpegvideo.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * vp3: integrate clear_blocks with idct of previous block.Ronald S. Bultje2013-01-19
| | | | | | | | | | | | | | | | | | This is identical to what e.g. vp8 does, and prevents the function call overhead (plus dependency on dsputil for this particular function). Arm asm updated by Janne Grunau <janne-libav@jannau.net>. Signed-off-by: Janne Grunau <janne-libav@jannau.net>
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2012-08-16
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: Fix even more missing includes after the common.h removal build: Factor out rangecoder dependencies to CONFIG_RANGECODER build: Factor out error resilience dependencies to CONFIG_ERROR_RESILIENCE x86: avcodec: Consistently name all init files Add more missing includes after removing the implicit common.h Add some more missing includes after removing the implicit common.h Don't include common.h from avutil.h rtmp: Automatically compute the hash for SWFVerification Conflicts: configure doc/APIchanges doc/examples/decoding_encoding.c libavcodec/Makefile libavcodec/assdec.c libavcodec/audio_frame_queue.c libavcodec/avpacket.c libavcodec/dv_profile.c libavcodec/dwt.c libavcodec/libtheoraenc.c libavcodec/rawdec.c libavcodec/rv40dsp.c libavcodec/tiff.c libavcodec/tiffenc.c libavcodec/v210dec.h libavcodec/vc1dsp.c libavcodec/x86/Makefile libavfilter/asrc_anullsrc.c libavfilter/avfilter.c libavfilter/buffer.c libavfilter/formats.c libavfilter/vf_ass.c libavfilter/vf_drawtext.c libavfilter/vf_fade.c libavfilter/vf_select.c libavfilter/video.c libavfilter/vsrc_testsrc.c libavformat/version.h libavutil/audioconvert.c libavutil/error.h libavutil/version.h Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * Don't include common.h from avutil.hMartin Storsjö2012-08-15
| | | | | | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2012-07-18
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: ppc: fix build with altivec disabled vp3: move idct and loop filter pointers to new vp3dsp context build: add CONFIG_VP3DSP, reduce repetition in OBJS lists tscc2: do not add/subtract 128 bias during DCT tscc2: fix typo in DCT configure: clarify external library section of help output configure: mark libfdk-aac as nonfree configure: cosmetics: drop some unnecessary backslashes os_support: K&R formatting cosmetics Conflicts: configure libavcodec/vp3.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * vp3: move idct and loop filter pointers to new vp3dsp contextMans Rullgard2012-07-18
| | | | | | | | | | | | | | | | This moves all VP3-specific function pointers from dsputil to a new vp3dsp context. There is no reason to ever use the VP3 IDCT where an MPEG2 IDCT is expected or vice versa. Signed-off-by: Mans Rullgard <mans@mansr.com>
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2012-03-07
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: SBR DSP: fix SSE code to not use SSE2 instructions. cpu: initialize mask to -1, so that by default, optimizations are used. error_resilience: initialize s->block_index[]. svq3: protect against negative quantizers. Don't use ff_cropTbl[] for IDCT. swscale: make filterPos 32bit. FATE: add CPUFLAGS variable, mapping to -cpuflags avconv option. avconv: add -cpuflags option for setting supported cpuflags. cpu: add av_set_cpu_flags_mask(). libx264: Allow overriding the sliced threads option avconv: fix counting encoded video size. Conflicts: doc/APIchanges doc/fate.texi doc/ffmpeg.texi ffmpeg.c libavcodec/h264idct_template.c libavcodec/svq3.c libavutil/avutil.h libavutil/cpu.c libavutil/cpu.h libswscale/swscale.c tests/Makefile tests/fate-run.sh tests/regression-funcs.sh Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * Don't use ff_cropTbl[] for IDCT.Ronald S. Bultje2012-03-06
| | | | | | | | | | | | | | | | Results of IDCT can by far outreach the range of ff_cropTbl[], leading to overreads and potentially crashes. Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind CC: libav-stable@libav.org
| * Replace FFmpeg with Libav in licence headersMans Rullgard2011-03-19
|/ | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* Improve some uses of ff_cropTbl with constant offsetMåns Rullgård2010-06-22
| | | | Originally committed as revision 23728 to svn://svn.ffmpeg.org/ffmpeg/trunk
* vp3: 10l Fix DC-only IDCT for C and ARM tooDavid Conrad2010-05-28
| | | | Originally committed as revision 23359 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Remove explicit filename from Doxygen @file commands.Diego Biurrun2010-04-20
| | | | | | | | Passing an explicit filename to this command is only necessary if the documentation in the @file block refers to a file different from the one the block resides in. Originally committed as revision 22921 to svn://svn.ffmpeg.org/ffmpeg/trunk
* vp3: DC-only IDCTDavid Conrad2010-04-17
| | | | | | 2-4% faster overall decode Originally committed as revision 22896 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Use full internal pathname in doxygen @file directives.Diego Biurrun2009-02-01
| | | | | | | Otherwise doxygen complains about ambiguous filenames when files exist under the same name in different subdirectories. Originally committed as revision 16912 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Move VP3 loop filter to DSPContextDavid Conrad2008-10-04
| | | | Originally committed as revision 15551 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Fix decoding of 320x240.ogg.Michael Niedermayer2008-07-13
| | | | Originally committed as revision 14227 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Remove redundant #inclusion of common.h, avcodec.h already #includes it.Diego Biurrun2007-05-10
| | | | Originally committed as revision 8967 to svn://svn.ffmpeg.org/ffmpeg/trunk