Commit Graph

514 Commits

Author SHA1 Message Date
Mans Rullgard
96aad41e81 Make LOCAL_ALIGNED macro fully C99 compatible
C99 variadic macros require more arguments than there are named
parameters in the definition.  This means we must use an extra
indirection to avoid having two different macros for arrays with
one resp more than one dimension.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-01-22 16:18:45 +00:00
Justin Ruggles
56f8952b25 Move lpc_compute_autocorr() from DSPContext to a new struct LPCContext.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-01-21 19:58:59 +00:00
Ronald S. Bultje
772225c041 Revert 2a1f431d38, it broke H264 lossless.
(cherry picked from commit 66c6b5e2a5)
2011-01-21 20:36:01 +01:00
Ronald S. Bultje
66c6b5e2a5 Revert 2a1f431d38, it broke H264 lossless. 2011-01-20 17:24:44 -05:00
Jason Garrett-Glaser
2a1f431d38 H.264/SVQ3: make chroma DC work the same way as luma DC
No speed improvement, but necessary for some future stuff.
Also opens up the possibility of asm chroma dc idct/dequant.

Originally committed as revision 26349 to svn://svn.ffmpeg.org/ffmpeg/trunk
2011-01-15 01:10:46 +00:00
Jason Garrett-Glaser
290fabc684 Port SVQ3 to use the new mb_luma_dc method of storing luma DC coefficients.
Doesn't help speed as there isn't an asm implementation yet, but consistency
is a good thing.

Originally committed as revision 26348 to svn://svn.ffmpeg.org/ffmpeg/trunk
2011-01-15 00:41:18 +00:00
Jason Garrett-Glaser
2e18660115 Fix SVQ3
Regression in r26336-7.

Originally committed as revision 26341 to svn://svn.ffmpeg.org/ffmpeg/trunk
2011-01-14 22:23:42 +00:00
Jason Garrett-Glaser
19fb234e4a H.264: split luma dc idct out and implement MMX/SSE2 versions
About 2.5x the speed.

NOTE: the way that the asm code handles large qmuls is a bit suboptimal.
If x264-style dequant was used (separate shift and qmul values), it might
be possible to get some extra speed.

Originally committed as revision 26336 to svn://svn.ffmpeg.org/ffmpeg/trunk
2011-01-14 21:34:25 +00:00
Stefano Sabatini
c6c98d0897 Move mm_support() from libavcodec to libavutil, make it a public
function and rename it to av_get_cpu_flags().

Originally committed as revision 25076 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-08 15:07:14 +00:00
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
c0ec9918b0 Remove global mm_flags variable
Originally committed as revision 24909 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-24 17:47:05 +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
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
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
Ramiro Polla
13bd2044d3 mlp: Simplify adressing of state and coeffs arrays for both filters by making
the arrays sequential.

Originally committed as revision 18841 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-15 15:34:22 +00:00
Ramiro Polla
bf4f19dc65 mlpdec: Move MLP's filter_channel() to dsputils.
Originally committed as revision 18721 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-30 12:30:05 +00:00
David Conrad
3992526b3c Split VC1 loop filter into separate functions for h/v and size
Originally committed as revision 18521 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-15 06:22:17 +00:00
David Conrad
0e58865d6e Move VC1 loop filter to DSPContext
Originally committed as revision 18520 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-15 06:20:22 +00:00
David Conrad
8013da7364 VC1: add and use avg_no_rnd chroma MC functions
Originally committed as revision 18518 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-14 23:56:10 +00:00
David Conrad
c374691b28 Rename put_no_rnd_h264_chroma* to reflect its usage in VC1 only
Originally committed as revision 18517 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-14 23:55:39 +00:00
David Conrad
6cecd63005 VC1: Do qpel when needed for both MVs in a B frame
Originally committed as revision 18511 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-14 19:26:33 +00:00
Alex Converse
184fcc60b7 Mark src constant in copy_block*().
Originally committed as revision 18506 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-14 04:07:35 +00:00
Roman Shaposhnik
3899eb2f65 Making the arrays accomodate an extra intra 8x8 cmp function
Originally committed as revision 17446 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-19 00:28:08 +00:00
Aurelien Jacobs
26f3ae828b move vp6_filter_diag4() to a new vp6dsp.c file and use it throught dsputil
Originally committed as revision 17111 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-09 23:37:31 +00:00
Loren Merritt
3daa434a40 ff_add_hfyu_median_prediction_mmx2
overall ffvhuff decoding speedup: 28% on core2, 25% on k8.

Originally committed as revision 17059 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-08 17:45:30 +00:00
Diego Biurrun
bad5537e2c Use full internal pathname in doxygen @file directives.
Otherwise doxygen complains about ambiguous filenames when files exist
under the same name in different subdirectories.

