Commit Graph

266 Commits

Author SHA1 Message Date
Justin Ruggles 53c8443ad2 mp3on4: ensure that the frame channel count does not exceed the codec channel
count.

This also allows for checking output data size based on the actual
number of channel instead of the maximum number of channels.
2011-10-21 12:32:35 -04:00
Justin Ruggles 1183d6cd98 mp3on4: set channel layout 2011-10-21 12:29:51 -04:00
Justin Ruggles fff0f831e0 mp3on4: fix the output channel order 2011-10-21 12:29:51 -04:00
Justin Ruggles f507dd067a mp3on4: allocate temp buffer with av_malloc() instead of on the stack.
Avoids allocating unnecessary memory and ensures proper alignment.
2011-10-21 12:29:51 -04:00
Justin Ruggles cb72230dfa mp3on4: copy MPADSPContext from first context to all contexts.
Fixes segfault when decoding multi-channel MP3onMP4 files.
2011-10-21 12:29:51 -04:00
Anton Khirnov 59a9a23581 lavc: use avpriv_ prefix for some mpeg4audio symbols used in lavf.
Specifically, ff_mpeg4audio_sample_rates, ff_mpeg4audio_get_config and
ff_copy_pce_data
2011-10-20 21:06:57 +02:00
Anton Khirnov 82ab61f901 lavc: use avpriv_ prefix for some mpegaudio symbols used in lavf.
Specifically, ff_mpa_freq_tab, ff_mpa_bitrate_tab, ff_mpa_decode_header,
ff_mpegaudio_decode_header.
2011-10-20 21:06:57 +02:00
Diego Biurrun 8671488799 Use explicit struct initializers for AVCodec declarations. 2011-09-24 12:11:19 +02:00
Diego Biurrun bde2c1c7fe mpegaudiodec: Fix av_dlog() invocation.
Some parameters passed to the av_dlog can be either float or int, depending on
the mode the file is being compiled as.  Cast those parameters to float and use
appropriate conversion specifiers.
2011-06-01 15:07:20 +02:00
Mans Rullgard fdf18e33bb mpegaudiodec: remove unusued code and variables
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-05-31 18:52:02 +01:00
Mans Rullgard 6f1ec38ce2 mpegaudio: clean up compute_antialias() definition
This merges the float and fixed-point versions of the compute_antialias
function, fixes invalid array indexing, and eliminates a dead copy of
csa_table.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-05-31 15:30:21 +01:00
Vitor Sessak 6204feb160 dct32: Add AVX implementation of 32-point DCT 2011-05-21 17:42:26 +02:00
Mans Rullgard f255a28d14 mpegaudio: clean up #includes
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-05-20 11:05:19 +01:00
Mans Rullgard 918d0584a4 mpegaudio: move some struct definitions from mpegaudio.h
These structs are only used in mpegaudiodec.c, so move them there
and remove no longer needed #include lines from mpegaudio.h.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-05-19 12:25:36 +01:00
Mans Rullgard c4f5c2d6f4 Move some mpegaudio functions to new mpegaudiodsp subsystem
This separation allows these functions to be used in a cleaner
fashion from other codecs (e.g. qdm2) and simplifies creating
optimised versions of them.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-05-19 12:25:34 +01:00
Mans Rullgard dede36bd02 mpegaudio: sanitise compute_antialias_* names
This makes the compute_antialias functions use the same naming
convention as everything else.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-05-18 13:16:59 +01:00
Mans Rullgard 4bac1bbc3b mpegaudio: add _fixed suffix to some names
This adds a _fixed suffix to the fixed-point versions of things
with both float and fixed-point variants.  This makes it more
consistent with other dual-implementation things, e.g. fft.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-05-17 20:17:36 +01:00
Mans Rullgard 6f2309ed2e dct: build dct32 as separate object files
This builds the float and fixed-point versions of dct32 separately
instead of #including the file in dct.c and mpegaudiodec.c.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-05-17 13:57:23 +01:00
Mans Rullgard bdefbf3e88 mpegaudio: move OUT_FMT macro to mpegaudiodec.c
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-05-16 17:49:25 +01:00
Mans Rullgard 92ea249d7d mpegaudio: remove OUT_MIN/MAX macros
These macros are no longer needed after the s32 output was removed.
Change the relevant code to use av_clip_int16() instead of using
explicit limits.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-05-16 17:49:25 +01:00
Mans Rullgard a88ef93b4a mpegaudiodec: group #includes more sanely
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-05-09 22:27:16 +01:00
Mans Rullgard 0d849074a4 mpegaudio: remove #if 0 blocks
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-05-09 22:22:12 +01:00
Mans Rullgard 6bb6fb05ba mpegaudio: remove CONFIG_MPEGAUDIO_HP option
The low quality mode is off by default and never tested.  The high
quality mode is also plenty fast enough.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-05-09 17:30:12 +01:00
Anton Khirnov 6f3d3eacf6 lavc: add missing audioconvert includes 2011-04-02 16:17:01 +02:00
Mans Rullgard 2912e87a6c Replace FFmpeg with Libav in licence headers
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-03-19 13:33:20 +00:00
Kieran Kunhya f4a86bc981 Set channel_layout for mpegaudio
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-02-05 20:25:02 -05:00
Clément Bœsch 437fb1c87d Remove a few if (p) av_free(p) forms
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-02-03 01:37:55 +00:00
Luca Barbato dfd2a005eb Replace dprintf with av_dlog
dprintf clashes with POSIX.1-2008
2011-01-29 23:55:37 +01:00
Diego Elio Pettenò d36beb3f69 Add ff_ prefix to data symbols of encoders, decoders, hwaccel, parsers, bsf.
None of these symbols should be accessed directly, so declare them as
hidden.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-01-26 16:08:45 +00:00
Clément Bœsch 045b80e52d Move ID3v1 skip from decoder to demuxer
Signed-off-by: Janne Grunau <janne-ffmpeg@jannau.net>
2011-01-22 01:31:57 +01:00
Clément Bœsch c19a216af3 Handle ID3v1 tag while decoding mp[123] frames
patch by Clément Bœsch (ubitux at gmail)

