Commit Graph

235 Commits

Author SHA1 Message Date
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
Michael Niedermayer
0c0d88aed5 Optimize decoding high freqs.
this is 10-20cpu cycles faster on duron (whole is about 50-60 cpu cylses)
I wonder why gcc isnt doing this on its own ...

Originally committed as revision 23097 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-11 21:10:55 +00:00
Michael Niedermayer
fd9451c68f Make lsf_sf_expand() 4 times faster.
Originally committed as revision 23096 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-11 20:33:48 +00:00
Michael Niedermayer
b91d46614d float based mp1/mp2/mp3 decoders.
Originally committed as revision 23095 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-11 19:52:42 +00:00
Michael Niedermayer
86433cc6f5 Remove unused FRAC_RND() macro from mpegaudiodec.c.
Originally committed as revision 23086 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-11 14:49:48 +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
Stefano Sabatini
72415b2adb Define AVMediaType enum, and use it instead of enum CodecType, which
is deprecated and will be dropped at the next major bump.

Originally committed as revision 22735 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-30 23:30:55 +00:00
Måns Rullgård
da0ac0ee64 Make some functions static
These functions are not used outside their respective files, and they
lack a prototype in a header.

Originally committed as revision 22259 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-06 22:36:41 +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
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
Ronald S. Bultje
6e44ba1550 Use get_bits_left() instead of size_in_bits - get_bits_count().
Originally committed as revision 20543 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-16 17:42:43 +00:00
Vitor Sessak
c902340599 Reduce stack memory allocation in MP3 decoder
Originally committed as revision 20451 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-04 23:33:08 +00:00
Reimar Döffinger
eadaa00c6f Add support for hardcoding the mpegaudiodec tables.
Reduces .bss size by about 194 kB.

Originally committed as revision 20400 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-28 18:42:52 +00:00
Reimar Döffinger
9adcccde0c mpegaudiodec, mpc and qdm2 all use the same mpa_synth window, so make
them use the same variable/global storage.
Saves 4 kB in .bss.

Originally committed as revision 20314 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-19 17:21:02 +00:00
Reimar Döffinger
a57afd2943 Partially revert r20233, exp2f is not available on some BSDs, DOS and AVR32.
Originally committed as revision 20240 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-15 17:10:07 +00:00
Reimar Döffinger
686884da9d Use cbrtf and exp2f instead of pow to calculate tables for MPEG audio decoding.
This hopefully is fast enough so that it is reasonable to use the same formula
directly instead of the table for CONFIG_SMALL.

Originally committed as revision 20233 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-15 06:59:23 +00:00
Michael Niedermayer
45a014d75e Set data_size to 0 to avoid having it uninitialized.
based on 31_mp3_outlen.patch by chrome.

Originally committed as revision 19988 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-23 11:44:30 +00:00
Michael Niedermayer
f7304e99d4 Check data_size in decode_frame_mp3on4().
Originally committed as revision 19987 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-23 11:33:44 +00:00
Michael Niedermayer
0d31833d04 check data_size in decode_frame()
Originally committed as revision 19986 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-23 11:29:38 +00:00
Diego Biurrun
83614f2df9 Reduce pointless verbosity after seeks in the MP3 decoder.
Originally committed as revision 19759 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-04 19:04:12 +00:00
Michael Niedermayer
822d0a6e0c Drop code that attempts to decode frames that are prefixed by junk.
Too often it ends up decoding random data into noise without detecting
it (for example after seeking of some MP3 data with oddly often occurring
startcode emulation).
Fixes issue1154.

Originally committed as revision 19302 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-30 03:57:27 +00:00
Måns Rullgård
1e24f1b25d mpegaudio: enclose SUM8() macro args in parens when used
Originally committed as revision 18746 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-05 18:44:13 +00:00
Måns Rullgård
bf030c887f mpegaudio: avoid unnecessary copy in high-precision mode
Originally committed as revision 18745 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-05 18:44:10 +00:00
Måns Rullgård
adb206c238 mpegaudio: use av_clip()
Originally committed as revision 18744 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-05 18:44:07 +00:00
Zdenek Kabelac
e2fa5cf4c9 Do not scan for MP3 header after the given buffer and return skipped
bytes along with consumed bytes on successful decoding.
patch by Zdenek Kabelac, zdenek.kabelac gmail com

Originally committed as revision 18736 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-04 14:23:48 +00:00
Michael Niedermayer
b52b6ae489 Remove unused variable from decode_init() found by CSA.
Originally committed as revision 18550 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-17 13:57:22 +00:00
Stefano Sabatini
9106a698e7 Rename bitstream.h to get_bits.h.
Originally committed as revision 18494 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-13 16:20:26 +00:00
Thilo Borgmann
7a00bbad21 Implement avcodec_decode_video2(), _audio3() and _subtitle2() which takes an
AVPacket argument rather than a const uint8_t *buf + int buf_size. This allows
passing of packet-specific flags from demuxer to decoder, such as the keyframe
flag, which appears necessary to playback corePNG P-frames.

Patch by Thilo Borgmann thilo.borgmann googlemail com, see also the thread
"Google Summer of Code participation" on the mailinglist.

Originally committed as revision 18351 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-07 15:59:50 +00:00
Daniel Verkamp
5ef251e504 Add missing av_cold in static init/close functions.
Patch by Daniel Verkamp daniel at drv dot nu.

Originally committed as revision 17526 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-22 13:48:55 +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
Andreas Öman
cf92cec7d8 Avoid allocating MPADecodeContext on stack.
Instead move relevant fields into MPADecodeHeader and use it
where appropriate.

Originally committed as revision 16728 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-23 12:09:32 +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