Originally committed as revision 16912 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-01 02:00:19 +00:00
Alex Converse
6860254044 Add the rdft family of transforms (fft/ifft of an all real sequence) to dsputil.
Originally committed as revision 16864 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-30 20:15:48 +00:00
Alex Converse
8f05c995fd Clean up FFT related comments.
Originally committed as revision 16721 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-22 19:46:23 +00:00
Diego Biurrun
406792e7b0 cosmetics: Remove pointless period after copyright statement non-sentences.
Originally committed as revision 16684 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-19 15:46:40 +00:00
Aurelien Jacobs
b250f9c66d Change semantic of CONFIG_*, HAVE_* and ARCH_*.
They are now always defined to either 0 or 1.

Originally committed as revision 16590 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-13 23:44:16 +00:00
Diego Biurrun
6a5d31ac25 Fix build: Add intreadwrite.h and bswap.h #includes where necessary.
Originally committed as revision 16556 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-11 22:19:48 +00:00
Benjamin Larsson
336c2ca585 Add size that is needed for the wmapro codec
Originally committed as revision 16533 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-11 10:40:05 +00:00
Diego Biurrun
79cb09b2f7 consistency cosmetics: Rename POWERPC identifiers to PPC.
Originally committed as revision 16359 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-27 11:33:26 +00:00
Michael Niedermayer
6a1846eb4a Document new idct requirements.
Originally committed as revision 16237 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-19 09:34:18 +00:00
Jason Garrett-Glaser
712ca84c21 Move filter_luma_intra into dsputil for later addition of asm.
Originally committed as revision 16228 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-19 00:44:51 +00:00
Michael Niedermayer
ac22385931 H.264 idct functions that include the chroma, inter luma and intra16 luma loops
thus avoiding the calling overhead.
New functions are not yet used.

Originally committed as revision 16206 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-18 02:36:48 +00:00
Måns Rullgård
a2fc0f6a6d ARM: replace "armv4l" with "arm"
Originally committed as revision 16179 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-17 00:54:54 +00:00
Loren Merritt
5fecfb7d58 clear_block mmx
Originally committed as revision 16045 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-10 21:35:17 +00:00
Kostya Shishkov
11c0f9eca1 enable RV40 decoder
Originally committed as revision 15968 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-01 06:40:36 +00:00
Kostya Shishkov
2d8a081511 RV40 MC functions
Originally committed as revision 15967 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-01 06:36:22 +00:00
Dominik Mierzejewski
82d1605fe7 Remove duplicated MM_* macros for CPU capabilities from dsputil.h.
Add missing one for FF_MM_ALTIVEC to avcodec.h.
Rename all the occurences of MM_* to the corresponding FF_MM_*.

Originally committed as revision 15770 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-11-03 18:08:00 +00:00
Diego Pettenò
be449fca79 Convert asm keyword into __asm__.
Neither the asm() nor the __asm__() keyword is part of the C99
standard, but while GCC accepts the former in C89 syntax, it is not
accepted in C99 unless GNU extensions are turned on (with -fasm). The
latter form is accepted in any syntax as an extension (without
requiring further command-line options).

Sun Studio C99 compiler also does not accept asm() while accepting
__asm__(), albeit reporting warnings that it's not valid C99 syntax.

Originally committed as revision 15627 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-10-16 13:34:09 +00:00
David Conrad
9971331dfb Move VP3 loop filter to DSPContext
Originally committed as revision 15551 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-10-04 10:26:17 +00:00
Stefano Sabatini
987903826b Globally rename the header inclusion guard names.
Consistently apply this rule: the guard name is obtained from the
filename by stripping the leading "lib", converting '/' and '.'  to
'_' and uppercasing the resulting name. Guard names in the root
directory have to be prefixed by "FFMPEG_".

Originally committed as revision 15120 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-31 07:39:47 +00:00
Måns Rullgård
f1424cfd6d ARM: set STRIDE_ALIGN and DECLARE_ALIGNED_8 to 16 for NEON
Originally committed as revision 14961 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-25 01:59:06 +00:00
Loren Merritt
7fadc32de4 document some dsp alignments
Originally committed as revision 14935 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-24 04:03:02 +00:00
Loren Merritt
2272e04aa7 document some dsp alignments
Originally committed as revision 14771 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-15 00:14:07 +00:00
Robert Swain
69fc4da360 Add declarations for the sine tables used in wma.c (half window sizes: 128,
256, 512, 1024 and 2048) to mdct.c. Make them accessible via dsputil.h. Make
wma.c use these shared tables.

Originally committed as revision 14758 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-14 14:40:16 +00:00
Loren Merritt
911e21a306 simd int->float
20% faster ac3 if downmixing, 15% if not

Originally committed as revision 14743 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-13 23:35:40 +00:00
Loren Merritt
ac2e556456 simd downmix
13% faster ac3 if downmixing

Originally committed as revision 14742 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-13 23:33:48 +00:00
Loren Merritt
d46ac5bfde mdct wrapper function to match fft
Originally committed as revision 14703 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-12 00:38:30 +00:00
Loren Merritt
0a570e826d remove mdct tmp buffer
Originally committed as revision 14702 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-12 00:36:36 +00:00
Loren Merritt
46803f4f67 optimize imdct_half:
remove tmp buffer.
skip fft reinterleave pass, leaving data in a format more convenient for simd.
merge post-rotate with post-reorder.

