Alex Converse
43886eaebc
aacdec: Fix popping channel layouts.
...
'channel_layout' not 'channels' from the stored configuration should go
to AVCodecContext's 'channel_layout'.
2012-06-20 09:35:58 -07: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
79c8e29a7e
aacdec: Turn PS off when switching to stereo and turn it to implicit when switching to mono.
2012-06-04 15:16:17 -07:00
Alex Converse
7eacd70fea
aac: Handle HE-AACv2 when sniffing a channel order.
2012-04-20 14:06:28 -07: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
Martin Storsjö
00c3b67b8a
cosmetics: Align codec declarations
...
Also break some long lines, remove codec function placeholder comments
and add spaces in sample/pixel format lists.
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-04-06 22:37:38 +03:00
Diego Biurrun
3dde147ff9
cosmetics: Consistently place static, inline and av_cold attributes/keywords.
2012-04-04 14:54:13 +02:00
Diego Biurrun
f36d5c1422
Update Janne's email address.
2012-03-18 16:07:33 +01:00
Michael Niedermayer
744dd1d356
aacdec: Fix SCE parity check.
...
An unpaired SCE preceding a CPE only makes sense for front SCEs
preceding the first CPE.
Split from FFmpeg commit a8d67efa53
Signed-off-by: Alex Converse <alex.converse@gmail.com>
2012-03-09 09:47:57 -08:00
Michael Niedermayer
d53fe096e4
aacdec: Fix out of array writes (stack).
...
Set the element to channel vector (e2c_vec) size to be the maximum
number of aac channel elements. This makes it slightly larger than it
needs to be because CCEs are never mapped to output channel locations.
Also add a check that all input tags (legal or not) will fit.
Split from FFmpeg commit a8d67efa53
Signed-off-by: Alex Converse <alex.converse@gmail.com>
2012-03-09 09:47:57 -08:00
Michael Niedermayer
956fb91e03
aacdec: Support stereo streams that erroneously signal predefined channel configuration 1 (mono).
...
[alex.converse@mgail.com ]
Move code to get_che()
Update for AAC new channel configuration interface
Only set chan_config if output_configure succeeds.
Signed-off-by: Alex Converse <alex.converse@gmail.com>
2012-02-28 21:38:16 -08:00
Alex Converse
2564f6e6d4
aacdec: Reshuffle functions so get_che() can call set_default_channel_config() and output_configure().
2012-02-28 21:38:15 -08:00
Diego Biurrun
cfac648e6a
doxygen: Remove documentation for non-existing parameters; misc small fixes.
2012-02-28 20:48:43 +01:00
Alex Converse
5e239c7f9e
aacdec: Remove erroneous reference to global gain from the out of bounds scalefactor error message.
2012-02-27 17:59:47 -08:00
Alex Converse
1cd9a6154b
aac: fix infinite loop on end-of-frame with sequence of 1-bits.
...
Based-on-work-by: Ronald S. Bultje <rsbultje@gmail.com>
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2012-02-22 11:23:43 -08:00
Alex Converse
b0f29db5c2
Mark mutable static data const where appropriate.
2012-02-21 09:47:07 -08:00
Martin Storsjö
9cf0841ef3
dsputil: Add ff_ prefix to the dsputil*_init* functions
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-02-15 22:06:34 +02:00
Alex Converse
7b05025856
aacdec: Unify preconfigured layout and PCE layout.
2012-02-09 13:33:07 -08:00
Alex Converse
f1ecd0802d
aacdec: Support native channel layout when requested.
2012-02-09 13:33:07 -08: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
8ece266213
aacdec: Remove incorrect comment.
...
It was only correct when element ids met very specific criteria.
2012-02-08 09:56:37 -08:00
Alex Converse
e600a1e44a
aacdec: Simplify output configuration.
2012-02-08 09:56:37 -08:00
Alex Converse
b5fc571e4f
latmdec: Check AudioSpecificConfig length before decoding extradata.
...
This is different than a normal get_bits() over read because
decode_audio_specific_config() creates its own GetBitContext.
Fixes Bug 170.
2012-01-11 14:40:47 -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
Martin Storsjö
132846b0c8
aacdec: Handle new extradata passed as side data
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2011-12-21 22:52:39 +02:00
Alex Converse
021914e27f
aacdec: Cleanup decode_ics_info.
...
Remove unused function argument.
Return an AVERROR.
Don't zero out ICS on failure.
2011-12-20 18:32:41 -08:00
Alex Converse
5cd56e193f
aacdec: Use intfloat.h rather than local punning union.
2011-12-12 21:36:54 -08:00
Janne Grunau
d268b79e34
aac_latm: reconfigure decoder on audio specific config changes
2011-12-03 00:42:48 +01:00
Janne Grunau
fd095539d1
latmdec: fix audio specific config parsing
...
Pass the correct size in bits to mpeg4audio_get_config and add a flag
to disable parsing of the sync extension when the size is not known.
Latm with AudioMuxVersion 0 does not specify the size of the audio
specific config. Data after the audio specific config can be
misinterpreted as sync extension resulting in random and wrong configs.
2011-12-03 00:42:48 +01: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
Alex Converse
963f685535
aacdec: Fix PS in ADTS.
...
Fixes File1.aac and Bug 80.
2011-11-22 14:33:11 -08:00
Michael Niedermayer
bc2dd36740
aacdec: allow output reconfiguration on channel changes
...
Locking the decoder against channel config changes in
parse_adts_frame_header() seems to be unnecessary and
streams with channel config changes are reported.
The sample in http://roundup.libav.org/issue999 still works.
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2011-10-28 22:44:59 +02:00
Justin Ruggles
71ccfb3f14
aac_latm: remove unneeded check for zero-size packet.
...
This is already checked by avcodec_decode_audio3()
2011-10-26 12:21:18 -04:00
Janne Grunau
28287045ca
cosmetics: simplify latm_decode_init
2011-10-25 12:08:21 +02:00
Janne Grunau
785f876cee
latm: avoid unnecessary reinit of the aac decoder
2011-10-25 12:08:21 +02:00
Janne Grunau
80e36425fb
aacdec: initialize sbr context only in new channel elements
2011-10-25 12:07:58 +02:00
Dustin Brody
9abc98737f
lavc: replace references to deprecated AVCodecContext.error_recognition to use AVCodecContext.err_recognition
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-10-22 14:49:55 +02: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
73ae27e17b
lavc: use avpriv_ prefix for ff_aac_parse_header().
...
It's used in lavf.
2011-10-20 21:06:57 +02:00
Mans Rullgard
d12294304a
aacdec: fix undefined shifts
...
Since nnz can be zero, this is needed to avoid a shift by 32.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-10-08 20:03:55 +01:00
Alex Converse
44920d04ba
aac: Only set sample rate and object type from ADTS if output hasn't been configured.
...
Long term it would be nice to support error resilient reconfiguration
but right now setting this every frame does more harm than help.
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2011-08-18 22:29:41 +02:00
Alex Converse
06d37fede4
aac: Set SBR and PS to unsignalled during headerless and ADTS initialization.
...
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2011-08-18 22:29:41 +02:00
Alex Converse
d8425ed4af
aac: Only output configure if audio was found.
...
Audio found is not triggered on a CCE because a CCE alone has no output.
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2011-08-18 22:29:41 +02:00
Alex Converse
94d47382e0
aac: Don't attempt to output configure an invalid channel configuration.
2011-08-09 12:16:40 -07:00
Dustin Brody
680b1852ab
aac: propagate error return values for AV_LOG_ERROR-triggering events
2011-08-05 12:35:49 -07:00
Alex Converse
a6c49f18ab
aac: Remove some suspicious illegal memcpy()s from LTP.
2011-08-01 09:39:33 -07:00
Anton Khirnov
ec6402b7c5
lavc: use designated initialisers for all codecs.
...
It's more readable and less prone to breakage.
2011-07-29 08:42:34 +02:00
Alex Converse
a58858d60d
lavf: Cleanup try_decode_frame() logic.
...
This fixes AAC playback in ffplay.
2011-07-13 10:39:06 -07:00
Benjamin Larsson
dafaef2fe1
Add support for aac streams in mp4/mov without extradata.
2011-06-30 10:10:26 -07:00
Justin Ruggles
e6c52cee54
Replace usages of av_get_bits_per_sample_fmt() with av_get_bytes_per_sample().
...
av_get_bits_per_sample_fmt() is deprecated.
2011-06-20 18:56:06 -04:00