Commit Graph

297 Commits

Author SHA1 Message Date
Stefano Sabatini 9686abb826 Reimplement ff_img_copy_plane() as av_image_copy_plane() in libavcore,
and deprecate the old function.

Originally committed as revision 25064 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-07 21:23:45 +00:00
Måns Rullgård 3d1b1caa6b Remove duplicate definitions of fullpel MC functions
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
2010-08-25 20:14:21 +00:00
Ronald S. Bultje 3a0885146c Move vp6_filter_diag4() from DSPContext to VP56DSPContext.
Originally committed as revision 24921 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-25 13:42:28 +00:00
Måns Rullgård f079a64aea Move cavs dsp functions to their own struct
Originally committed as revision 24685 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-03 20:59:00 +00:00
Diego Pettenò 3fc548df28 Make ff_inverse stay with libavutil, and optional copy it to libavcodec.
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
2010-07-21 12:37:37 +00:00
Måns Rullgård 8fc0162ac4 Add av_ prefix to bswap macros
Originally committed as revision 24170 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-10 22:12:30 +00:00
Måns Rullgård 49bd8e4b84 Fix grammar errors in documentation
Originally committed as revision 23904 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-30 15:38:06 +00:00
Måns Rullgård eca9e4035a Set rv34 (0,0) subpel mc functions to the optimised h264 ones
Originally committed as revision 23845 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-28 10:56:16 +00:00
Eli Friedman b3858964d6 Add const to some pointer parameters.
Patch by Eli Friedman,  eli D friedman A gmail

Originally committed as revision 23826 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-27 15:11:38 +00:00
Jason Garrett-Glaser d6f8476be4 Make VP8 DSP functions take two strides
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
2010-06-25 18:14:07 +00:00
David Conrad 3b636f21da Native VP8 decoder.
Patch by David Conrad <lessen42 gmail com> and myself.

Originally committed as revision 23719 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-22 19:24:09 +00:00
David Conrad 910b9f30c8 Add const to ff_emulated_edge_mc
Originally committed as revision 23348 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-27 04:39:27 +00:00
David Conrad 94b303ba08 Add more const to _l4 pixel functions
Originally committed as revision 23347 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-27 04:39:23 +00:00
Diego Biurrun ba87f0801d Remove explicit filename from Doxygen @file commands.
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
2010-04-20 14:45:34 +00:00
David Conrad eb6a6cd788 vp3: DC-only IDCT
2-4% faster overall decode

Originally committed as revision 22896 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-17 02:04:30 +00:00
Måns Rullgård 4693b031a3 Move H264 dsputil functions into their own struct
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
2010-03-16 01:17:00 +00:00
Måns Rullgård 05aec7bb87 Separate DWT from snow and dsputil
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
2010-03-14 17:50:12 +00:00
Måns Rullgård 2023cfea0f Add some required casts
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
2010-03-11 02:32:01 +00:00
Måns Rullgård 98713e55b4 Move ff_spatial_dwt() prototype to snow.h
Originally committed as revision 22265 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-06 22:37:03 +00:00
Måns Rullgård 965363f81a Move some dsp func prototypes to dsputil.h; they are defined in dsputil.c
Originally committed as revision 22264 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-06 22:36:59 +00:00
Måns Rullgård 4f602a0415 Move some VC1 dsp prototypes to dsputil.h; they are defined in dsputil.c
Also fix function definitions to match prototypes (missing const).

Originally committed as revision 22263 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-06 22:36:55 +00:00
Måns Rullgård 7de9da9ba7 Move prototypes for various dsputil init functions to dsputil.h
Originally committed as revision 22261 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-06 22:36:49 +00:00
Måns Rullgård 3da1180409 Move some prototypes from dsputil.c to reasonable header files
Originally committed as revision 22260 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-06 22:36:45 +00:00
Måns Rullgård 84dc2d8afa Remove DECLARE_ALIGNED_{8,16} macros
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
2010-03-06 14:24:59 +00:00
Kostya Shishkov 342c7dfdbb Bink video decoder
Originally committed as revision 21937 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-21 13:28:46 +00:00
Måns Rullgård 40d1122752 Use LOCAL_ALIGNED macro for local arrays
Originally committed as revision 21866 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-17 20:36:20 +00:00
Måns Rullgård 2480c390bd Simplify some declarations of aligned arrays
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
2010-02-17 20:36:10 +00:00
Reimar Döffinger e62a55b92e The SSSE3 version of dct_quantize in mpegvideo_mmx_template.c needs
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
2010-01-22 23:40:18 +00:00
Måns Rullgård c67278098d Move array specifiers outside DECLARE_ALIGNED() invocations
Originally committed as revision 21377 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-22 03:25:11 +00:00
Michael Niedermayer 3f50965b28 Mark the h264 c loop filter as av_always_inline av_flatten to make sure its
all inlined, its small and horizontal & vertical versions are build out of
them. no change as gcc already did this.