Originally committed as revision 14700 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-12 00:33:34 +00:00
Loren Merritt
5d0ddd1a9f split-radix FFT
c is 1.9x faster than previous c (on various x86 cpus), sse is 1.6x faster than previous sse.

Originally committed as revision 14698 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-12 00:26:58 +00:00
Loren Merritt
8a37920c9e r14205 broke vorbis float_to_int on ppc
Originally committed as revision 14466 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-29 14:17:13 +00:00
Michael Niedermayer
4f20b45fbe Fix h264_loop_filter_strength_mmx2() so it works with PAFF.
fixed at least:
CVFI1_Sony_D.jsv
CVFI1_SVA_C.264
MR6_BT_B.h264

Originally committed as revision 14310 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-19 21:53:54 +00:00
Loren Merritt
5eb0f2a425 float_to_int16_interleave: change src to an array of pointers instead of assuming it's contiguous.
this has no immediate effect, but will allow it to be used in more codecs.

Originally committed as revision 14252 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-16 00:50:12 +00:00
Loren Merritt
b9fa32082c exploit mdct symmetry
2% faster vorbis on conroe, k8. 7% on celeron.

Originally committed as revision 14207 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-13 15:03:58 +00:00
Loren Merritt
f27e1d645e simplify vorbis windowing
Originally committed as revision 14205 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-13 14:56:01 +00:00
Kostya Shishkov
bb68f8a2b6 Monkey's Audio decoder vector functions work on input with length
a multiple of 16. Reflect that fact in the documentation for them.

Originally committed as revision 14148 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-10 06:15:13 +00:00
Michael Niedermayer
560fa9bf51 Fix x86-64
Originally committed as revision 14103 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-07 21:04:29 +00:00
Kostya Shishkov
88c0536a42 Add several vector functions used by Monkey's Audio decoder to dsputil
Originally committed as revision 14081 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-06 06:06:55 +00:00
Alexander Strange
f67a10cd0c Define mm_flags/support to be 0 on architectures where they don't exist.
Make sure we don't try to set them if that's the case.
This lets dct-test and fft-test build with --disable-mmx on x86, but not yet on ARM.

Originally committed as revision 13957 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-06-24 23:51:17 +00:00
Robert Swain
9146e4d61c Add generic ff_sine_window_init function and implement in codecs appropriately
Originally committed as revision 13888 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-06-22 15:12:27 +00:00
Alexander Strange
0e956ba277 Add a new IDCT permutation, used in xvid_sse2 and possibly future similar IDCTs.
Originally committed as revision 12842 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-04-16 01:34:55 +00:00
Diego Biurrun
2cab640129 typo fixes
Originally committed as revision 12428 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-03-12 23:58:46 +00:00
Diego Biurrun
7ce6892373 misc spelling fixes
Originally committed as revision 12410 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-03-10 18:42:09 +00:00
Aurelien Jacobs
cbcd6c8ca9 move EDGE_WIDTH definition allong with draw_edges where it belongs
Originally committed as revision 12322 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-03-05 00:38:14 +00:00
Aurelien Jacobs
288a44fb7a move ff_emulated_edge_mc() to dsputil
Originally committed as revision 12318 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-03-04 23:10:47 +00:00
Aurelien Jacobs
49c35f16fc Fix compilation on powerpc.
DECLARE_ALIGNED_8 is not defined at that point, but this code is powerpc
only, so it's really equivalent to DECLARE_ALIGNED(16...

Originally committed as revision 12313 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-03-04 18:35:12 +00:00
Aurelien Jacobs
4c79b95c32 move ff_init_scantable() into dsputil
Originally committed as revision 12311 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-03-04 10:26:56 +00:00
Aurelien Jacobs
5a6a9e78ab move draw_edges() into dsputil
Originally committed as revision 12309 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-03-04 00:07:41 +00:00
Reimar Döffinger
78d3d94f14 __asm __volatile -> asm volatile, improves code consistency and works
(as far as that is possible) with the Sun C compiler.

Originally committed as revision 12188 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-02-24 14:46:22 +00:00
Loren Merritt
4a9ca0a279 simd and unroll png_filter_row
cycles per 1000 pixels on core2:
left: 9211->5170
top: 9283->2138
avg: 12215->7611
paeth: 64024->17360
overall rgb png decoding speed: +45%
overall greyscale png decoding speed: +6%

Originally committed as revision 12164 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-02-21 07:10:46 +00:00
Måns Rullgård
5c319d3334 clean up definition of DECLARE_ALIGNED_8 and STRIDE_ALIGN
Originally committed as revision 12126 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-02-16 19:18:30 +00:00
Michael Niedermayer
96711ecff9 const src for bswap
Originally committed as revision 11732 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-02-01 13:49:15 +00:00
Robert Swain
3ed546fe52 Add variable alpha and size of half window for Kaiser-Bessel Derived window
generation. Hard code Bessel I0 approximation iterations to 50.

