Commit Graph

299 Commits

Author SHA1 Message Date
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
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 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 1429224b04 Move FFT parts from dsputil.h to fft.h
Originally committed as revision 22235 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-06 14:34:46 +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
Måns Rullgård 4b9905d1dc Move DECLARE_ALIGNED_{8,16} macros to mem.h
These macros naturally belong next to the generic DECLARE_ALIGNED
macro.

Originally committed as revision 22230 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-06 12:40:43 +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 1e2245c29b 10l: remove stray '(' I don't know where it came from
Originally committed as revision 21867 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-17 21:04:56 +00:00
Måns Rullgård d96cd42969 Add LOCAL_ALIGNED() macro for declaring aligned local arrays
Originally committed as revision 21864 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-17 20:36:12 +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
Vitor Sessak 7f3f5f46c2 Floating point discrete cosine transform
Originally committed as revision 21338 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-20 00:39:47 +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
Reimar Döffinger 14b8607065 Add support for hard-coded MDCT-related ff_sine_windows tables.
Originally committed as revision 21108 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-09 13:28:04 +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
Reimar Döffinger 1ffc6e8327 Add ff_init_ff_cos_tabs function and use it in rdft.c to ensure that the
necessary ff_cos_tabs tables are initialized.
Fixes issue 1507 (QDM2 broken since r20237 without hardcoded tables).

Originally committed as revision 20464 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-05 18:29:06 +00:00
Reimar Döffinger 223217746c Pad ff_cos_tabs and ff_sin_tabs so that index n points to the table for n bits.
While this "wastes" up to 2x32 bytes it makes the code slightly simpler and
less confusing.

Originally committed as revision 20449 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-04 17:30:23 +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
Loren Merritt 2f77923d72 simd add_hfyu_left_prediction
2.2x faster than C on conroe, 3.6x on penryn.
4-6% faster huffyuv decoding if using left or plane mode and yuv

Originally committed as revision 20287 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-18 20:10:10 +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 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
Reimar Döffinger 75df2edbb9 Add support for hardcoded ff_sin_* tables.
Originally committed as revision 20244 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-15 18:04:55 +00:00
Reimar Döffinger 4ee726b670 Move/add COSTABLE/SINTABLE macros to dsputil to add extern definitions
for ff_cos_* and ff_sin_* without introducing too much code duplication.

Originally committed as revision 20243 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-15 17:55:51 +00:00
Reimar Döffinger aafd659518 Do not initialize ff_cos_* tables again in rdft_init, they are already
initialized by ff_fft_init and using different code can result in slightly
different values, in addition it crashes when the tables are hardcoded.
On amd64 this slightly changes qdm2 output.

Originally committed as revision 20237 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-15 11:50:32 +00:00
Reimar Döffinger 16aec74761 Use hardcoded instead of runtime-calculated ff_cos_* tables if
--enable-hardcoded-tables was used.
Due to the size, the code for the tables is generated at compile time.

Originally committed as revision 20232 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-14 21:41:24 +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
Måns Rullgård 94274b82f6 Allow arch-specific mdct code to request interleaving of cos/sin tables
Originally committed as revision 19939 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-21 02:56:06 +00:00
Måns Rullgård 01b2214758 Merge FFTContext and MDCTContext
Originally committed as revision 19931 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-20 17:30:20 +00:00
Måns Rullgård 68336ea8d4 10l: fix ff_fft_init_arm() prototype
Originally committed as revision 19865 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-15 23:14:55 +00:00
Måns Rullgård f486321395 Move per-arch fft init bits into the corresponding subdirs
Originally committed as revision 19864 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-15 21:14:14 +00:00
Vitor Sessak 6776061b04 Add two more sizes to ff_sine_windows[] and also pad it with NULLs so
that FF_ELEMS(ff_sine_windows[x]) == 1 << x.

Fix issue 1384.

Originally committed as revision 19862 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-15 16:18:16 +00:00
Måns Rullgård edc0f5dcba ARM: NEON optimised MDCT
Originally committed as revision 19819 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-11 02:24:22 +00:00
Måns Rullgård 46c32e2654 Prepare for optimised forward MDCT implementations
This adds a function pointer for forward MDCT to FFTContext and
initialises it with the existing C function.  ff_calc_mdct() is
changed to an inline function calling the selected version as
done for other fft/mdct functions.

Originally committed as revision 19818 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-11 02:24:19 +00:00
Måns Rullgård 648d792042 ARM: NEON optimised FFT and MDCT
Vorbis and AC3 ~3x faster.

Parts by Naotoshi Nojiri, naonoj gmail

Originally committed as revision 19806 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-10 08:50:03 +00:00
Reimar Döffinger c55e5b5fee ff_sine_windows table contains only constant data, too.
Originally committed as revision 19785 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-06 08:56:10 +00:00
Reimar Döffinger faca56191c The ff_cos_tabs table itself is constant, too, so mark it as such.
Originally committed as revision 19784 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-06 08:53:14 +00:00
Måns Rullgård e78516c6d8 One declaration of mm_flags is enough
Originally committed as revision 19740 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-29 16:55:55 +00:00
Måns Rullgård 4e36a5b46f Move declarations of some mmx functions to dsputil_mmx.h
Originally committed as revision 19739 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-29 16:55:50 +00:00
Måns Rullgård 5b1b014761 Move DECLARE_ALIGNED_8 definition next to DECLARE_ALIGNED_16
Originally committed as revision 19738 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-29 16:55:46 +00:00
Måns Rullgård c4d6d318cf Make DECLARE_ALIGNED_8 align to 8 bytes, never to 16
The DECLARE_ALIGNED_8 macro is defined to align to 16 bytes instead
the 8 suggested by the name on some CPUs.  None of the uses of this
macro ever need 16-byte alignment, cases which once did having been
changed to always specify 16 bytes explicitly.

Originally committed as revision 19737 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-28 23:39:02 +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
Jason Garrett-Glaser 4f717c69ed idct_dc for VC-1/WMV3 decoder; ~11% faster decoding overall.
Includes mmx2 asm for the various functions.
Note that the actual idct still does not have an x86 SIMD implemtation.
For wmv3 files using regular idct, the decoder just falls back to simple_idct,
since simple_idct_dc doesn't exist (yet).

Originally committed as revision 19204 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-16 09:00:55 +00:00
Siarhei Siamashka 7d485f165f Support for getting (i)MDCT output multiplied by a constant scaling factor.
Scaling (i)MDCT output has no runtime overhead and can be used to improve
performance of audio codecs. All the changes are only needed in
'ff_mdct_init' function and slow down initialization a bit.

Originally committed as revision 18855 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-16 14:17:08 +00:00