summaryrefslogtreecommitdiff
path: root/libavcodec/dsputil.c
Commit message (Collapse)AuthorAge
* Adds 8-, 9- and 10-bit versions of some of the functions used by the h264 ↵Oskar Arvidsson2011-05-10
| | | | | | | | | | | | | | | | | decoder. This patch lets e.g. dsputil_init chose dsp functions with respect to the bit depth to decode. The naming scheme of bit depth dependent functions is <base name>_<bit depth>[_<prefix>] (i.e. the old clear_blocks_c is now named clear_blocks_8_c). Note: Some of the functions for high bit depth is not dependent on the bit depth, but only on the pixel size. This leaves some room for optimizing binary size. Preparatory patch for high bit depth h264 decoding support. Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
* Move some functions in dsputil.c into a new file dsputil_template.c.Oskar Arvidsson2011-05-10
| | | | | | | The functions moved are used when decoding h264. Preparatory patch for high bit depth h264 decoding support. Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
* Remove some disabled printf debug cruft.Diego Biurrun2011-04-29
|
* Eliminate pointless '#if 1' statements without matching '#else'.Diego Biurrun2011-04-26
|
* Replace more FFmpeg references by Libav.Diego Biurrun2011-04-17
|
* Convert some undefined 1<<31 shifts into 1U<<31.Alex Converse2011-04-11
| | | | | | | | | | | According to ISO 9899:1999 S 6.5.7/4: The result of E1 << E2 is E1 left-shifted E2 bit positions; vacated bits are filled with zeros. If E1 has an unsigned type, the value of the result is E1× 2^E2, reduced modulo one more than the maximum value representable in the result type. If E1 has a signed type and nonnegative value, and E1× 2^E2 is representable in the result type, then that is the resulting value; otherwise, the behavior is undefined.
* dsputil: allow to skip drawing of top/bottom edges.Alexander Strange2011-03-26
|
* Add apply_window_int16() to DSPContext with x86-optimized versions and use itJustin Ruggles2011-03-22
| | | | in the ac3_fixed encoder.
* Replace FFmpeg with Libav in licence headersMans Rullgard2011-03-19
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* dsputil: add bswap16_buf()Mans Rullgard2011-03-16
| | | | | | | | There are several places where a buffer is byte-swapped in 16-bit units. This allows them to share code which can be optimised for various architectures. Signed-off-by: Mans Rullgard <mans@mansr.com>
* dsputil: make {add/put/put_signed}_pixels_clamped() non-static.Ronald S. Bultje2011-02-21
|
* dsputil: move VC1-specific stuff into VC1DSPContext.Ronald S. Bultje2011-02-17
|
* Merge libavcore into libavutilReinhard Tartler2011-02-15
| | | | | | | | | | | | It is pretty hopeless that other considerable projects will adopt libavutil alone in other projects. Projects that need small footprint are better off with more specialized libraries such as gnulib or rather just copy the necessary parts that they need. With this in mind, nobody is helped by having libavutil and libavcore split. In order to ease maintenance inside and around FFmpeg and to reduce confusion where to put common code, avcore's functionality is merged (back) to avutil. Signed-off-by: Reinhard Tartler <siretart@tauware.de>
* Separate format conversion DSP functions from DSPContext.Justin Ruggles2011-02-02
| | | | | | | This will be beneficial for use with the audio conversion API without requiring it to depend on all of dsputil. Signed-off-by: Mans Rullgard <mans@mansr.com>
* Remove unneeded add bias from 3 functions.Justin Ruggles2011-01-31
| | | | | | | | DSPContext.vector_fmul_window() DCADSPContext.lfe_fir() SynthFilterContext.synth_filter_float() Signed-off-by: Mans Rullgard <mans@mansr.com>
* Move ff_emulated_edge_mc() into DSPContext.Ronald S. Bultje2011-01-28
|
* Optimize C version of ff_emulated_edge_mc().Ronald S. Bultje2011-01-28
| | | | | From ~780 cycles to 551 cycles, mostly just by using libc memcpy() instead of manually shuffling individual bytes around.
* Make ff_float_to_int16*_c() static.Alex Converse2011-01-28
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* Remove the add bias hack for the C version of DSPContext.float_to_int16_*().Justin Ruggles2011-01-28
|
* Change DSPContext.vector_fmul() from dst=dst*src to dest=src0*src1.Justin Ruggles2011-01-22
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* Move lpc_compute_autocorr() from DSPContext to a new struct LPCContext.Justin Ruggles2011-01-21
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* Remove unneeded #includeJustin Ruggles2011-01-09
| | | | Originally committed as revision 26272 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Reimplement ff_img_copy_plane() as av_image_copy_plane() in libavcore,Stefano Sabatini2010-09-07
| | | | | | and deprecate the old function. Originally committed as revision 25064 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Remove duplicate definitions of fullpel MC functionsMåns Rullgård2010-08-25
| | | | | | | This removes duplicated definitions of 8x8 and 16x16 fullpel MC functions with various names reducing dsputil.o by 8k on x86_64. Originally committed as revision 24933 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Move vp6_filter_diag4() from DSPContext to VP56DSPContext.Ronald S. Bultje2010-08-25
| | | | Originally committed as revision 24921 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Move cavs dsp functions to their own structMåns Rullgård2010-08-03
| | | | Originally committed as revision 24685 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Make ff_inverse stay with libavutil, and optional copy it to libavcodec.Diego Pettenò2010-07-21
| | | | | | | | | | | | | | | | | | | The ff_inverse table is used by FASTDIV macro, defined in libavutil, but up to now the table was defined only in libavcodec. After this change, the main copy of ff_inverse is part of libavutil (just like FASTDIV), but if CONFIG_SMALL is unset, then a different copy is made available to libavcodec, to avoid the performance penalty of using an external look up table. Dynamic linking works, because the libraries are linked with -Bsymbolic, so the local copy of the symbol has priority over the external; static linking works because the table is on a standalone object file in both libraries, so the linker is able to discard one of the two. Tested on Linux/x86-64 and Mac OS X/x86-64. Originally committed as revision 24383 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Add av_ prefix to bswap macrosMåns Rullgård2010-07-10
| | | | Originally committed as revision 24170 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Fix grammar errors in documentationMåns Rullgård2010-06-30
| | | | Originally committed as revision 23904 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Set rv34 (0,0) subpel mc functions to the optimised h264 onesMåns Rullgård2010-06-28
| | | | Originally committed as revision 23845 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Add const to some pointer parameters.Eli Friedman2010-06-27
| | | | | | Patch by Eli Friedman, eli D friedman A gmail Originally committed as revision 23826 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Make VP8 DSP functions take two stridesJason Garrett-Glaser2010-06-25
| | | | | | | 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-22
| | | | | | Patch by David Conrad <lessen42 gmail com> and myself. Originally committed as revision 23719 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Add const to ff_emulated_edge_mcDavid Conrad2010-05-27
| | | | Originally committed as revision 23348 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Add more const to _l4 pixel functionsDavid Conrad2010-05-27
| | | | Originally committed as revision 23347 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
* Move H264 dsputil functions into their own structMåns Rullgård2010-03-16
| | | | | | | | | | | This moves the H264-specific functions from DSPContext to the new H264DSPContext. The code is made conditional on CONFIG_H264DSP which is set by the codecs requiring it. The qpel and chroma MC functions are not moved as these are used by non-h264 code. Originally committed as revision 22565 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Separate DWT from snow and dsputilMåns Rullgård2010-03-14
| | | | | | | | This moves the DWT functions from snow.c and dsputil.c to a file of their own. A new struct, DWTContext, holds the function pointers previously part of DSPContext. Originally committed as revision 22522 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Add some required castsMåns Rullgård2010-03-11
| | | | | | | | These casts are correct and safe. The pointers are guaranteed to have proper alignment, and aliasing is not a problem with character types. Originally committed as revision 22446 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Move ff_spatial_dwt() prototype to snow.hMåns Rullgård2010-03-06
| | | | Originally committed as revision 22265 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Move some dsp func prototypes to dsputil.h; they are defined in dsputil.cMåns Rullgård2010-03-06
| | | | Originally committed as revision 22264 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Move some VC1 dsp prototypes to dsputil.h; they are defined in dsputil.cMåns Rullgård2010-03-06
| | | | | | Also fix function definitions to match prototypes (missing const). Originally committed as revision 22263 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Move prototypes for various dsputil init functions to dsputil.hMåns Rullgård2010-03-06
| | | | Originally committed as revision 22261 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Move some prototypes from dsputil.c to reasonable header filesMåns Rullgård2010-03-06
| | | | Originally committed as revision 22260 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Remove DECLARE_ALIGNED_{8,16} macrosMåns Rullgård2010-03-06
| | | | | | | These macros are redundant. All uses are replaced with the generic DECLARE_ALIGNED macro instead. Originally committed as revision 22233 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Bink video decoderKostya Shishkov2010-02-21
| | | | Originally committed as revision 21937 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Use LOCAL_ALIGNED macro for local arraysMåns Rullgård2010-02-17
| | | | Originally committed as revision 21866 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Simplify some declarations of aligned arraysMåns Rullgård2010-02-17
| | | | | | If DECLARE_ALIGNED_16 works on uint64_t it will work smaller types too. Originally committed as revision 21863 to svn://svn.ffmpeg.org/ffmpeg/trunk
* The SSSE3 version of dct_quantize in mpegvideo_mmx_template.c needsReimar Döffinger2010-01-22
| | | | | | | inv_zigzag_direct16 16-byte aligned, so mark it appropriately. Fixes encoder crashes e.g. with MPlayer's -vf lavc. Originally committed as revision 21389 to svn://svn.ffmpeg.org/ffmpeg/trunk