Alex Converse
63e1278d88
aacenc: TLS: Save maximum values for each swb in a table.
...
This gives an almost 20% speedup.
Originally committed as revision 24484 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-24 17:11:51 +00:00
Alex Converse
031d5cea04
10l: Remove some commented out code that slipped in.
...
Originally committed as revision 24483 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-24 17:01:50 +00:00
Alex Converse
fe461767e6
aacenc: TLS: Try to preserve some energy in each non-zero band.
...
Reduce scalefactors in non-zero bands that underflow by twice as much as those
in bands that just fail to hit psy targets.
Originally committed as revision 24482 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-24 16:36:01 +00:00
Alex Converse
c226fc5bfb
aacenc: Prevent premature termination of the two loop search.
...
Originally committed as revision 24476 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-24 04:23:26 +00:00
Alex Converse
51ffd3a62f
aacenc: Favor log2f() and sqrtf() over log2() and sqrt().
...
Originally committed as revision 24473 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-24 02:10:59 +00:00
Alex Converse
04d72abf17
aacenc: Factorize some scalefactor utilities.
...
Originally committed as revision 24472 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-23 22:37:42 +00:00
Alex Converse
581a96976b
aacenc: Convert if () abort() to assert().
...
Originally committed as revision 24336 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-19 20:53:58 +00:00
Alex Converse
6d9f1b67e8
Cosmetics: Whitespace
...
Originally committed as revision 24333 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-19 18:37:45 +00:00
Alex Converse
a2310d1e41
10l: Add a missing const.
...
Originally committed as revision 24274 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-16 20:28:55 +00:00
Alex Converse
1676b09994
aacenc: Template quantize_and_encode_band_cost().
...
Originally committed as revision 24273 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-16 20:02:46 +00:00
Alex Converse
804d489c4a
aacenc: Fill in the estimated codebook for the final computed scalefactor in the TLS.
...
Originally committed as revision 23869 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-28 21:42:57 +00:00
Alex Converse
c91dce994d
aacenc: Remove an unnecessary division from the TLS.
...
Originally committed as revision 23368 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-28 21:29:56 +00:00
Alex Converse
911fbc452b
Cosmetics: whitespace
...
Originally committed as revision 23367 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-28 20:45:35 +00:00
Alex Converse
04d6a54e13
aacenc: Remove unnecessary variables and scopes in the TLS.
...
Originally committed as revision 23366 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-28 20:42:01 +00:00
Alex Converse
9069b7d35f
Fix declaration after statement
...
Originally committed as revision 23331 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-25 23:25:29 +00:00
Alex Converse
0ecfa7b7c7
aacenc: Split find_max_val() from find_min_book() to eliminate duplicate searches.
...
Originally committed as revision 23322 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-25 18:35:01 +00:00
Alex Converse
af2ee6fc49
Remove useless costly inf checks from the trellis scalefactor search.
...
Originally committed as revision 23319 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-25 18:32:59 +00:00
Alex Converse
acc9f51fe1
aacenc: Trellis over scalefactors using an estimated codebook rather than every codebook.
...
The minimal codebook to encode the band without clipping is used (as is done in the TLS).
Originally committed as revision 23318 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-25 18:31:55 +00:00
Alex Converse
144c5e3dd2
aacenc: Only trellis over a column of 61 scalefactors (reduced from 256).
...
This still provides plenty of dynamic range, makes every move legal, and greatly reduces the search space.
Originally committed as revision 23317 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-25 18:28:18 +00:00
Alex Converse
05e659ef83
aacenc: Factor out find_min_book so it can be used by multiple coefficient coders.
...
Originally committed as revision 23316 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-25 18:24:16 +00:00
Alex Converse
0175d7886f
fmaxf -> FFMAX to fix pre-C99 systems
...
Originally committed as revision 23138 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-14 19:38:17 +00:00
Alex Converse
759510e6af
aacenc: Add a rate only trellis for codebook selection for the TLS.
...
Originally committed as revision 23136 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-14 16:49:51 +00:00
Alex Converse
4d986b7172
aacenc: Use exact values when quantizing, not fuzzy values.
...
This requires us to code small escapes; we can't avoid it.
Originally committed as revision 23135 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-14 16:49:40 +00:00
Alex Converse
51cbabc792
aacenc: Use an estimated codebook for the TLS (two loop search).
...
Originally committed as revision 23134 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-14 16:49:30 +00:00
Alex Converse
46174079c9
10l: store the result of clipping added in r23035
...
Originally committed as revision 23037 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-06 20:38:42 +00:00
Alex Converse
32fa7725d2
Make the faac inspired quantizer search make sense for a slightly narrower definition of "make sense."
...
Originally committed as revision 23035 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-06 20:18:36 +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
508f092a78
aacenc: Merge quantize_band_cost() with quantize_and_encode_band().
...
If these two functions aren't matched results may be unexpected.
Originally committed as revision 22655 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-24 17:09:21 +00:00
Alex Converse
f5e82fec3d
aacenc: Use preprocessor constants for trellis states and stages.
...
Originally committed as revision 19948 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-21 04:32:51 +00:00
Alex Converse
9072c29e40
aacenc: Split paths in the scalefactor selection trellis into a 2-D array.
...
Originally committed as revision 19947 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-21 04:15:12 +00:00
Alex Converse
9d4f6f10ae
aacenc: Replace cbrt() with cbrtf() when the result is destined for float
...
storage.
Originally committed as revision 19946 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-21 03:53:39 +00:00
Alex Converse
0bd9aa449a
aacenc: Multiple distortion by lambda after it's summed and not each individual
...
term before.
Originally committed as revision 19945 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-21 03:50:59 +00:00
Alex Converse
06d6b962e5
Cosmetics: Reindent after r19943.
...
Originally committed as revision 19944 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-21 03:42:54 +00:00
Alex Converse
a71e9b6254
aacenc: Don't make unnecessary compares to the escape value in tight loops.
...
Originally committed as revision 19943 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-21 03:41:08 +00:00
Alex Converse
dd0e43e4bb
Re-add search_for_ms to the coefficients encoders to silence warnings
...
Originally committed as revision 19733 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-27 17:46:13 +00:00
Alex Converse
a62d6cfeff
Be sure to increment our position in the coefficient array when skipping a zero
...
band in the twoloop scalefactor search.
Originally committed as revision 19480 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-22 03:53:30 +00:00
Alex Converse
5cf20d07ad
Remove an unused field from the BandCodingPath struct.
...
Originally committed as revision 19473 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-20 21:52:03 +00:00
Alex Converse
0193992252
Actually use all the codebooks we are iterating over in the two-loop scalefactor search.
...
Originally committed as revision 19472 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-20 20:32:27 +00:00
Alex Converse
932e6a5a4c
Fix an integer overflow in the AAC encoder.
...
Originally committed as revision 19470 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-20 18:27:17 +00:00
Alex Converse
3d51be014c
Replace pow(x, 0.75) with sqrtf(x * sqrtf(x)) for a 33% speedup.
...
Originally committed as revision 19459 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-17 14:21:49 +00:00
Alex Converse
c369e83608
Dead code removal in the AAC encoder.
...
Originally committed as revision 19457 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-17 14:06:53 +00:00
Alex Converse
a5762c9b59
When calculating AAC quantized band cost, don't leave garbage in the bit count
...
for the 0 codebook.
Originally committed as revision 19444 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-16 22:20:17 +00:00
Alex Converse
988c170547
Change fminf/fmaxf to FFMIN/FFMAX to fix the build on broken operating systems.
...
Originally committed as revision 19391 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-09 17:22:59 +00:00
Alex Converse
7a4eebcdce
Turn on AAC rate control.
...
Originally committed as revision 19379 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-08 23:04:22 +00:00
Diego Biurrun
c8f47d8b79
cosmetics: Remove unnecessary {} around if/for blocks;
...
move statements after if/for to the next line.
Originally committed as revision 19378 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-08 21:36:33 +00:00
Diego Biurrun
99d61d340c
cosmetics: prettyprinting, K&R style, break overly long lines
...
Originally committed as revision 19377 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-08 21:16:06 +00:00
Alex Converse
fd257dc4c0
Cosmetics: Pretty print the AAC encoder.
...
Originally committed as revision 19376 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-08 20:36:45 +00:00
Alex Converse
78e65cd772
Merge the AAC encoder from SoC svn. It is still considered experimental.
...
Originally committed as revision 19375 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-08 20:01:31 +00:00