summaryrefslogtreecommitdiffstats
path: root/libavcodec/vp8dsp.c
Commit message (Collapse)AuthorAgeFilesLines
* 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
* Fix linking if MMX is disabled.Stefano Sabatini2010-06-271-1/+1
| | | | Originally committed as revision 23839 to svn://svn.ffmpeg.org/ffmpeg/trunk
* First shot at VP8 optimizations:Jason Garrett-Glaser2010-06-271-0/+3
| | | | | | | | | - MMXEXT, SSE2 and SSSE3 MC functions - MMX and SSE4 IDCT dc_add functions Patch by Jason Garrett-Glaser <darkshikari gmail com> and myself. Originally committed as revision 23815 to svn://svn.ffmpeg.org/ffmpeg/trunk
* VP8 bilinear filterDavid Conrad2010-06-271-0/+70
| | | | Originally committed as revision 23813 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Really fix r23782Jason Garrett-Glaser2010-06-251-2/+2
| | | | Originally committed as revision 23788 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Fix c99ism in r23782Jason Garrett-Glaser2010-06-251-1/+2
| | | | Originally committed as revision 23786 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Make VP8 DSP functions take two stridesJason Garrett-Glaser2010-06-251-12/+22
| | | | | | | This isn't useful for the C functions, but will allow re-using H and V functions for HV functions without adding separate H and V wrappers. Originally committed as revision 23782 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Native VP8 decoder.David Conrad2010-06-221-0/+373
Patch by David Conrad <lessen42 gmail com> and myself. Originally committed as revision 23719 to svn://svn.ffmpeg.org/ffmpeg/trunk
OpenPOWER on IntegriCloud