summaryrefslogtreecommitdiff
path: root/libavcodec/vp8dsp.c
Commit message (Collapse)AuthorAge
* Merge commit '0801853e640624537db386727b36fa97aa6258e7'James Almer2019-03-14
|\ | | | | | | | | | | | | | | | | * commit '0801853e640624537db386727b36fa97aa6258e7': libavcodec: vp8 neon optimizations for aarch64 See 833fed5253617924c41132e0ab261c1d8c076360 Merged-by: James Almer <jamrial@gmail.com>
| * libavcodec: vp8 neon optimizations for aarch64Magnus Röös2019-02-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Partial port of the ARM Neon for aarch64. Benchmarks from fate: benchmarking with Linux Perf Monitoring API nop: 58.6 checkasm: using random seed 1760970128 NEON: - vp8dsp.idct [OK] - vp8dsp.mc [OK] - vp8dsp.loopfilter [OK] checkasm: all 21 tests passed vp8_idct_add_c: 201.6 vp8_idct_add_neon: 83.1 vp8_idct_dc_add_c: 107.6 vp8_idct_dc_add_neon: 33.8 vp8_idct_dc_add4y_c: 426.4 vp8_idct_dc_add4y_neon: 59.4 vp8_loop_filter8uv_h_c: 688.1 vp8_loop_filter8uv_h_neon: 216.3 vp8_loop_filter8uv_inner_h_c: 649.3 vp8_loop_filter8uv_inner_h_neon: 195.3 vp8_loop_filter8uv_inner_v_c: 544.8 vp8_loop_filter8uv_inner_v_neon: 131.3 vp8_loop_filter8uv_v_c: 706.1 vp8_loop_filter8uv_v_neon: 141.1 vp8_loop_filter16y_h_c: 668.8 vp8_loop_filter16y_h_neon: 242.8 vp8_loop_filter16y_inner_h_c: 647.3 vp8_loop_filter16y_inner_h_neon: 224.6 vp8_loop_filter16y_inner_v_c: 647.8 vp8_loop_filter16y_inner_v_neon: 128.8 vp8_loop_filter16y_v_c: 721.8 vp8_loop_filter16y_v_neon: 154.3 vp8_loop_filter_simple_h_c: 387.8 vp8_loop_filter_simple_h_neon: 187.6 vp8_loop_filter_simple_v_c: 384.1 vp8_loop_filter_simple_v_neon: 78.6 vp8_put_epel8_h4v4_c: 3971.1 vp8_put_epel8_h4v4_neon: 855.1 vp8_put_epel8_h4v6_c: 5060.1 vp8_put_epel8_h4v6_neon: 989.6 vp8_put_epel8_h6v4_c: 4320.8 vp8_put_epel8_h6v4_neon: 1007.3 vp8_put_epel8_h6v6_c: 5449.3 vp8_put_epel8_h6v6_neon: 1158.1 vp8_put_epel16_h6_c: 6683.8 vp8_put_epel16_h6_neon: 831.8 vp8_put_epel16_h6v6_c: 11110.8 vp8_put_epel16_h6v6_neon: 2214.8 vp8_put_epel16_v6_c: 7024.8 vp8_put_epel16_v6_neon: 799.6 vp8_put_pixels8_c: 112.8 vp8_put_pixels8_neon: 78.1 vp8_put_pixels16_c: 131.3 vp8_put_pixels16_neon: 129.8 This contains a fix to include guards by Carl Eugen Hoyos. Signed-off-by: Martin Storsjö <martin@martin.st>
* | libavcodec: vp8 neon optimizations for aarch64Magnus Röös2019-01-31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Partial port of the ARM Neon for aarch64. Benchmarks from fate: benchmarking with Linux Perf Monitoring API nop: 58.6 checkasm: using random seed 1760970128 NEON: - vp8dsp.idct [OK] - vp8dsp.mc [OK] - vp8dsp.loopfilter [OK] checkasm: all 21 tests passed vp8_idct_add_c: 201.6 vp8_idct_add_neon: 83.1 vp8_idct_dc_add_c: 107.6 vp8_idct_dc_add_neon: 33.8 vp8_idct_dc_add4y_c: 426.4 vp8_idct_dc_add4y_neon: 59.4 vp8_loop_filter8uv_h_c: 688.1 vp8_loop_filter8uv_h_neon: 216.3 vp8_loop_filter8uv_inner_h_c: 649.3 vp8_loop_filter8uv_inner_h_neon: 195.3 vp8_loop_filter8uv_inner_v_c: 544.8 vp8_loop_filter8uv_inner_v_neon: 131.3 vp8_loop_filter8uv_v_c: 706.1 vp8_loop_filter8uv_v_neon: 141.1 vp8_loop_filter16y_h_c: 668.8 vp8_loop_filter16y_h_neon: 242.8 vp8_loop_filter16y_inner_h_c: 647.3 vp8_loop_filter16y_inner_h_neon: 224.6 vp8_loop_filter16y_inner_v_c: 647.8 vp8_loop_filter16y_inner_v_neon: 128.8 vp8_loop_filter16y_v_c: 721.8 vp8_loop_filter16y_v_neon: 154.3 vp8_loop_filter_simple_h_c: 387.8 vp8_loop_filter_simple_h_neon: 187.6 vp8_loop_filter_simple_v_c: 384.1 vp8_loop_filter_simple_v_neon: 78.6 vp8_put_epel8_h4v4_c: 3971.1 vp8_put_epel8_h4v4_neon: 855.1 vp8_put_epel8_h4v6_c: 5060.1 vp8_put_epel8_h4v6_neon: 989.6 vp8_put_epel8_h6v4_c: 4320.8 vp8_put_epel8_h6v4_neon: 1007.3 vp8_put_epel8_h6v6_c: 5449.3 vp8_put_epel8_h6v6_neon: 1158.1 vp8_put_epel16_h6_c: 6683.8 vp8_put_epel16_h6_neon: 831.8 vp8_put_epel16_h6v6_c: 11110.8 vp8_put_epel16_h6v6_neon: 2214.8 vp8_put_epel16_v6_c: 7024.8 vp8_put_epel16_v6_neon: 799.6 vp8_put_pixels8_c: 112.8 vp8_put_pixels8_neon: 78.1 vp8_put_pixels16_c: 131.3 vp8_put_pixels16_neon: 129.8 Signed-off-by: Magnus Röös <mla2.roos@gmail.com>
* | avcodec/vp8dsp: vp7_luma_dc_wht_c: Fix multiple runtime error: signed ↵Michael Niedermayer2017-05-12
| | | | | | | | | | | | | | | | | | integer overflow: -1366381240 + -1262413604 cannot be represented in type 'int' Fixes: 1440/clusterfuzz-testcase-minimized-5785716111966208 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/targets/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | avcodec/vp8dsp: Fixes: runtime error: signed integer overflow: 1330143360 - ↵Michael Niedermayer2017-05-08
| | | | | | | | | | | | | | | | | | -1023040530 cannot be represented in type 'int' Fixes: 1406/clusterfuzz-testcase-minimized-5064865125236736 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/targets/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | avcodec/mips: MSA (MIPS-SIMD-Arch) optimizations for VP8 functionsShivraj Patil2015-08-04
| | | | | | | | Signed-off-by: Shivraj Patil <shivraj.patil@imgtec.com>
* | avcodec/vp8: fix () in macrosMichael Niedermayer2014-06-18
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge commit 'ac4b32df71bd932838043a4838b86d11e169707f'Michael Niedermayer2014-04-04
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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-04
| | | | | | | | | | | | | | | | | | 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-30
|\| | | | | | | | | | | | | | | | | | | | | | | | | * 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-29
| | | | | | | | Signed-off-by: Diego Biurrun <diego@biurrun.de>
* | Merge commit 'f9279ee74936b4990fc46287c27816ef828cc06c'Michael Niedermayer2014-03-22
|\| | | | | | | | | | | | | | | | | | | * 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-22
| |
* | Merge commit '05563ccacc98fd185affdbf8cbaf094caf36b852'Michael Niedermayer2014-03-14
|\| | | | | | | | | | | | | | | | | | | | | * 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-13
| | | | | | | | Also switch from "tbl" to "tab" name suffixes.
* | 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>
| * vp8: fix bilinear C code to work if src_stride != dst_stride.Ronald S. Bultje2014-02-06
| | | | | | | | | | 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-25
| | | | | | | | | | 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-17
| | | | | | | | | | 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-17
| | | | | | | | | | | | 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-15
| | | | | | | | | | | | 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-23
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2013-08-29
|\| | | | | | | | | | | | | * 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-29
| |
* | Merge commit '38282149b6ce8f4b8361e3b84542ba9aa8a1f32f'Michael Niedermayer2013-05-01
|\| | | | | | | | | | | | | | | | | | | | | | | * 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-30
| |
* | Merge commit '9e0f14f16cfc9456a691655fda7d01090bffe47e'Michael Niedermayer2013-04-08
|\| | | | | | | | | | | | | | | | | | | | | | | * 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-08
| | | | | | | | | | | | There's no point in these pointers not being const. Signed-off-by: Martin Storsjö <martin@martin.st>
* | 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 remote-tracking branch 'qatar/master'Michael Niedermayer2012-10-08
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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-08
| | | | | | | | Rename the called dsp init functions to *_init_x86.
* | 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-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
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2012-03-03
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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-02
| | | | | | | | | | 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-15
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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-15
| |
| * Replace FFmpeg with Libav in licence headersMans Rullgard2011-03-19
| | | | | | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
| * VP8: ARM NEON optimisations for dsp functionsMans Rullgard2011-02-07
| | | | | | | | | | | | | | 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-26
| | | | | | | | | | | | | | 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-09
| | | | | | | | | | | | | | | | 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-28
|/ | | | | | | | 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-02
| | | | | | | | | | 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-02
| | | | | | | 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-23
| | | | | | | 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-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-23
| | | | | | ~0.3% faster overall. Originally committed as revision 24448 to svn://svn.ffmpeg.org/ffmpeg/trunk