Originally committed as revision 21333 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-19 22:54:13 +00:00
Michael Niedermayer c9640c17ac skip outer pixels if possible in h264_loop_filter_luma_c().
overall 3.7% faster loop filtering (C version only)

Originally committed as revision 21332 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-19 22:46:58 +00:00
Alexander Strange f267d3ac75 Implement alpha channel decoding for BGR HuffYUV.
Since BGR24 is decoded as BGR32, fill its alpha channel with 255
using the appropriate predictors.

Originally committed as revision 21211 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-14 01:32:49 +00:00
Zuxy Meng 0752cd39d2 More av_cold for infrequently called functions.
Originally committed as revision 21179 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-13 02:16:00 +00:00
Diego Biurrun 4052cbf161 Get rid of pointless CONFIG_ANY_H263 preprocessor definition.
Originally committed as revision 20975 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-30 11:33:59 +00:00
Diego Biurrun af818f7a66 Add required header #includes for mpegvideo.h and config.h.
Originally committed as revision 20974 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-30 11:22:41 +00:00
Loren Merritt b1159ad928 refactor and optimize scalarproduct
29-105% faster apply_filter, 6-90% faster ape decoding on core2
(Any x86 other than core2 probably gets much less, since this is mostly due to ssse3 cachesplit avoidance and I haven't written the full gamut of other cachesplit modes.)
9-123% faster ape decoding on G4.

Originally committed as revision 20739 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-05 15:09:10 +00:00
Loren Merritt e17ccf60fe huffyuv: add some const qualifiers
Originally committed as revision 20290 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-18 20:47:25 +00:00
Justin Ruggles f4d608e344 add CONFIG_LPC to the build system for lpc dsputil functions. fixes build
problems when lpc.c is not compiled.

Originally committed as revision 20285 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-18 19:51:18 +00:00
Justin Ruggles fde82ca7e4 Move autocorrelation function from flacenc.c to lpc.c. Also rename the
corresponding dsputil functions and remove their dependency on the FLAC
encoder.
Fixes Issue1486.

Originally committed as revision 20266 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-17 21:00:39 +00:00
Alexander Strange f076fe4422 Remove a meaningless 'inline' from add_hfyu_left_prediction_bgr32_c().
Originally committed as revision 20260 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-16 23:06:55 +00:00
Alexander Strange 2d4bbdecee Huffyuv: Add missing const to src pointers in dsputil functions.
Originally committed as revision 20259 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-16 23:04:41 +00:00
Nathan Caldwell 73c6f59830 Move HuffYUV left prediction to dsputil.
Patch by Nathan Caldwell, saintdev gmail

Originally committed as revision 20179 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-06 16:06:15 +00:00
Måns Rullgård 952e872198 Drop unused args from vector_fmul_add_add, simpify code, and rename
The src3 and step arguments to vector_fmul_add_add() are always zero
and one, respectively.  This removes these arguments from the function,
simplifies the code accordingly, and renames the function to better
match the new operation.

Originally committed as revision 20061 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-27 16:51:54 +00:00
Måns Rullgård 53b572118e Add some dsputil functions useful for AAC decoder
Originally committed as revision 19955 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-22 00:48:41 +00:00
Loren Merritt 1a918c08e4 extend ff_inverse[], and fix its documentation
Originally committed as revision 19942 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-21 03:01:57 +00:00
Vitor Sessak 50e23ae9d3 Mark parameter src of vector_clipf() as const
Originally committed as revision 19729 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-27 15:38:59 +00:00
Vitor Sessak 0a68cd876e SSE optimized vector_clipf(). 10% faster TwinVQ decoding.
Originally committed as revision 19728 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-27 14:49:36 +00:00
Måns Rullgård 95d36bdbc3 dsputil: declare some arrays 16-byte aligned
These arrays are passed to functions for which we promise 16-byte
alignment, so make sure we fulfil that promise.

Originally committed as revision 19716 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-26 13:17:06 +00:00
Reimar Döffinger 64e657fd2c 100l, inv_zigzag_direct16 must be aligned to 16 bytes for dct_quantize_SSE2
(which uses movdqa to xmm1 on inv_zigzag_direct16).

Originally committed as revision 19711 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-26 09:10:51 +00:00
Måns Rullgård dd36b88b46 Remove explicit init to zero of static inv_zigzag_direct16
Originally committed as revision 19704 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-25 23:28:30 +00:00