Luca Barbato
a10c4ce24b
aac: Forward errors properly in aac_decode_frame_int
...
Incidentally also remove a warning.
12 years ago
Luca Barbato
71953ebcf9
aac: Check init_get_bits return value
...
Some code paths can call it with invalid length.
CC: libav-stable@libav.org
12 years ago
Diego Biurrun
4a2ef39442
cosmetics: Add '0' to float constants ending in '.'.
12 years ago
Luca Barbato
07c52e2c7c
aac: return meaningful errors
12 years ago
Luca Barbato
6d8629aac1
aac: K&R formatting cosmetics
12 years ago
Hendrik Leppkes
d18341fb11
aacdec: free frame buffer if no audio was decoded
...
If no decoding error was detected, but still no audio was decoded, the
frame needs to be free'ed, or it will leak.
Fixes part of ticket #2095
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
12 years ago
Luca Barbato
a943a132f3
aac: check the maximum number of channels
...
Broken bitstreams could report a larger than specified number of
channels and cause outbound writes.
CC:libav-stable@libav.org
12 years ago
Diego Biurrun
12e25ed284
avcodec: av_log_missing_feature(1) ---> avpriv_request_sample()
12 years ago
Diego Biurrun
6d97484d72
avcodec: av_log_ask_for_sample() ---> avpriv_request_sample()
12 years ago
Diego Biurrun
63d744e2be
av_log_missing_feature() ---> avpriv_report_missing_feature()
12 years ago
Clément Bœsch
1ec94b0f06
lavc: factorize ff_{thread_,re,}get_buffer error messages.
...
Coccinelle profile used:
@@
expression r, ctx, f, loglevel, str, flags;
@@
-if ((r = ff_get_buffer(ctx, f, flags)) < 0) {
- av_log(ctx, loglevel, str);
- return r;
-}
+if ((r = ff_get_buffer(ctx, f, flags)) < 0)
+ return r;
@@
expression r, ctx, f, loglevel, str;
@@
-if ((r = ff_reget_buffer(ctx, f)) < 0) {
- av_log(ctx, loglevel, str);
- return r;
-}
+if ((r = ff_reget_buffer(ctx, f)) < 0)
+ return r;
@@
expression r, ctx, f, loglevel, str, flags;
@@
-if ((r = ff_thread_get_buffer(ctx, f, flags)) < 0) {
- av_log(ctx, loglevel, str);
- return r;
-}
+if ((r = ff_thread_get_buffer(ctx, f, flags)) < 0)
+ return r;
...along with some manual patches for the remaining ones.
12 years ago
Michael Niedermayer
eab49f4fb5
Revert "aacdec: Reconfigure output as needed, disable pop_output_configuration()"
...
This reverts commit 60dbf2eff9
.
This is not needed anymore, Ticket 1694 has been fixed differently
12 years ago
Anton Khirnov
759001c534
lavc decoders: work with refcounted frames.
12 years ago
Michael Niedermayer
60dbf2eff9
aacdec: Reconfigure output as needed, disable pop_output_configuration()
...
Fixes Ticket1694
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
12 years ago
Diego Biurrun
c242bbd8b6
Remove unnecessary dsputil.h #includes
12 years ago
Michael Niedermayer
23c9180c00
aacdec: Fix warning: initialization from incompatible pointer type
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
12 years ago
Michael Niedermayer
6f77122bf5
aac: reconfigure output on pop
...
Fixes Ticket1918
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
12 years ago
Michael Niedermayer
21f68528e3
aacdec: dont pop random configurations
...
Fixes out of array accesses
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
12 years ago
Justin Ruggles
ffd2123095
aac: decode directly to the user-provided AVFrame
12 years ago
Mirjana Vulin
2b6a8187a6
mips: optimization for float aac decoder (core module)
...
Signed-off-by: Mirjana Vulin <mvulin@mips.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
12 years ago
Michael Niedermayer
73abc3a634
aacdec: check init_get_bits return
...
Also fixes an integer overflow
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
12 years ago
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