Commit Graph

56 Commits

Author SHA1 Message Date
Justin Ruggles 3d3cf6745e aacdec: use float planar sample format for output 2012-11-25 19:06:36 -05:00
Mans Rullgard 7a12d97eb1 aac: fix build with hardcoded tables
aac_tablegen.h includes aac.h for the POW_SF2_ZERO definition, but
this also pulls in a raft of other headers, some of which are not
safe to use in code built with the host compiler.

Moving POW_SF2_ZERO to aac_tablegen_decl.h, where the declaration
of the array it relates to already resides, fixes the problems.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-10-18 19:59:43 +01:00
Diego Biurrun e4cbf7529b Give all anonymously typedeffed structs in headers a name
Anonymous structs cannot be forward declared and have no benefit.
2012-10-06 09:27:11 +02:00
Justin Ruggles d5a7229ba4 Add a float DSP framework to libavutil
Move vector_fmul() from DSPContext to AVFloatDSPContext.
2012-06-08 13:14:38 -04:00
Alex Converse 9fb7e14635 aacdec: More robust output configuration.
Save the old output configuration (if it has been used
successfully) when trying a new configuration. If the new configuration
fails to decode, restore the last successful configuration.
2012-04-16 14:09:52 -07:00
Alex Converse 37bed6ff3f aacdec: Try to sniff a reasonable channel layout for PCE based configurations.
This changes the output order of multichannel PCE based streams.
2012-02-09 13:33:06 -08:00
Alex Converse 4acd43a295 aacdec: Turn off PS for multichannel files that use PCE based configs.
Fixes al_sbr_cm_48_5.1.mp4.
2012-01-09 11:04:05 -08:00
Justin Ruggles 0eea212943 Add avcodec_decode_audio4().
Deprecate avcodec_decode_audio3().
Implement audio support in avcodec_default_get_buffer().
Implement the new audio decoder API in all audio decoders.
2011-12-02 17:40:40 -05:00
Diego Biurrun 0249478756 doxygen: fix wrong comment syntax, //< vs. ///< 2011-08-26 18:34:28 +02:00
Reinhard Tartler 21a19b7912 doxygen: Prefer member groups over grouping into modules
Before this, almost all module groups have been used for grouping functions
and fields in structures semantically. This causes them to not appear
properly in the file documentation and needlessly clutters up the "Modules"
index.

Additionally, this commit streamlines some spelling and appearances.
2011-07-02 13:52:29 +02:00
Justin Ruggles 033a4a942a aacdec: Use float instead of int16_t for ltp_state to avoid needless rounding. 2011-05-15 17:42:05 -04:00
Alex Converse 767848d761 aacdec: remove sf_scale and sf_offset.
Instead, scalefactors are adjusted by the offset amount, removing the need
for sf_scale, and the MDCT scales are adjusted to compensate for the higher
scalefactors. Floating-point output will be handled by modifying the MDCT
scales.
2011-04-27 12:39:37 -04:00
Alex Converse d70fa4c423 Define POW_SF2_ZERO in aac.h and use for ff_aac_pow2sf_tabp[] offsets instead
of hardcoding 200 everywhere.
2011-04-27 12:39:37 -04:00
Vitor Sessak 9d35fa520e Add AVX FFT implementation.
Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2011-04-26 18:25:24 +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
Young Han Lee e22910b21a aacdec: Reduce the size of buf_mdct.
It was doubled in size for the LTP implementation. This brings it back
down to its original size.
2011-02-21 16:35:22 -08:00
Young Han Lee ead15f1dc1 aacdec: Implement LTP support.
Ported from gsoc svn.
2011-02-14 21:43:42 -08:00
Justin Ruggles c73d99e672 Separate format conversion DSP functions from DSPContext.
This will be beneficial for use with the audio conversion API without
requiring it to depend on all of dsputil.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-02-02 02:44:53 +00:00
Justin Ruggles 9d06d7bce3 Remove the add bias hack for the C version of DSPContext.float_to_int16_*(). 2011-01-28 00:07:35 +00:00
Alex Converse bb2d8e9f05 aacdec: Rework channel mapping compatibility hacks.
For a PCE based configuration map the channels solely based on tags.
For an indexed configuration map the channels solely based on position.

This works with all known exotic samples including al17, elem_id0, bad_concat,
and lfe_is_sce.

