[SCM] libav/experimental: Simplify stereo rematrixing by only using one temporary variable. It is also about 1.8% faster on my system.

siretart at users.alioth.debian.org siretart at users.alioth.debian.org
Sun Jun 30 16:52:11 UTC 2013


The following commit has been merged in the experimental branch:
commit 2ed4439658971fd238c02102bd24906aad4caf6b
Author: Justin Ruggles <justin.ruggles at gmail.com>
Date:   Wed Sep 30 01:25:04 2009 +0000

    Simplify stereo rematrixing by only using one temporary variable. It is also
    about 1.8% faster on my system.
    
    Originally committed as revision 20090 to svn://svn.ffmpeg.org/ffmpeg/trunk

diff --git a/libavcodec/ac3dec.c b/libavcodec/ac3dec.c
index dd97d11..91b82cf 100644
--- a/libavcodec/ac3dec.c
+++ b/libavcodec/ac3dec.c
@@ -604,7 +604,6 @@ static void do_rematrixing(AC3DecodeContext *s)
 {
     int bnd, i;
     int end, bndend;
-    int tmp0, tmp1;
 
     end = FFMIN(s->end_freq[1], s->end_freq[2]);
 
@@ -613,10 +612,9 @@ static void do_rematrixing(AC3DecodeContext *s)
         if(s->rematrixing_flags[bnd]) {
             bndend = FFMIN(end, ff_ac3_rematrix_band_tab[bnd+1]);
             for(; i<bndend; i++) {
-                tmp0 = s->fixed_coeffs[1][i];
-                tmp1 = s->fixed_coeffs[2][i];
-                s->fixed_coeffs[1][i] = tmp0 + tmp1;
-                s->fixed_coeffs[2][i] = tmp0 - tmp1;
+                int tmp0 = s->fixed_coeffs[1][i];
+                s->fixed_coeffs[1][i] -= s->fixed_coeffs[2][i];
+                s->fixed_coeffs[2][i]  = tmp0 - s->fixed_coeffs[2][i];
             }
         }
     }

-- 
Libav/FFmpeg packaging



More information about the pkg-multimedia-commits mailing list