Commit Graph

63 Commits

Author SHA1 Message Date
Gian-Carlo Pascutto
454959a5aa aacdec: Set the profile during decoding
Previously the profile would not be set if the bitstream needs
to be decoded to know the profile.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-11-04 08:51:26 +01:00
Diego Biurrun
12e25ed284 avcodec: av_log_missing_feature(1) ---> avpriv_request_sample() 2013-03-13 21:20:12 +01:00
Diego Biurrun
63d744e2be av_log_missing_feature() ---> avpriv_report_missing_feature() 2013-03-13 20:42:21 +01:00
Diego Biurrun
218aefce44 dsputil: Move LOCAL_ALIGNED macros to libavutil 2013-02-08 23:13:37 +01:00
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.
2013-01-22 11:55:42 -08:00
Ronald S. Bultje
55aa03b9f8 floatdsp: move vector_fmul_add from dsputil to avfloatdsp. 2013-01-22 11:55:42 -08:00
Christophe Gisquet
9a16359c38 AAC SBR: use AVFloatDSPContext's vector_fmul
Around 5% speedup on the code block using 'vector_fmul_add's.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2012-12-07 10:33:39 +01:00
Christophe Gisquet
e32bea8eb4 aac: avoid a memcpy in sbr_qmf_analysis
Swapping buffer indices allows saving one memcpy that accounts for 1% of the
runtime, according to oprofile.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2012-12-02 21:07:48 +01:00
Justin Ruggles
3d3cf6745e aacdec: use float planar sample format for output 2012-11-25 19:06:36 -05:00
Diego Biurrun
8f4c414df6 Improve wording and spelling of av_log_missing_feature messages. 2012-10-23 10:28:40 +02: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
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
2012-03-23 14:56:44 -07:00
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
2012-03-23 14:56:44 -07:00
Ronald S. Bultje
6e2821160b Revert "AAC SBR: group some writes."
This reverts commit ba36f14e5d. It
broke decoding on x86-32 on some systems.
2012-03-07 12:16:36 -08:00
Christophe Gisquet
ba36f14e5d AAC SBR: group some writes.
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2012-03-07 10:29:52 -08:00
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>
2012-03-01 11:03:00 -08:00
Mans Rullgard
8996ed2b73 aacsbr: align some arrays
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-01-28 14:56:18 +00:00
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>
2012-01-28 14:56:18 +00:00
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>
2012-01-10 13:13:34 -08:00
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.
2011-05-18 17:27:06 -04:00
Michael Niedermayer
30fe971934 aac: add headers needed for log2f()
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-04-26 08:33:21 +02:00
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>
2011-03-19 19:49:18 +00: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
Alex Converse
916dee9f45 aac: remove dead SBR input scaling
It has been unused since 9d06d7bce3

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-02-14 09:46:29 +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
afa4248e4e aacsbr: Eliminate double precision arithmetic.
Originally committed as revision 24227 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-13 00:49:30 +00:00
Alex Converse
fd6eb4a06c Move Parametric Stereo related ps* files to aacps*.
Originally committed as revision 23720 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-22 19:29:03 +00:00
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
2010-06-20 23:03:32 +00:00
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
2010-06-20 19:24:18 +00:00
Alex Converse
a20639017b Add HE-AAC v2 support to the AAC decoder.
Originally committed as revision 23647 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-19 14:14:51 +00:00
Alex Converse
bc330b5f15 Cosmetics: Fold constants and re-indent after last commit.
Originally committed as revision 23520 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-08 02:02:16 +00:00
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
2010-06-08 01:57:06 +00:00
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
2010-06-07 22:55:58 +00:00
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
2010-06-07 21:52:08 +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
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
2010-05-03 19:21:35 +00:00
Alex Converse
2d23fecd5d Enforce time border monotonicity.
Thanks to Chromium.

Originally committed as revision 23000 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-30 23:32:42 +00:00
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
2010-04-30 23:08:44 +00:00
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
2010-04-30 22:42:52 +00:00
Alex Converse
d0dedce71d Reindent
Originally committed as revision 22996 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-30 21:43:29 +00:00
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
2010-04-30 21:43:23 +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
ba659bedb8 Reindent read_sbr_extension.
Originally committed as revision 22820 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-08 06:27:39 +00:00
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
2010-04-08 06:27:35 +00:00
Alex Converse
b3e5931d18 aacsbr: DSPUtilize analysis input scaling.
Originally committed as revision 22516 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-13 21:12:45 +00:00
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
2010-03-13 21:12:10 +00:00
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
2010-03-09 21:50:10 +00:00
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
2010-03-09 21:46:46 +00:00
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
2010-03-09 21:35:55 +00:00
Alex Converse
ac8d655a79 aacsbr: read bs_rel_bord directly into t_env.
Originally committed as revision 22410 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-09 21:29:43 +00:00