See thread for discussion:
[FFmpeg-devel] [PATCH] Move Kaiser-Bessel Derived window to mdct.c
Started on the 2008/01/10

Originally committed as revision 11520 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-01-13 11:02:08 +00:00
Robert Swain
4eb7a735cb Make the Kaiser-Bessel window generator a common function
Patch by Robert Swain, robert d swain a gmail d com

Originally committed as revision 11514 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-01-12 11:11:19 +00:00
Diego Biurrun
9fbd14acb8 Fix typo in macro name: WARPER8_16_SQ --> WRAPPER8_16_SQ.
Originally committed as revision 11296 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-12-21 12:38:41 +00:00
Kostya Shishkov
d2e45f33a4 Switch VC-1 decoder to output decoded residual immediately.
Originally committed as revision 11188 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-12-08 10:41:18 +00:00
Diego Biurrun
8a43317e66 cosmetics: Fix spacial --> spatial typo in function names.
Originally committed as revision 10993 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-11-10 12:24:02 +00:00
Michael Niedermayer
9abc7e0fdc intrax8 decoder patch by "someone"
Originally committed as revision 10971 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-11-09 21:37:48 +00:00
Diego Biurrun
5b21bdabe4 Add FFMPEG_ prefix to all multiple inclusion guards.
Originally committed as revision 10765 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-10-17 09:37:46 +00:00
Luca Barbato
89523beea4 Sanitize altivec code so it can be built with runtime check properly
Originally committed as revision 10640 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-10-02 11:39:32 +00:00
Loren Merritt
6810b93a81 sse2 version of compute_autocorr().
4x faster than c (somehow, even though doubles only allow 2x simd).
overal flac encoding: 15-50% faster on core2, 4-11% on k8, 3-13% on p4.

Originally committed as revision 10621 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-29 22:31:18 +00:00
Panagiotis Issaris
9846cbdb13 cosmetics: typos
Originally committed as revision 10602 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-27 11:29:21 +00:00
Diego Biurrun
8b505fc689 VIS-specific code should be enabled conditional to HAVE_VIS, not ARCH_SPARC.
Originally committed as revision 10559 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-23 21:59:09 +00:00
Diego Biurrun
a41f4eacd6 Do not wrongly mark Apple gcc workarounds as being specific to Darwin.
Originally committed as revision 10239 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-08-26 22:06:40 +00:00
Michael Niedermayer
d593e32983 use 16bit IDWT (a SIMD implementation of it should be >2x faster then with
the old 32bit code)
disable mmx/sse2 optimizations as they need a rewrite now

Originally committed as revision 10218 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-08-25 03:00:51 +00:00
Diego Biurrun
9d16f87ffd Rename CONFIG_DARWIN to SYS_DARWIN, it is not configurable (in FFmpeg).
Originally committed as revision 10190 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-08-22 22:46:39 +00:00
Roman Shaposhnik
905694d96e * renaming (ST|LD)(16|32|64) -> AV_(R|W)N(16|32|64)
Originally committed as revision 10023 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-08-09 17:01:15 +00:00
Ivan Kalvachev
0ac9a875d4 revert commit 9603
Originally committed as revision 9605 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-07-11 23:21:13 +00:00
Ivan Kalvachev
ddeaf723c5 Integrate reference mpeg IDCT into dsputil.
Originally committed as revision 9603 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-07-11 22:05:43 +00:00
Måns Rullgård
a00177a952 make arguments to ssd_int8_vs_int16() const
Originally committed as revision 9548 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-07-08 23:15:00 +00:00
Måns Rullgård
a1bee08046 move dsputil_init_foo() out from #ifdef
Originally committed as revision 9330 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-06-16 10:44:46 +00:00
Diego Biurrun
755bfeabcc misc spelling fixes
Originally committed as revision 9289 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-06-12 09:29:25 +00:00
Alex Beregszaszi
43c7c7c7cf use DECLARE_ALIGNED from mem.h (which is included through common.h)
Originally committed as revision 9015 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-05-13 14:01:15 +00:00
Loren Merritt
1edbfe1994 factor sum_abs_dctelem out of dct_sad, and simd it.
sum_abs_dctelem_* alone:
core2: c=186 mmx2=39 sse2=21 ssse3=13 (cycles)
k8: c=163 mmx2=33 sse2=31
p4: c=370 mmx2=60 sse2=60
 dct_sad including sum_abs_dctelem_*:
core2: c=405 mmx2=258 sse2=240 ssse3=232
k8: c=624 mmx2=394 sse2=392
p4: c=849 mmx2=556 sse2=556