Originally committed as revision 26297 to svn://svn.ffmpeg.org/ffmpeg/trunk
2011-01-10 11:36:11 +00:00
Alexander Kojevnikov 49d7ef282d Show correct bitrate for VBR MP3 files.
Patch by Alexander Kojevnikov, alexander kojevnikov com

Originally committed as revision 24539 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-27 10:08:34 +00:00
Michael Niedermayer 69b56ed7a6 Move ff_dct_init(context) out of if(one time init)
fixes calling a null pointer in issue658

Originally committed as revision 24081 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-07 10:36:26 +00:00
Måns Rullgård 59bebb11e0 mpegaudio: move compute_antialias_float() to mpegaudiodec_float.c
Also put compute_antialias_integer() under !CONFIG_FLOAT and change
forward declarations to declare only the relevant one of these.

Fixes warnings about unused functions and pointer type mismatches.

Originally committed as revision 23950 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-01 23:21:20 +00:00
Måns Rullgård 35d597d556 mpegaudio: call ff_mpegaudiodec_init_mmx() only from float decoder
The mmx code is floating-point only, and this function does not know
from which decoder it is called.  Without this change, the integer
decoder only "works" because the size of the context struct is smaller
in this case, and the mmx init function writes the function pointer
outside the allocated context.

Fixes issue 2054.

Originally committed as revision 23949 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-01 23:21:17 +00:00
Aurelien Jacobs 956dae9e77 adu and mp3on4 functions are also needed by their respective float decoders
Originally committed as revision 23944 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-01 21:08:20 +00:00
Vitor Sessak 060dd93000 Altivec-optimized mp{1,2,3} windowing
Originally committed as revision 23943 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-01 21:04:12 +00:00
Vitor Sessak 06d01188e9 More mp{1,2,3} 32-point DCT transform to our common DCT framework.
Should allow for future SIMD optimizations.

Originally committed as revision 23912 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-30 20:11:27 +00:00
Vitor Sessak 186d02150e Use lookup table to avoid division in mp2 decoder
Originally committed as revision 23840 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-28 04:55:36 +00:00
Vitor Sessak bc2b368215 SSE-optimized MP3 floating point windowing functions
Originally committed as revision 23750 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-24 07:44:50 +00:00
Vitor Sessak 47ba787442 Move float-specific function to mpegaudiodec_float.c
Originally committed as revision 23743 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-23 20:45:36 +00:00
Vitor Sessak 9dac6dbb22 Remove pointless condition in #if
Originally committed as revision 23742 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-23 20:43:37 +00:00
Vitor Sessak 4233ce315c Fix breakage in compilation with --disable-mpegaudio-hp introduced in
r23646.

Originally committed as revision 23656 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-20 13:00:24 +00:00
Vitor Sessak 4d49a5a785 Factorize the mpegaudio windowing code in a function and call it by a
function pointer. Should allow for ASM optimizations.

Originally committed as revision 23646 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-19 09:56:05 +00:00
Vitor Sessak 525ac37fd2 Optimize 1D DCT transform used in MP{1,2,3}. Makes also this function suitable
for being moved to the shared DCT framework in the future.

Originally committed as revision 23514 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-07 11:43:12 +00:00
Michael Niedermayer 40914d97cc 1.0 and the resulting exactly representable value must be marked as float as well,
gcc is hopelessly trash.

Originally committed as revision 23119 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-13 18:06:44 +00:00
Michael Niedermayer 0628f3e8cf Cast constants to float to avoid gcc converting to and from
float<->double in every operation.

Originally committed as revision 23118 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-13 17:58:17 +00:00
Michael Niedermayer bfbdc58e52 Fix compilation with low precission mpeg audio decoding.
Originally committed as revision 23107 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-13 10:04:31 +00:00
Michael Niedermayer 3b7117b73a Do the same sign flip optimization to the low freq decoder.
as with the high freq 10-20 cycles faster

Originally committed as revision 23099 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-11 21:31:54 +00:00
Michael Niedermayer 4b070a7a61 Factorize READ_FLIP_SIGN() optimization out
Originally committed as revision 23098 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-11 21:20:33 +00:00