Michael Niedermayer
96f452ac64
aacdec: check channel count
...
Prevent out of array accesses
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
12 years ago
Ronald S. Bultje
5959bfaca3
floatdsp: move butterflies_float from dsputil to avfloatdsp.
...
This makes wmadec/enc, twinvq and mpegaudiodec (i.e. mp2/mp3)
independent of dsputil.
12 years ago
Ronald S. Bultje
42d3246948
floatdsp: move vector_fmul_reverse from dsputil to avfloatdsp.
...
Now, nellymoserenc and aacenc no longer depends on dsputil. Independent
of this patch, wmaprodec also does not depend on dsputil, so I removed
it from there also.
12 years ago
Ronald S. Bultje
d56668bd80
floatdsp: move scalarproduct_float from dsputil to avfloatdsp.
...
This makes the aac decoder and all voice codecs independent of dsputil.
12 years ago
Carl Eugen Hoyos
12cb21efa6
Make the latm decoder less verbose on initialisation.
...
Reviewed-by: Paul B Mahol
12 years ago
Justin Ruggles
e034cc6c60
lavc: Move vector_fmul_window to AVFloatDSPContext
...
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
12 years ago
Carl Eugen Hoyos
b563afe6fa
Do not allow arbitrary packet size in aac decoder.
...
Fixes a crash with a file containing a 400MB packet reported in bug 420.
12 years ago
Michael Niedermayer
b113d4a83c
aacdec: make dual mono mode selectable through AVOptions too.
...
Based on patch by Akihiro Tsukada
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
12 years ago
Michael Niedermayer
644f021ccf
aacdec: simplify dmono
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
12 years ago
Michael Niedermayer
6d38661920
aacdec: fix dual mono
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
12 years ago
Alex Converse
6d5b009267
aacdec: Fix an off-by-one overwrite when switching to LTP profile from MAIN.
...
Found-by: pawlkt
CC: libav-stable@libav.org
12 years ago
Anton Khirnov
594d4d5df3
lavc: add a wrapper for AVCodecContext.get_buffer().
...
It will be useful in the upcoming transition to refcounted AVFrames.
12 years ago
Justin Ruggles
284ea790d8
dsputil: move vector_fmul_scalar() to AVFloatDSPContext in libavutil
12 years ago
Mans Rullgard
edd80ec7e3
aacdec: fix signed overflows in lcg_random()
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
12 years ago
Justin Ruggles
3d3cf6745e
aacdec: use float planar sample format for output
12 years ago
Michael Niedermayer
ac7ff0963b
aacdec: fix temporary array size
...
Avoids out of array accesses.
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
12 years ago
Diego Biurrun
5707af8d0b
aacdec: Drop some unused function arguments
12 years ago
Michael Niedermayer
da4e4d65f4
aacdec: reorder multiuplications to make code safer against too large input values.
...
Fixes CID700697
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
12 years ago
Diego Biurrun
8f4c414df6
Improve wording and spelling of av_log_missing_feature messages.
12 years ago
Diego Biurrun
717addecad
Use proper return values in case of missing features
12 years ago
Diego Biurrun
f75f4194d1
Restructure av_log_missing_feature message
...
Some invocations include a verb in the log message, others do not. Yet
av_log_missing_feature expects callers to provide a verb. Change the
function to include a verb instead and update the callers accordingly.
The result is a more natural function API and correct English in the
function invocations.
12 years ago
Michael Niedermayer
bfe735b582
aacdec: detect faac and skip correct amount of startup samples
...
This also fixes aac in adts and other containers than mov.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
12 years ago
Akihiro Tsukada
c3c646a868
aacdec: add support for dual mono in Japanese DTV
...
Japanese DTV uses some non standard extensions in AAC audio.
One example is 'dual mono', which combines two independent
audio into one stereo stream, storing them in left and right channels
respectively. Historically, dual mono audio has been used for
multi-lingual audio, one for local/native language, and another for english,
and usually the "main" (local language) channel should be output without
any user interactions.
The frames of those dual mono audio are allowed to set
ADTS channel_config field to 0, and just contain two SCE's *WITHOUT* PCE,
which is a non standard extension by Japanese DTV standard.
(ref. ARIB STD-B32 PartII 5.2.3)
This patch adds an AVPacket side data, AV_PKT_DATA_JP_DUALMONO,
which indicates that the AVPacket is likely to contain an audio frame
with the above dual mono extension, and has the parameter to specify
the desired channel selection in that case.
It also makes aacdec to detect dual mono and output just the desired
channel when this side data is attached.
Signed-off-by: Akihiro Tsukada <atsukada@users.sourceforge.net>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
12 years ago
Michael Niedermayer
386d60f978
aacdec/lcg_random: fix harmless integer overflow
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
12 years ago
Reinhard Nissl
2474ca1a22
aacdec.c: fix some comments
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
12 years ago
Michael Niedermayer
946ed78f5f
aacdec: fix priming/skip for AAC HE/HE2
...
There is a remaining error of 2 - 8 samples in some but not all cases,
the source of the error is unknown ATM.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Michael Niedermayer
0fc684ff7c
aacdec: pass AVPacket to aac_decode_frame_int()
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Alex Converse
122d5c526a
aacdec: Don't fall back to the old output configuration when no old configuration is present.
...
Fixes MP4 files where the first frame is broken.
13 years ago
Anton Khirnov
36ef5369ee
Replace all CODEC_ID_* with AV_CODEC_ID_*
13 years ago
Diego Biurrun
0177b7d23a
Improve descriptiveness of a number of codec and container long names
13 years ago
Diego Biurrun
65d94f63ca
aac: Mention abbreviation as well in long_name
...
Most people know the codec as "AAC" and not "Advanced Audio Coding".
13 years ago
Michael Niedermayer
acdf9a6ca5
aacdec: correct "audio config changed" warning message
...
Idea-by: Reimar
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Hendrik Leppkes
d039b6074c
latm: fix initialization on some streams when no extradata is available
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Mans Rullgard
3c928477d2
aacdec: remove dead assignment
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
13 years ago
Lou Logan
6851130fd6
cosmetics: minor libavcodec spelling errors
...
Also update some common misspelled words in patcheck
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Hendrik Leppkes
f77fd34bc3
aac: move sample_fmt selection before decoder configuration.
...
The decoder configuration initializes the sbr mdct, which needs to know about the sample format to properly take the scale factor into account.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Alex Converse
43886eaebc
aacdec: Fix popping channel layouts.
...
'channel_layout' not 'channels' from the stored configuration should go
to AVCodecContext's 'channel_layout'.
13 years ago
Justin Ruggles
d5a7229ba4
Add a float DSP framework to libavutil
...
Move vector_fmul() from DSPContext to AVFloatDSPContext.
13 years ago
Alex Converse
79c8e29a7e
aacdec: Turn PS off when switching to stereo and turn it to implicit when switching to mono.
13 years ago
Michael Niedermayer
a48b890392
aacdec: fix "may be used uninitialized" warning
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Michael Niedermayer
faa2930f19
flvdec: reenable extradata passing code
...
This fixes passing junk in stream.
It should not have any user vissible effect.
We are discarding the new data in the decoder as no case is known
where it is needed but it causes problems if used.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Michael Niedermayer
a6f650af8d
aac: fix SCE in stereo case, this is surprisingly actually needed
...
Fixes Ticket513
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Michael Niedermayer
a3710f1ebb
aacdec: print debug note when unexpected SCE/CPE is encountered
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Ole Dittmann
fff9680d8c
aacdec: Add forgotten flush
...
See Ticket420
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Alex Converse
7eacd70fea
aac: Handle HE-AACv2 when sniffing a channel order.
13 years ago
Michael Niedermayer
124eb7e476
aacdec: drop channel reseting code.
...
its no longer needed and causes a race with the flv demuxer.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Michael Niedermayer
aa0f84df5a
aacdec: disable new chan_config guessing code from libav.
...
It causes more problems than it solves.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Michael Niedermayer
dbe29db8cb
aacdec: more verbose overread error message
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Michael Niedermayer
68526dbc29
aacdec: reduce difference to alexs version of aacdec.c
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
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.
13 years ago