Originally committed as revision 9001 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-05-12 02:41:25 +00:00
Diego Biurrun
2029f312e8 Remove redundant #inclusion of common.h, avcodec.h already #includes it.
Originally committed as revision 8967 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-05-10 09:00:44 +00:00
Luca Barbato
30f1505380 Typos in comments
Originally committed as revision 8561 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-03-30 20:56:32 +00:00
Loren Merritt
5900637219 mmx 16-bit ssd. 2.3x faster svq1 encoding.
Originally committed as revision 8559 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-03-30 19:15:31 +00:00
Panagiotis Issaris
9dd6c80453 Add the const specifier as needed to reduce the number of warnings.
Originally committed as revision 7764 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-01-30 10:31:34 +00:00
Guillaume Poirier
5a5c770d5a Add SSSE3 (Core2 aka Conroe/Merom/Woodcrester new instructions) detection
Originally committed as revision 7332 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-12-18 22:43:09 +00:00
Michael Niedermayer
6dc7d5da70 ff_check_alignment to warn the user about a missaligned stack
Originally committed as revision 7249 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-12-07 18:33:00 +00:00
Panagiotis Issaris
f1862127f5 Added entry for H.264 DCT to the DSP context.
Originally committed as revision 7247 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-12-07 16:09:33 +00:00
Panagiotis Issaris
ea9f5d6f76 Add comment denoting group of H.264 functions
Originally committed as revision 7227 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-12-05 21:57:31 +00:00
Reimar Döffinger
cf1e119bb2 Move BE_*/LE_*/ST*/LD* macros to a common place. Some further
optimization/cleanup would be desirable (e.g. LE_* and LD*
should be the same on x86).

Originally committed as revision 7218 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-12-03 16:35:30 +00:00
Brian Foley
49cef7443a Move copy_block* functions to dsp dsputil.h
Patch by Brian Foley % bfoley A compsoc P nuigalway P ie %
Original thread:
Date: Nov 26, 2006 6:44 PM
Subject: Re: [Ffmpeg-devel] [PATCH] put_mpeg4_qpel16_h_lowpass altivec, take 2

Originally committed as revision 7172 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-11-26 18:25:07 +00:00
Kostya Shishkov
61f5b14a8e Correct rounding values in overlap filtering
Originally committed as revision 7171 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-11-26 04:57:31 +00:00
Måns Rullgård
486497e07b revert bad checkin
Originally committed as revision 7044 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-11-14 03:18:09 +00:00
Måns Rullgård
be6ed6fff4 move some CFLAGS settings away from config.* writing section
Originally committed as revision 7043 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-11-14 03:12:29 +00:00
Måns Rullgård
1d50395746 rename squareTbl -> ff_squareTbl
Originally committed as revision 6995 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-11-12 21:48:04 +00:00
Måns Rullgård
55fde95e3b rename cropTbl -> ff_cropTbl
Originally committed as revision 6992 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-11-12 20:08:09 +00:00
Diego Biurrun
b78e7197a8 Change license headers to say 'FFmpeg' instead of 'this program/this library'
and fix GPL/LGPL version mismatches.

Originally committed as revision 6577 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-10-07 15:30:46 +00:00
Loren Merritt
2833fc4646 approximate qpel functions: sacrifice some quality for some decoding speed. enabled on B-frames with -lavdopts fast.
Originally committed as revision 6412 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-10-01 21:25:17 +00:00
Loren Merritt
ebbafcb454 sse implementation of imdct.
patch mostly by Zuxy Meng (zuxy dot meng at gmail dot com)

Originally committed as revision 6311 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-09-21 16:37:39 +00:00
Michael Benjamin
5ca030fed4 ADI Blackfin optimizations
patch by Michael Benjamin, neuroptik gmail com

Originally committed as revision 6282 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-09-16 22:26:09 +00:00
Kostya Shishkov
6243da0d50 Drop put_vc1_qpel_pixels_tab as they won't be needed anymore.
Originally committed as revision 6152 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-09-02 04:58:51 +00:00
Kostya Shishkov
e34350a376 New function for chroma MC (will be used in VC-1)
Originally committed as revision 6150 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-09-02 04:52:00 +00:00
Luca Barbato
9814587500 Align the input buffer in ffplay, introduce a public macro for aligned declarations
Update the avcodec_decode_audio and the float_to_int16 descriptions accordingly

Originally committed as revision 6147 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-08-31 19:14:00 +00:00
Kostya Shishkov
74691b7bcb New qpel MC functions conforming to VC-1 standard.
Existing DSPUtil functions cause chroma artifacts on some files.

Originally committed as revision 6139 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-08-31 04:44:54 +00:00
Loren Merritt
3e20143ee7 mmx implementation of deblocking strength decision.
2-3% faster h264.

Originally committed as revision 6113 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-08-28 09:33:01 +00:00
Loren Merritt
069720565c vorbis simd tweaks
Originally committed as revision 5983 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-08-11 18:19:37 +00:00
Loren Merritt
eb4825b5d4 sse and 3dnow implementations of float->int conversion and mdct windowing.
15% faster vorbis.

Originally committed as revision 5975 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-08-10 19:06:25 +00:00
Loren Merritt
bcfa3e58ee 3dnow2 implementation of imdct.
6% faster vorbis and wma.

