[FFmpeg-soc] [soc]AMR-WB decoder branch, master, updated.

Marcelo Póvoa marspeoplester at gmail.com
Wed Jul 28 05:35:11 CEST 2010


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "AMR-WB decoder".

The branch, master has been updated
       via  5116d7f3e4f7d3dfb7436506d9d9771e3c0cf2a4 (commit)
      from  9af5752cd7ed98e7bfbc0f6bd2d17b345f22278a (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 5116d7f3e4f7d3dfb7436506d9d9771e3c0cf2a4
Author: Marcelo Povoa <marspeoplester at gmail.com>
Date:   Wed Jul 28 00:34:59 2010 -0300

    Fix LP coefficients offset and upscale output, bringing
    the decoder output audio to a recognizable level for some
    bitrates (contains only the lower frequency band yet)

diff --git a/libavcodec/amrwbdec.c b/libavcodec/amrwbdec.c
index 3f3faf4..35f74af 100644
--- a/libavcodec/amrwbdec.c
+++ b/libavcodec/amrwbdec.c
@@ -51,7 +51,7 @@ typedef struct {
     double                      isp[4][LP_ORDER]; ///< ISP vectors from current frame
     double               isp_sub4_past[LP_ORDER]; ///< ISP vector for the 4th subframe of the previous frame
 
-    float                   lp_coef[4][LP_ORDER]; ///< Linear Prediction Coefficients from ISP vector
+    float               lp_coef[4][LP_ORDER + 1]; ///< Linear Prediction Coefficients from ISP vector
 
     uint8_t                       base_pitch_lag; ///< integer part of pitch lag for next relative subframe
     uint8_t                        pitch_lag_int; ///< integer part of pitch lag of the previous subframe
@@ -905,7 +905,7 @@ static void synthesis(AMRWBContext *ctx, float *lpc, float *excitation,
                                                 energy, AMRWB_SUBFRAME_SIZE);
     }
 
-    ff_celp_lp_synthesis_filterf(samples, lpc, excitation,
+    ff_celp_lp_synthesis_filterf(samples, lpc + 1, excitation,
                                  AMRWB_SUBFRAME_SIZE, LP_ORDER);
 }
 
@@ -985,7 +985,7 @@ static void upsample_5_4(float *out, const float *in, int o_size)
             out[i] = ff_dot_productf(in0 + int_part, upsample_fir[4 - frac_part],
                                      UPS_MEM_SIZE);
 
-        out[i] *= 2.0; // upscale output
+        out[i] *= 2.0 / 32768.0; // upscale output
     }
 }
 

-----------------------------------------------------------------------

Summary of changes:
 libavcodec/amrwbdec.c |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)


hooks/post-receive
-- 
AMR-WB decoder


More information about the FFmpeg-soc mailing list