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
Alex Converse
b00307ecd0
aacsbr: Add a debug check to sbr_mapping.
...
There have been multiple bugs caused by inconsistencies here.
Based on an idea from Michael Niedermayer.
CC: libav-stable@libav.org
13 years ago
Alex Converse
0cb93dacee
aac: Reset some state variables when turning SBR off
...
This makes sure the reset flag gets set when SBR gets turned back on
and sets control variables for unguided mode back to their defaults.
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
13 years ago
Ronald S. Bultje
6e2821160b
Revert "AAC SBR: group some writes."
...
This reverts commit ba36f14e5d
. It
broke decoding on x86-32 on some systems.
13 years ago
Christophe Gisquet
ba36f14e5d
AAC SBR: group some writes.
...
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
13 years ago
Christophe Gisquet
cc412b7104
aacsbr: use a swap index for the Y matrix rather than copy buffers.
...
Signed-off-by: Alex Converse <alex.converse@gmail.com>
13 years ago
Mans Rullgard
8996ed2b73
aacsbr: align some arrays
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
13 years ago
Mans Rullgard
aac46e088d
aacsbr: move some simdable loops to function pointers
...
This prepares for assembly optimisations by moving the most
time-consuming loops to functions called through pointers
in a new context.
Signed-off-by: Mans Rullgard <mans@mansr.com>
13 years ago
Alex Converse
17ce52912f
aacsbr: prevent out of bounds memcpy().
...
Fixes Libav Bug 195.
This doesn't make the code handle sample rate or upsample/downsample
change properly but this is still a good sanity check.
Based on change by Michael Niedermayer.
Signed-off-by: Alex Converse <alex.converse@gmail.com>
13 years ago
Justin Ruggles
9aa8193a23
Add floating-point sample format support to the ac3, eac3, dca, aac, and vorbis
...
decoders.
Based on patches by clsid2 in ffdshow-tryout.
14 years ago
Michael Niedermayer
30fe971934
aac: add headers needed for log2f()
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
14 years ago
Mans Rullgard
26f548bb59
fft: remove inline wrappers for function pointers
...
This removes the rather pointless wrappers (one not even inline)
for calling the fft_calc and related function pointers.
Signed-off-by: Mans Rullgard <mans@mansr.com>
14 years ago
Mans Rullgard
2912e87a6c
Replace FFmpeg with Libav in licence headers
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
14 years ago
Alex Converse
916dee9f45
aac: remove dead SBR input scaling
...
It has been unused since 9d06d7bce3
Signed-off-by: Mans Rullgard <mans@mansr.com>
14 years ago
Justin Ruggles
9d06d7bce3
Remove the add bias hack for the C version of DSPContext.float_to_int16_*().
14 years ago
Alex Converse
afa4248e4e
aacsbr: Eliminate double precision arithmetic.
...
Originally committed as revision 24227 to svn://svn.ffmpeg.org/ffmpeg/trunk
15 years ago
Alex Converse
fd6eb4a06c
Move Parametric Stereo related ps* files to aacps*.
...
Originally committed as revision 23720 to svn://svn.ffmpeg.org/ffmpeg/trunk
15 years ago
Alex Converse
cf3b4d9a78
aacsbr: Make dk signed. There is no point in it being unsigned.
...
Originally committed as revision 23671 to svn://svn.ffmpeg.org/ffmpeg/trunk
15 years ago
Alex Converse
bd9e0e2905
10l: aacsbr: Fix f_master[2] calculation when k2diff == -1.
...
Originally committed as revision 23660 to svn://svn.ffmpeg.org/ffmpeg/trunk
15 years ago
Alex Converse
a20639017b
Add HE-AAC v2 support to the AAC decoder.
...
Originally committed as revision 23647 to svn://svn.ffmpeg.org/ffmpeg/trunk
15 years ago
Alex Converse
bc330b5f15
Cosmetics: Fold constants and re-indent after last commit.
...
Originally committed as revision 23520 to svn://svn.ffmpeg.org/ffmpeg/trunk
15 years ago
Alex Converse
712209d567
Base downsampled SBR synthesis filterbank on a single IMDCT.
...
Based on Han-Wen Hsu, et al. "Fast Complex Quadrature Mirror Filterbanks for
MPEG-4 HE-AAC"
Originally committed as revision 23519 to svn://svn.ffmpeg.org/ffmpeg/trunk
15 years ago
Alex Converse
388c795531
10l: Fix types and now unused variables after last commit.
...
Originally committed as revision 23517 to svn://svn.ffmpeg.org/ffmpeg/trunk
15 years ago
Alex Converse
932963b8e2
Rewrite the SBR decoder QMF analysis filter on top of the IMDCT instead of the RDFT.
...
This is based on a procedure to implement the filterbank on the DCT-IV described in
Hsu, H.W. et al. "A Complex Quadrature Mirror Filterbanks for MPEG-4 HE-AAC"
http://sites.google.com/site/wenchiehlee1020/Papers/ComplexFB_AES_121paper144.pdf
Originally committed as revision 23516 to svn://svn.ffmpeg.org/ffmpeg/trunk
15 years ago
Alex Converse
dd8871a63b
aacdec: Rename avccontext to avctx.
...
Originally committed as revision 23488 to svn://svn.ffmpeg.org/ffmpeg/trunk
15 years ago
Alex Converse
17d5959998
10l: The SBR refactor requires the use of 2 independent output X buffers.
...
Originally committed as revision 23014 to svn://svn.ffmpeg.org/ffmpeg/trunk
15 years ago
Alex Converse
2d23fecd5d
Enforce time border monotonicity.
...
Thanks to Chromium.
Originally committed as revision 23000 to svn://svn.ffmpeg.org/ffmpeg/trunk
15 years ago
Alex Converse
a91d82b5cc
Move the SBR patch count check to prevent overwrites.
...
Thanks to Chromium.
Originally committed as revision 22999 to svn://svn.ffmpeg.org/ffmpeg/trunk
15 years ago
Alex Converse
10678e5c72
Increase size of patch_borders[].
...
6 patches means there can be 7 borders. Found by Chromium.
Originally committed as revision 22998 to svn://svn.ffmpeg.org/ffmpeg/trunk
15 years ago
Alex Converse
d0dedce71d
Reindent
...
Originally committed as revision 22996 to svn://svn.ffmpeg.org/ffmpeg/trunk
15 years ago
Alex Converse
ca6d3f234c
Rewrite ff_sbr_apply in a manner more friendly to PS.
...
This includes merging ff_sbr_dequant into ff_sbr_apply.
Originally committed as revision 22995 to svn://svn.ffmpeg.org/ffmpeg/trunk
15 years ago
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
15 years ago
Alex Converse
ba659bedb8
Reindent read_sbr_extension.
...
Originally committed as revision 22820 to svn://svn.ffmpeg.org/ffmpeg/trunk
15 years ago
Alex Converse
73c2704608
Print an error and skip PS when PS is found but explicitly found but
...
signaled to be absent.
Originally committed as revision 22819 to svn://svn.ffmpeg.org/ffmpeg/trunk
15 years ago
Alex Converse
b3e5931d18
aacsbr: DSPUtilize analysis input scaling.
...
Originally committed as revision 22516 to svn://svn.ffmpeg.org/ffmpeg/trunk
15 years ago
Alex Converse
f8a93a2036
aac: Don't bias output during the IMDCT if SBR will be used.
...
Originally committed as revision 22515 to svn://svn.ffmpeg.org/ffmpeg/trunk
15 years ago
Alex Converse
6ebc724060
aacsbr: Check that bs_num_env is valid before writing arrays with it as an offset.
...
Originally committed as revision 22413 to svn://svn.ffmpeg.org/ffmpeg/trunk
15 years ago
Alex Converse
134b8cbb9a
aacsbr: Cleanup read_sbr_grid and copy_sbr_grid after the recent overhaul of those functions.
...
Originally committed as revision 22412 to svn://svn.ffmpeg.org/ffmpeg/trunk
15 years ago
Alex Converse
f7e7888b2a
aacsbr: Factor out the common end border case from t_q setup.
...
Originally committed as revision 22411 to svn://svn.ffmpeg.org/ffmpeg/trunk
15 years ago
Alex Converse
ac8d655a79
aacsbr: read bs_rel_bord directly into t_env.
...
Originally committed as revision 22410 to svn://svn.ffmpeg.org/ffmpeg/trunk
15 years ago
Alex Converse
ecc1f8c3c8
aacsbr: Make the previous value of bs_num_env local to read_sbr_data().
...
Originally committed as revision 22409 to svn://svn.ffmpeg.org/ffmpeg/trunk
15 years ago
Alex Converse
46751a65e3
aacsbr: Initialize e_a[1] to -1.
...
This triggers lAPrev (e_a[0]) on the first SBR frame to be -1. The spec is
somewhat ambiguous to what this value should be but this increases the accuracy
of al_sbr_e_44_1 and similar streams from 14 bits to 15 bits.
Originally committed as revision 22408 to svn://svn.ffmpeg.org/ffmpeg/trunk
15 years ago
Alex Converse
5889172087
aacsbr: Dead code removal.
...
Originally committed as revision 22387 to svn://svn.ffmpeg.org/ffmpeg/trunk
15 years ago
Alex Converse
afd96c345f
aacsbr: Remove a slightly incorrect comment.
...
The two conditions are equivalent.
Originally committed as revision 22386 to svn://svn.ffmpeg.org/ffmpeg/trunk
15 years ago
Alex Converse
7935078623
aacsbr: Cleanup the newly merged read_sbr_grid, eliminating several context
...
and some duplicate local variables.
Originally committed as revision 22384 to svn://svn.ffmpeg.org/ffmpeg/trunk
15 years ago
Alex Converse
7333f849b1
aacsbr: Move the e_a calculation from sbr_mapping() to read_sbr_grid().
...
Originally committed as revision 22383 to svn://svn.ffmpeg.org/ffmpeg/trunk
15 years ago
Alex Converse
b9c3e3b6e7
aacsbr: Merge sbr_time_freq_grid into read_sbr_grid (and into copy_sbr_grid).
...
Originally committed as revision 22382 to svn://svn.ffmpeg.org/ffmpeg/trunk
15 years ago
Alex Converse
ed1d112931
aacsbr: Fail early on illegal envelope counts.
...
Originally committed as revision 22381 to svn://svn.ffmpeg.org/ffmpeg/trunk
15 years ago
Alex Converse
8a9ee4b102
aacsbr: Check for illegal values of bs_pointer in sbr_read_grid().
...
Originally committed as revision 22380 to svn://svn.ffmpeg.org/ffmpeg/trunk
15 years ago
Alex Converse
bf3d904c3d
10l: Include missing return values in functions made non-void by the previous commit.
...
Originally committed as revision 22376 to svn://svn.ffmpeg.org/ffmpeg/trunk
15 years ago