Originally committed as revision 5954 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-08-08 04:01:04 +00:00
Loren Merritt
2dac4acfc0 sse & sse2 implementations of vorbis channel coupling.
9% faster vorbis (on a K8).

Originally committed as revision 5898 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-08-03 03:18:47 +00:00
Kostya Shishkov
64db55aedb New functions in DSPContext for VC-1 decoding
Originally committed as revision 5862 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-07-30 03:45:02 +00:00
Michael Niedermayer
b482e2d12f CAVS decoder by (Stefan Gehrer stefan.gehrer gmx.de)
Originally committed as revision 5590 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-07-03 00:16:45 +00:00
Zuxy Meng
392f6da897 Remove unused and unsupported Cyrix's "Extended MMX",
Add SSE3 support.
Patch by Zuxy Meng < zuxy POIS meng AH gmail POIS com >
Original thread:
04/26/06 13:13:
[Ffmpeg-devel] [PATCH] Bug fix,	SSE3 support in i386/cputest.c and dsputil.h

Originally committed as revision 5326 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-04-28 07:46:13 +00:00
Loren Merritt
703c8195a8 mmx implementation of 3-point GMC. (5x faster than C)
Originally committed as revision 5265 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-04-04 09:23:45 +00:00
Michael Niedermayer
54009d4295 remove mpegvideo.c img resample dependancy
Originally committed as revision 5258 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-03-31 20:43:37 +00:00
Steve L'Homme
dc2bf20e27 ST16 is undefined for non-GNU compilers.
Patch by Steve Lhomme <slhomme at divxcorp com>

Originally committed as revision 5206 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-03-24 01:33:22 +00:00
Loren Merritt
513fbd8e5a prefetch pixels for future motion compensation. 2-5% faster h264.
Originally committed as revision 5203 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-03-23 20:16:36 +00:00
Robert Edele
059715a41c First part of a series of speed-enchancing patches.
This one sets up a snow.h and makes snow use the dsputil function pointer
framework to access the three functions that will be implemented in asm
in the other parts of the patchset.
Patch by Robert Edele < yartrebo AH earthlink POIS net>
Original thread:
Subject: [Ffmpeg-devel] [PATCH] Snow mmx+sse2 asm optimizations
Date: Sun, 05 Feb 2006 12:47:14 -0500

Originally committed as revision 5172 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-03-16 19:18:18 +00:00
Zuxy Meng
82eb4b0f1b 3DNow! & Extended 3DNow! versions of FFT
Patch by Zuxy Meng, zuxy <<dot>> meng >>at<< gmail <<dot>> com
Minor non-functional diff-related fixes by me.

Originally committed as revision 5125 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-03-08 04:13:55 +00:00
Loren Merritt
ef9d1d1575 h264: special case dc-only idct. ~1% faster overall
Originally committed as revision 4971 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-02-10 06:55:25 +00:00
Steve L'Homme
68b51e58ce MSVC-compatible __align8/__align16 declaration
patch by Steve Lhomme, steve .dot. lhomme .at. free .dot. fr

Originally committed as revision 4942 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-02-05 13:35:17 +00:00
Diego Biurrun
5509bffa88 Update licensing information: The FSF changed postal address.
Originally committed as revision 4842 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-01-12 22:43:26 +00:00
Loren Merritt
e8b562087d tweak h264_biweight
Originally committed as revision 4835 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-01-09 03:38:37 +00:00
Michael Niedermayer
80e44bc3bf use h264 MC functions for 2xX Xx2 blocks in snow too
Originally committed as revision 4824 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-01-08 01:50:34 +00:00
Michael Niedermayer
27c61ac53d 8x8 integer dct from x264 as cmp function (under CONFIG_GPL)
if this gives better quality then SATD then someone should port the x86 code too or maybe we could even just call it from libx264
the 4x4 one could be tried too ...

Originally committed as revision 4811 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-01-04 16:31:23 +00:00
Diego Biurrun
bb270c0896 COSMETICS: tabs --> spaces, some prettyprinting
Originally committed as revision 4764 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-12-22 01:10:11 +00:00
Diego Biurrun
115329f160 COSMETICS: Remove all trailing whitespace.
Originally committed as revision 4749 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-12-17 18:14:38 +00:00
Diego Biurrun
7df6545556 Move lrintf implementation from libavcodec/dsputil.h to libavutil/common.h
where it makes more sense.

Originally committed as revision 4599 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-09-19 23:26:47 +00:00
Gildas Bazin
eba9ae3cfc IWMMXT configure support + runtime selection patch by (Gildas Bazin, gbazin : altern org)
Originally committed as revision 4409 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-06-28 22:46:36 +00:00
Loren Merritt
36940eca76 H.264 lossless mode
Originally committed as revision 4381 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-06-17 08:24:35 +00:00
Loren Merritt
43efd19a88 decode H.264 with 8x8 transform.
deblocking is still incorrect with 8x8+cavlc

