aacpsy: Add energy spread for each band
authorRostislav Pehlivanov <atomnuker@gmail.com>
Fri, 26 Jun 2015 20:16:35 +0000 (21:16 +0100)
committerMichael Niedermayer <michaelni@gmx.at>
Sun, 28 Jun 2015 12:24:30 +0000 (14:24 +0200)
This commit adds the energy spread to the struct for each band and removes 2 unused fields.
distortion and perceptual_weight were not referenced in any file nor were they set to any value,
so it was safe to remove them. The energy spread is currently only used in the aac psy model.
It's defined as being proportional to the tonality of each band.

Reviewed-by: Claudio Freire <klaussfreire@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
libavcodec/aacpsy.c
libavcodec/psymodel.h

index 3a66159..78232d4 100644 (file)
@@ -787,6 +787,7 @@ static void psy_3gpp_analyze_channel(FFPsyContext *ctx, int channel,
 
             psy_band->threshold = band->thr;
             psy_band->energy    = band->energy;
+            psy_band->spread    = spread_en[w+g];
         }
     }
 
index 75261ba..2e3ab91 100644 (file)
@@ -38,8 +38,7 @@ typedef struct FFPsyBand {
     int   bits;
     float energy;
     float threshold;
-    float distortion;
-    float perceptual_weight;
+    float spread;    /* Energy spread over the band */
 } FFPsyBand;
 
 /**