summaryrefslogtreecommitdiffstats
path: root/libavcodec/vp8dsp.c
Commit message (Collapse)AuthorAgeFilesLines
* avcodec/mips: MSA (MIPS-SIMD-Arch) optimizations for VP8 functionsShivraj Patil2015-08-041-0/+2
| | | | Signed-off-by: Shivraj Patil <shivraj.patil@imgtec.com>
* avcodec/vp8: fix () in macrosMichael Niedermayer2014-06-181-1/+1
| | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* Merge commit 'ac4b32df71bd932838043a4838b86d11e169707f'Michael Niedermayer2014-04-041-143/+191
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit 'ac4b32df71bd932838043a4838b86d11e169707f': On2 VP7 decoder Conflicts: Changelog libavcodec/arm/h264pred_init_arm.c libavcodec/arm/vp8dsp.h libavcodec/arm/vp8dsp_init_arm.c libavcodec/arm/vp8dsp_init_armv6.c libavcodec/arm/vp8dsp_init_neon.c libavcodec/avcodec.h libavcodec/h264pred.c libavcodec/version.h libavcodec/vp8.c libavcodec/vp8.h libavcodec/vp8data.h libavcodec/vp8dsp.c libavcodec/vp8dsp.h libavcodec/x86/h264_intrapred_init.c libavcodec/x86/vp8dsp_init.c See: 89f2f5dbd7a23e7ec1073d3c08d46093a01a4135 and others Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * On2 VP7 decoderPeter Ross2014-04-041-93/+272
| | | | | | | | | | | | | | | | | | Further performance improvements and security fixes by Vittorio Giovara, Luca Barbato and Diego Biurrun. Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com> Signed-off-by: Luca Barbato <lu_zero@gentoo.org> Signed-off-by: Diego Biurrun <diego@biurrun.de>
* | Merge commit '53c20f17c78d1d8a0fc2505868f201e69ff59cc5'Michael Niedermayer2014-03-301-272/+307
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | * commit '53c20f17c78d1d8a0fc2505868f201e69ff59cc5': vp8: K&R formatting cosmetics Conflicts: libavcodec/vp8.c libavcodec/vp8.h libavcodec/vp8data.h libavcodec/vp8dsp.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * vp8: K&R formatting cosmeticsVittorio Giovara2014-03-291-264/+302
| | | | | | | | Signed-off-by: Diego Biurrun <diego@biurrun.de>
* | Merge commit 'f9279ee74936b4990fc46287c27816ef828cc06c'Michael Niedermayer2014-03-221-1/+1
|\ \ | |/ | | | | | | | | | | | | | | | | * commit 'f9279ee74936b4990fc46287c27816ef828cc06c': dsputil: Move ff_zigzag_direct and ff_crop_tab declarations to mathops.h Conflicts: libavcodec/imgconvert.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * dsputil: Move ff_zigzag_direct and ff_crop_tab declarations to mathops.hDiego Biurrun2014-03-221-1/+1
| |
* | Merge commit '05563ccacc98fd185affdbf8cbaf094caf36b852'Michael Niedermayer2014-03-141-5/+5
|\ \ | |/ | | | | | | | | | | | | | | | | | | * commit '05563ccacc98fd185affdbf8cbaf094caf36b852': dsputil: cosmetics: Lose camelCase on ff_cropTbl and ff_squareTbl names Conflicts: libavcodec/bit_depth_template.c libavcodec/motionpixels_tablegen.h Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * dsputil: cosmetics: Lose camelCase on ff_cropTbl and ff_squareTbl namesDiego Biurrun2014-03-131-5/+5
| | | | | | | | Also switch from "tbl" to "tab" name suffixes.
* | Merge commit 'ed9625eb62be1e1c44cecdd73ea0d80077a15d48'Michael Niedermayer2014-03-131-0/+1
|\ \ | |/ | | | | | | | | | | * commit 'ed9625eb62be1e1c44cecdd73ea0d80077a15d48': dsputil: Move intreadwrite.h #include from header file to .c files Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * vp8: fix bilinear C code to work if src_stride != dst_stride.Ronald S. Bultje2014-02-061-10/+10
| | | | | | | | | | Signed-off-by: Anton Khirnov <anton@khirnov.net> Signed-off-by: Janne Grunau <janne-libav@jannau.net>
* | avcodec/vp8dsp: use AV_ZERO64 to clear idct coefficient rowsPeter Ross2014-02-251-12/+3
| | | | | | | | | | Signed-off-by: Peter Ross <pross@xvid.org> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | avcodec/vp8dsp: evaluate CONFIG_VP7_DECODER/CONFIG_VP8_DECODERPeter Ross2014-02-171-31/+43
| | | | | | | | | | Reviewed-by: "Ronald S. Bultje" <rsbultje@gmail.com> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | avcodec/vp8dsp: zeroise input coefficient array after use in vp7 idct functionsPeter Ross2014-02-171-0/+8
| | | | | | | | | | | | Signed-off-by: Peter Ross <pross@xvid.org> Reviewed-by: "Ronald S. Bultje" <rsbultje@gmail.com> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | avcodec/vp8dsp: add VP7 idct and loop filterPeter Ross2014-02-151-78/+192
| | | | | | | | | | | | Signed-off-by: Peter Ross <pross@xvid.org> Reviewed-by: "Ronald S. Bultje" <rsbultje@gmail.com> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | vp8: fix PPC assembly and bilinear C code to work if src_stride != dst_stride.Ronald S. Bultje2013-09-231-10/+10
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2013-08-291-2/+2
|\ \ | |/ | | | | | | | | | | * qatar/master: cosmetics: Place arch initialization calls in alphabetical order Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * cosmetics: Place arch initialization calls in alphabetical orderDiego Biurrun2013-08-291-2/+2
| |
* | Merge commit '38282149b6ce8f4b8361e3b84542ba9aa8a1f32f'Michael Niedermayer2013-05-011-2/+2
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | * commit '38282149b6ce8f4b8361e3b84542ba9aa8a1f32f': ppc: More consistent arch initialization Conflicts: libavcodec/fft.h libavcodec/mpegaudiodsp.c libavcodec/mpegaudiodsp.h Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * ppc: More consistent arch initializationDiego Biurrun2013-04-301-2/+2
| |
* | Merge commit '9e0f14f16cfc9456a691655fda7d01090bffe47e'Michael Niedermayer2013-04-081-5/+5
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | * commit '9e0f14f16cfc9456a691655fda7d01090bffe47e': lavc: Make pointers to ff_cropTbl const vp3: Embed idct_permutation array directly in VP3DecoderContext Conflicts: libavcodec/bit_depth_template.c libavcodec/vp3.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * lavc: Make pointers to ff_cropTbl constMartin Storsjö2013-04-081-5/+5
| | | | | | | | | | | | There's no point in these pointers not being const. Signed-off-by: Martin Storsjö <martin@martin.st>
* | Merge commit '88bd7fdc821aaa0cbcf44cf075c62aaa42121e3f'Michael Niedermayer2013-01-231-7/+7
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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-221-7/+7
| | | | | | | | | | | | It does not help as an abstraction and adds dsputil dependencies. Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2012-10-081-1/+1
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: x86: vc1: call ff_vc1dsp_init_x86() under if (ARCH_X86) x86: cavs: call ff_cavsdsp_init_x86() under if (ARCH_X86) x86: call most of the x86 dsp init functions under if (ARCH_X86) doc: support the new website layout doc: remove a warning from filters.texi doc: initial nut documentation segment: drop global headers setting lavu: fix typo in Makefile Conflicts: doc/Makefile doc/filters.texi doc/t2h.init libavcodec/fmtconvert.c libavcodec/proresdsp.c libavcodec/x86/Makefile libavcodec/x86/vc1dsp_mmx.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * x86: call most of the x86 dsp init functions under if (ARCH_X86)Janne Grunau2012-10-081-1/+1
| | | | | | | | Rename the called dsp init functions to *_init_x86.
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2012-08-161-0/+1
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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-151-0/+1
| | | | | | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2012-03-071-10/+8
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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-061-10/+8
| | | | | | | | | | | | | | | | 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
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2012-03-031-22/+22
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: (29 commits) amrwb: remove duplicate arguments from extrapolate_isf(). amrwb: error out early if mode is invalid. h264: change underread for 10bit QPEL to overread. matroska: check buffer size for RM-style byte reordering. vp8: disable mmx functions with sse/sse2 counterparts on x86-64. vp8: change int stride to ptrdiff_t stride. wma: fix invalid buffer size assumptions causing random overreads. Windows Media Audio Lossless decoder rv10/20: Fix slice overflow with checked bitstream reader. h263dec: Disallow width/height changing with frame threads. rv10/20: Fix a buffer overread caused by losing track of the remaining buffer size. rmdec: Honor .RMF tag size rather than assuming 18. g722: Fix the QMF scaling r3d: don't set codec timebase. electronicarts: set timebase for tgv video. electronicarts: parse the framerate for cmv video. ogg: don't set codec timebase electronicarts: don't set codec timebase avs: don't set codec timebase wavpack: Fix an integer overflow ... Conflicts: libavcodec/arm/vp8dsp_init_arm.c libavcodec/fraps.c libavcodec/h264.c libavcodec/mpeg4videodec.c libavcodec/mpegvideo.c libavcodec/msmpeg4.c libavcodec/pnmdec.c libavcodec/qpeg.c libavcodec/rawenc.c libavcodec/ulti.c libavcodec/vcr1.c libavcodec/version.h libavcodec/wmalosslessdec.c libavformat/electronicarts.c libswscale/ppc/yuv2rgb_altivec.c tests/ref/acodec/g722 tests/ref/fate/ea-cmv Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * vp8: change int stride to ptrdiff_t stride.Ronald S. Bultje2012-03-021-22/+22
| | | | | | | | | | On 64bit platforms with 32bit int, this means we won't have to sign- extend the integer anymore.
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2011-07-151-3/+6
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: configure: Automatically add more flags required on symbian mem.h: switch doxygen parameter order to match function prototype doxygen: replace @sa tag by the more readable but equivalent @see doxygen: use Doxygen markup for authors and web links where appropriate doxygen: do not include license boilerplate in Doxygen documentation ac3enc: Mark AVClasses const ffserver: Replace two loops with one loop. ffmpeg: Fix the check for experimental codecs swscale: extend mmx padding. swscale: clip unscaled colorspace conversion path. doxygen: misc consistency cosmetics doc: remove file name from @file directive in Doxygen usage example doxygen: consistently place brief description doxygen: place empty line between brief description and detailed description avformat_open_input(): Add braces to shut up gcc warning. Conflicts: libavcodec/8svx.c libavcodec/tiff.c libavcodec/tiff.h libavcodec/vaapi_h264.c libavcodec/vorbis.c libavcodec/vorbisdec.c libavcodec/vp6.c libswscale/swscale_unscaled.c libswscale/utils.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * doxygen: do not include license boilerplate in Doxygen documentationDiego Biurrun2011-07-151-3/+6
| |
| * Replace FFmpeg with Libav in licence headersMans Rullgard2011-03-191-4/+4
| | | | | | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
| * VP8: ARM NEON optimisations for dsp functionsMans Rullgard2011-02-071-0/+2
| | | | | | | | | | | | | | This adds NEON optimised versions of all functions in VP8DSPContext. Based on initial work by Rob Clark. Signed-off-by: Mans Rullgard <mans@mansr.com>
| * VP8: don't overread edges on fourtap MC.Ronald S. Bultje2011-01-261-38/+38
| | | | | | | | | | | | | | Fix C VP8 H+V MC functions which do two-dimensional 4/6-tap filters to not overread beyond their edges if the second filter is 4-tap, since the outer pixels aren't there anymore since 44002d8323023c35f51d523a7d305e45103ba7a1.
* | VP8: ARM NEON optimisations for dsp functionsMans Rullgard2011-02-091-0/+2
| | | | | | | | | | | | | | | | This adds NEON optimised versions of all functions in VP8DSPContext. Based on initial work by Rob Clark. Signed-off-by: Mans Rullgard <mans@mansr.com> (cherry picked from commit a1c1d3c003b0ec16fdb6574913781313fb2c7ab6)
* | VP8: don't overread edges on fourtap MC.Ronald S. Bultje2011-01-281-38/+38
|/ | | | | | | | Fix C VP8 H+V MC functions which do two-dimensional 4/6-tap filters to not overread beyond their edges if the second filter is 4-tap, since the outer pixels aren't there anymore since 44002d8323023c35f51d523a7d305e45103ba7a1. (cherry picked from commit 22893e10ae8b72880838accc3df97785502ac6aa)
* VP8: much faster DC transform handlingJason Garrett-Glaser2010-08-021-4/+17
| | | | | | | | | | A lot of the time the DC block is empty: don't do the WHT in this case. A lot of the rest of the time, there's only one coefficient: make a special DC-only transform for that case. When the block is empty, don't incorrectly mark luma DCT blocks as having DC coefficients. Originally committed as revision 24670 to svn://svn.ffmpeg.org/ffmpeg/trunk
* VP8: move zeroing of luma DC block into the WHTJason Garrett-Glaser2010-08-021-0/+4
| | | | | | | Lets us do the zeroing in asm instead of C. Also makes it consistent with the way the regular iDCT code does it. Originally committed as revision 24668 to svn://svn.ffmpeg.org/ffmpeg/trunk
* VP8: optimize DC-only chroma case in the same way as luma.Jason Garrett-Glaser2010-07-231-21/+18
| | | | | | | Add MMX idct_dc_add4uv function for this case. ~40% faster chroma idct. Originally committed as revision 24455 to svn://svn.ffmpeg.org/ffmpeg/trunk
* VP8: 30% faster idct_mbJason Garrett-Glaser2010-07-231-3/+23
| | | | | | | | | | Take shortcuts based on statistically common situations. Add 4-at-a-time idct_dc function (mmx and sse2) since rows of 4 DC-only DCT blocks are common. TODO: tie this more directly into the MB mode, since the DC-level transform is only used for non-splitmv blocks? Originally committed as revision 24452 to svn://svn.ffmpeg.org/ffmpeg/trunk
* VP8: clear DCT blocks in iDCT instead of using clear_blocks.Jason Garrett-Glaser2010-07-231-0/+5
| | | | | | ~0.3% faster overall. Originally committed as revision 24448 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Change function prototypes for width=8 inner and mbedge loopfilter functionsRonald S. Bultje2010-07-191-15/+31
| | | | | | | | | | | so that it does both U and V planes at the same time. This will have speed advantages when using SSE2 (or higher) optimizations, since we can do both the U and V rows together in a single xmm register. This also renames filter16 to filter16y and filter8 to filter8uv so that it's more obvious what each function is used for. Originally committed as revision 24337 to svn://svn.ffmpeg.org/ffmpeg/trunk
* VP8: Move calculation of outer filter limit out of dsp functions for normalDavid Conrad2010-07-021-1/+1
| | | | | | filter to match the simple loop filter Originally committed as revision 24010 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Altivec VP8 MC functionsDavid Conrad2010-06-291-0/+2
| | | | Originally committed as revision 23884 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Faster C VP8 normal inner loop filterJason Garrett-Glaser2010-06-291-3/+6
| | | | Originally committed as revision 23881 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Use crop table in C implementations of VP8 DSP functions.Jason Garrett-Glaser2010-06-291-26/+35
| | | | | | Much faster VP8 C DSP functions; ~5-10% faster overall with asm off. Originally committed as revision 23880 to svn://svn.ffmpeg.org/ffmpeg/trunk
OpenPOWER on IntegriCloud