Originally committed as revision 4339 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-06-02 21:15:20 +00:00
Michael Niedermayer
14ee9d1539 remove unused vp3 related function pointers
Originally committed as revision 4293 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-05-21 07:43:49 +00:00
Loren Merritt
5cf08f2393 H.264 deblocking optimizations (mmx for chroma_bS4 case, convert existing cases to 8-bit math)
Originally committed as revision 4271 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-05-18 09:17:22 +00:00
Michael Niedermayer
5773a74669 porting the mmx&sse2 (sse2 untested) vp3 idcts to the lavc idct API
Originally committed as revision 4260 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-05-17 18:28:40 +00:00
Michael Niedermayer
8b6103da0f porting vp3 idct over to lavc idct api
Originally committed as revision 4257 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-05-17 11:12:04 +00:00
Loren Merritt
42251a2a4f MMX for H.264 deblocking filter
Originally committed as revision 4158 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-04-25 01:01:41 +00:00
Loren Merritt
9f2d1b4ff5 H.264 weighted prediction.
Bidirectional weighting has not been tested for bitwise accuracy, but looks correct.

Originally committed as revision 3811 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-01-07 05:56:07 +00:00
Michael Niedermayer
e42a152bbc x86 cpu capabilities detection rewrite / cleanup
Originally committed as revision 3750 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-12-13 16:11:38 +00:00
Michael Niedermayer
0fd6aea1f1 more flexible frame skip decission
Originally committed as revision 3743 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-12-08 18:02:56 +00:00
Michael Niedermayer
3237f73183 stride align cleanup
Originally committed as revision 3640 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-10-26 12:47:56 +00:00
Michael Niedermayer
0fa8158d3e move h264 idct to its own file and call via function pointer in DspContext
allow h264 idct to be used for lowres=1

Originally committed as revision 3524 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-09-27 19:47:17 +00:00
Michael Niedermayer
1aa8c57b4a 1/8 resolution decoding
Originally committed as revision 3511 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-09-26 10:01:40 +00:00
Michael Niedermayer
9ca358b951 1/4 resolution decoding
Originally committed as revision 3509 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-09-26 00:18:12 +00:00
Michael Niedermayer
178fcca848 1/2 resolution decoding
Originally committed as revision 3507 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-09-25 23:18:58 +00:00
Michael Niedermayer
91d6655aa7 lrintf emulation improvments
Originally committed as revision 3412 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-08-24 16:33:55 +00:00
Michael Niedermayer
26efc54e4a 4x4 SSE compare function
wavelet based compare functions
make epzs_motion_search() more flexible so it can be used for a wider range of block sizes
make get_penalty_factor() independant of MpegEncContext

Originally committed as revision 3410 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-08-22 17:16:03 +00:00
Michael Niedermayer
f2e92ef291 increase size of crop table
Originally committed as revision 3243 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-06-21 01:01:44 +00:00
Michael Niedermayer
dbc56b3914 chroma me fix
Originally committed as revision 3216 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-06-11 21:12:46 +00:00
Michael Niedermayer
e6a2ac3474 noise preserving sum of squares comparission function
Originally committed as revision 3204 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-06-07 03:23:31 +00:00
Michael Niedermayer
fdbbf2e0fc rewrite h261 loop filter
no malloc(64) memcpy free stuff
no filter1 A->B then filter2 A->B (yes not B->A)
no incorrect rouding after the 1d filter

Originally committed as revision 3177 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-05-30 21:21:13 +00:00
Michael Niedermayer
c6148de232 h261 decoder by (Maarten Daniels <maarten.daniels at student dot luc dot ac dot be>)
Originally committed as revision 3176 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-05-30 20:37:15 +00:00
Michael Niedermayer
e96682e6f4 some of the warning fixes by (Michael Roitzsch <mroi at users dot sourceforge dot net>)
Originally committed as revision 3140 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-05-18 17:09:46 +00:00
Mike Melanson
f9ed9d8584 separate out put_signed_pixels_clamped() into its own function and
implement an optimized MMX version of the function

Originally committed as revision 3082 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-04-27 03:58:06 +00:00
Mike Melanson
116824d0aa reorganize and simplify the VP3 IDCT stuff
Originally committed as revision 3071 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-04-26 00:20:29 +00:00
Mike Melanson
92a69cf868 move __align16 some place where non-MMX machines can see it
Originally committed as revision 3066 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-04-25 04:06:09 +00:00
Mike Melanson
38acbc3cb9 hook up support for SSE2-optimized VP3 IDCT
Originally committed as revision 3064 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-04-25 03:33:30 +00:00
Michael Niedermayer
44f54ceb30 VIS optimized motion compensation code. by (David S. Miller <davem at redhat dot com>)
ported to ffmpeg by (ja2morri at csclub dot uwaterloo dot ca (james morrison))
useable under LGPL with their agreement

