1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2024-12-23 12:43:46 +02:00
Commit Graph

82 Commits

Author SHA1 Message Date
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
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
2010-03-09 20:46:41 +00:00
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
2010-03-09 20:16:14 +00:00
Alex Converse
5889172087 aacsbr: Dead code removal.
Originally committed as revision 22387 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-09 11:14:14 +00:00
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
2010-03-09 11:13:45 +00:00
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
2010-03-09 10:27:35 +00:00
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
2010-03-09 10:26:54 +00:00
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
2010-03-09 10:26:25 +00:00
Alex Converse
ed1d112931 aacsbr: Fail early on illegal envelope counts.
Originally committed as revision 22381 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-09 10:25:42 +00:00
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
2010-03-09 09:27:11 +00:00
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
2010-03-09 06:21:41 +00:00
Alex Converse
58b1cba0c9 aacsbr: Propagate errors from read_sbr_grid to prevent crashes in malformatted streams.
Originally committed as revision 22375 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-09 06:13:48 +00:00
Georgi Chorbadzhiyski
e0be763052 Add a missing fft.h include to the aacsbr decoder.
Patch by Georgi Chorbadzhiyski gf at unixsol dot org

Originally committed as revision 22374 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-09 06:11:45 +00:00
Alex Converse
ed492b61db Add an HE-AAC v1 decoder.
A large portion of this code was orignally authored by Robert Swain. The rest
was written by me. Full history is available at:
svn://svn.ffmpeg.org/soc/aac-sbr
http://github.com/aconverse/ffmpeg-heaac/tree/sbr_pub

Originally committed as revision 22316 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-08 04:33:02 +00:00