[SCM] libav/experimental: simplify coefficient decoding

siretart at users.alioth.debian.org siretart at users.alioth.debian.org
Sun Jun 30 16:04:39 UTC 2013


The following commit has been merged in the experimental branch:
commit d63f6fea50a0cc30da0b180c59ccd003fd214ccb
Author: Justin Ruggles <justin.ruggles at gmail.com>
Date:   Sat Aug 4 00:12:23 2007 +0000

    simplify coefficient decoding
    
    Originally committed as revision 9884 to svn://svn.ffmpeg.org/ffmpeg/trunk

diff --git a/libavcodec/ac3dec.c b/libavcodec/ac3dec.c
index fa95f6c..98e2ad0 100644
--- a/libavcodec/ac3dec.c
+++ b/libavcodec/ac3dec.c
@@ -495,13 +495,11 @@ static int get_transform_coeffs_ch(AC3DecodeContext *ctx, int ch_index, mant_gro
             case 0:
                 if (!dithflag) {
                     coeffs[i] = 0;
-                    continue;
                 }
                 else {
-                    coeffs[i] = (av_random(&ctx->dith_state) & 0xFFFF) * scale_factors[exps[i]];
-                    coeffs[i] *= LEVEL_MINUS_3DB;
-                    continue;
+                    coeffs[i] = (av_random(&ctx->dith_state) & 0xFFFF) * LEVEL_MINUS_3DB;
                 }
+                break;
 
             case 1:
                 if (m->l3ptr > 2) {
@@ -511,8 +509,8 @@ static int get_transform_coeffs_ch(AC3DecodeContext *ctx, int ch_index, mant_gro
                     m->l3_quantizers[2] = l3_quantizers_3[gcode];
                     m->l3ptr = 0;
                 }
-                coeffs[i] = m->l3_quantizers[m->l3ptr++] * scale_factors[exps[i]];
-                continue;
+                coeffs[i] = m->l3_quantizers[m->l3ptr++];
+                break;
 
             case 2:
                 if (m->l5ptr > 2) {
@@ -522,12 +520,12 @@ static int get_transform_coeffs_ch(AC3DecodeContext *ctx, int ch_index, mant_gro
                     m->l5_quantizers[2] = l5_quantizers_3[gcode];
                     m->l5ptr = 0;
                 }
-                coeffs[i] = m->l5_quantizers[m->l5ptr++] * scale_factors[exps[i]];
-                continue;
+                coeffs[i] = m->l5_quantizers[m->l5ptr++];
+                break;
 
             case 3:
-                coeffs[i] = l7_quantizers[get_bits(gb, 3)] * scale_factors[exps[i]];
-                continue;
+                coeffs[i] = l7_quantizers[get_bits(gb, 3)];
+                break;
 
             case 4:
                 if (m->l11ptr > 1) {
@@ -536,17 +534,18 @@ static int get_transform_coeffs_ch(AC3DecodeContext *ctx, int ch_index, mant_gro
                     m->l11_quantizers[1] = l11_quantizers_2[gcode];
                     m->l11ptr = 0;
                 }
-                coeffs[i] = m->l11_quantizers[m->l11ptr++] * scale_factors[exps[i]];
-                continue;
+                coeffs[i] = m->l11_quantizers[m->l11ptr++];
+                break;
 
             case 5:
-                coeffs[i] = l15_quantizers[get_bits(gb, 4)] * scale_factors[exps[i]];
-                continue;
+                coeffs[i] = l15_quantizers[get_bits(gb, 4)];
+                break;
 
             default:
-                coeffs[i] = (get_sbits(gb, qntztab[tbap]) << (16 - qntztab[tbap])) * scale_factors[exps[i]];
-                continue;
+                coeffs[i] = get_sbits(gb, qntztab[tbap]) << (16 - qntztab[tbap]);
+                break;
         }
+        coeffs[i] *= scale_factors[exps[i]];
     }
 
     return 0;

-- 
Libav/FFmpeg packaging



More information about the pkg-multimedia-commits mailing list