Originally committed as revision 3048 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-04-23 23:38:54 +00:00
Gildas Bazin
68951ecf0c fft_*() renamed into ff_fft_*() patch by (Gildas Bazin <gbazin at altern dot org>)
Originally committed as revision 2882 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-03-13 21:43:24 +00:00
Mike Melanson
44cb64ee89 seperated out the C-based VP3 DSP functions into a different file; also
ported the MMX-optimized versions of those functions

Originally committed as revision 2855 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-03-08 02:13:45 +00:00
Michael Niedermayer
c0a0170c16 fix motion compensation with (x+1/2,y+1/2) MVs
Originally committed as revision 2849 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-03-05 18:44:04 +00:00
Michael Niedermayer
364a179749 quantizer noise shaping optimization
Originally committed as revision 2750 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-02-06 02:12:37 +00:00
Michael Niedermayer
8fd19ab286 SSE2 fdct by (Balatoni Denes <pnis at coder dot hu>)
Originally committed as revision 2729 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-01-29 01:15:25 +00:00
Michael Niedermayer
8f2ab83318 copyright year update of the files i touched and remembered, things look annoyingly unmaintained otherwise
Originally committed as revision 2686 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-01-10 16:04:55 +00:00
Michael Niedermayer
622348f931 interlaced dct decision cleanup
function moved to dspcontext
  mmx&mmx2 optimized
  change SSE -> SAD as default (better quality)
vbv buffer size command line option in kbyte

Originally committed as revision 2669 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-01-05 22:57:07 +00:00
Michael Niedermayer
e5771f4f37 put_pixels width comment fix
Originally committed as revision 2646 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-01-01 18:02:30 +00:00
Michael Niedermayer
7d67aa9b0f info about h and tpel
Originally committed as revision 2639 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-12-30 19:19:45 +00:00
Michael Niedermayer
bb198e198a interlaced motion estimation
interlaced mpeg2 encoding
  P & B frames
  rate distored interlaced mb decission
  alternate scantable support
4mv encoding fixes (thats also why the regression tests change)
passing height to most dsp functions
interlaced mpeg4 encoding (no direct mode MBs yet)
various related cleanups
disabled old motion estimaton algorithms (log, full, ...) they will either be fixed or removed

Originally committed as revision 2638 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-12-30 16:07:57 +00:00
Michael Niedermayer
9a197a24c6 altivec.h bug workaround (untested)
Originally committed as revision 2559 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-12-03 22:23:08 +00:00
Michael Niedermayer
332f9ac4e3 h263 loop filter
fixed h263 modified quantization
CODEC_FLAG_OBMC

Originally committed as revision 2549 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-12-01 15:23:14 +00:00
Roman Shaposhnik
19d053c5ba * fixes for broken builds on Solaris, OS2 and all bingendian
systems out there.

Originally committed as revision 2480 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-11-04 19:35:43 +00:00
Roman Shaposhnik
48b1f80012 * adding integer/floating point AAN implementations for DCT 2-4-8
Originally committed as revision 2430 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-10-25 00:32:54 +00:00
Roman Shaposhnik
10acc47995 * introducing dct248 into the DSP context.
* simple/accurate implementation of dct248
   * DV encoding now supports 2-4-8 DCT
   * DV encoding gets a bit faster (but still miles away
     from what I think it could do)
   * misc. DV codec cleanups

Originally committed as revision 2425 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-10-24 18:28:01 +00:00
Michael Niedermayer
cf3bf5bbaa minor mmx2 optimization if the dct
Originally committed as revision 2423 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-10-23 13:22:20 +00:00
Michael Niedermayer
8470540344 mmx2 optimization of huffyuv median encoding
Originally committed as revision 2372 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-10-13 17:27:30 +00:00
Fabrice Bellard
742d87d633 removed os_support.h
Originally committed as revision 2227 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-09-08 21:05:43 +00:00
Michael Niedermayer
4fb518c392 the return of the idct with 16bit output by ("Ivan Kalvachev" <ivan at cacad dot com>)
Originally committed as revision 1983 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-06-21 01:11:31 +00:00
Mike Melanson
4e8eed2f3b 4, not 2
Originally committed as revision 1975 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-06-20 02:22:25 +00:00
Mike Melanson
da3b975630 added support for B-frames and multiple slices
Originally committed as revision 1974 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-06-19 01:44:44 +00:00
Michael Niedermayer
3d2e8cce3a ASV1 codec
with postprocessing support :)

Originally committed as revision 1891 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-05-19 13:30:59 +00:00
Michael Niedermayer
669ac79cf5 moving the svq3 motion compensation stuff to dsputil (this also means that existing optimized halfpel code is used now ...)
Originally committed as revision 1885 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-05-15 23:30:03 +00:00
Michael Niedermayer
d8085ea727 cleanup
Originally committed as revision 1882 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-05-14 23:08:01 +00:00
BERO
0c6bd2ea0a sh4 optimized idct & bswap patch by (BERO <bero at geocities dot co dot jp>)
Originally committed as revision 1877 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-05-14 12:18:49 +00:00
Michael Niedermayer
0549302188 more idct_permute docs
Originally committed as revision 1852 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-05-11 10:19:05 +00:00