[FFmpeg-cvslog] ac3enc: simplify exponent_init() by calculating exponent_group_tab[] based

Justin Ruggles git at videolan.org
Mon May 2 03:46:01 CEST 2011


ffmpeg | branch: master | Justin Ruggles <justin.ruggles at gmail.com> | Fri Apr 15 19:51:06 2011 -0400| [6b2636bba68880450749b3d36a99d584c031342e] | committer: Justin Ruggles

ac3enc: simplify exponent_init() by calculating exponent_group_tab[] based
on exponent group sizes.

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=6b2636bba68880450749b3d36a99d584c031342e
---

 libavcodec/ac3enc.c |   12 +++++++-----
 1 files changed, 7 insertions(+), 5 deletions(-)

diff --git a/libavcodec/ac3enc.c b/libavcodec/ac3enc.c
index 55f065b..f813632 100644
--- a/libavcodec/ac3enc.c
+++ b/libavcodec/ac3enc.c
@@ -521,11 +521,13 @@ static void apply_rematrixing(AC3EncodeContext *s)
  */
 static av_cold void exponent_init(AC3EncodeContext *s)
 {
-    int i;
-    for (i = 73; i < 256; i++) {
-        exponent_group_tab[0][i] = (i - 1) /  3;
-        exponent_group_tab[1][i] = (i + 2) /  6;
-        exponent_group_tab[2][i] = (i + 8) / 12;
+    int expstr, i, grpsize;
+
+    for (expstr = EXP_D15-1; expstr <= EXP_D45-1; expstr++) {
+        grpsize = 3 << expstr;
+        for (i = 73; i < 256; i++) {
+            exponent_group_tab[expstr][i] = (i + grpsize - 4) / grpsize;
+        }
     }
     /* LFE */
     exponent_group_tab[0][7] = 2;



More information about the ffmpeg-cvslog mailing list