Commit Graph

391 Commits

Author SHA1 Message Date
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