Originally committed as revision 25098 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-10 18:01:48 +00:00
Alex Converse c909d48266 Whitespace cosmetics
Originally committed as revision 23491 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-05 15:36:16 +00:00
Alex Converse 8e5998f0ab aac: Move an initialization macro used only by the decoder out of the header.
Originally committed as revision 23490 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-05 15:31:57 +00:00
Alex Converse dd8871a63b aacdec: Rename avccontext to avctx.
Originally committed as revision 23488 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-05 15:22:19 +00:00
Alex Converse 7caee063a0 aacdec: Work around illegal files with all elem_id tags set to the same value.
Fixes issue 1882.

Originally committed as revision 23439 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-03 02:17:49 +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
Alex Converse ed492b61db Add an HE-AAC v1 decoder.
A large portion of this code was orignally authored by Robert Swain. The rest
was written by me. Full history is available at:
svn://svn.ffmpeg.org/soc/aac-sbr
http://github.com/aconverse/ffmpeg-heaac/tree/sbr_pub

Originally committed as revision 22316 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-08 04:33:02 +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 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
Måns Rullgård 2ef21b9179 AAC: Reduce depth of vlc_spectral tables to 2
Up to 6% faster overall on i7, no change on A8.

Originally committed as revision 21191 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-13 16:46:39 +00:00
Alex Converse 4fab662769 AAC: Add a global header but output not locked output configuration status.
Originally committed as revision 20701 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-02 09:12:05 +00:00
Alex Converse 981b8fd777 Don't lock the channel output configuration based on the first value seen for
non extradata formats. Instead lock it only after the successful decoding of a
frame. This fixes issue 999.

Originally committed as revision 20448 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-03 22:50:02 +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
Alex Converse 6308765cb5 Ignore subsequent channel configurations after the first in an AAC file. The
current code doesn't handle them properly, and they are a dubious construction
at best.

Originally committed as revision 19399 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-10 21:53:04 +00:00
Alex Converse 78e65cd772 Merge the AAC encoder from SoC svn. It is still considered experimental.
Originally committed as revision 19375 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-08 20:01:31 +00:00
Diego Biurrun 477ffff218 The internal header libavutil/internal.h should not be used outside libavutil.
Originally committed as revision 19157 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-11 20:18:29 +00:00
Alex Converse f650e4d34a Move MPEG-4 AOT enum to mpeg4audio.h.
Originally committed as revision 18031 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-18 13:52:56 +00:00
Alex Converse bb5c0988ea Fix the channel allocation bug/assumption (issue 800).
Approved by Rob on IRC.

Originally committed as revision 17856 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-06 19:47:01 +00:00
Diego Biurrun 30f68128ab Add missing #includes to fix 'make checkheaders'.
Originally committed as revision 17398 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-17 21:43:57 +00:00
Robert Swain b17f1a0764 Doxygen defgroups throw a warning if they don't have a title as well as a name
Originally committed as revision 16939 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-02 10:31:51 +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 aab5413323 AAC: Fix AAC prediction when used in conjunction with the CPE
Patch by Alex Converse (alex converse gmail com)

Originally committed as revision 16250 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-21 05:28:14 +00:00
Måns Rullgård 8153f14444 AAC: move scratch array to context to ensure 16-byte alignment
Originally committed as revision 16043 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-10 00:50:59 +00:00
Alex Converse 7633a0415d AAC: Frequency domain prediction and hence Main profile support
Patch by Alex Converse ( alex converse gmail com )

Originally committed as revision 15919 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-11-24 00:13:50 +00:00
Alex Converse d0ee50216d Fix perceptual noise shaping scaling including an oversight of the offset for
the EIGHT_SHORT window type. Fixes issue 664.

Patch by Alex Converse (alex converse gmail com)

Originally committed as revision 15776 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-11-05 13:59:42 +00:00
Alex Converse 5c2cb17206 Correct documentation of ch_select array.
Patch by Alex Converse (alex converse gmail com)

Originally committed as revision 15574 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-10-06 16:18:18 +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
Robert Swain b0f5852a13 Use ff_imdct_half() and vector_fmul_window() for IMDCT and windowing. Reduce
buffer sizes accordingly. This produces a ~10% overall decoding perfomance
improvement.

Originally committed as revision 14908 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-22 18:21:22 +00:00
Robert Swain 1dece0d2cd More OKed AAC decoder code hunks
Originally committed as revision 14829 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-18 21:36:58 +00:00
Robert Swain c7f4d983a4 More OKed AAC decoder code hunks
Originally committed as revision 14828 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-18 19:39:08 +00:00