Author: kmalaussene
Date: Tue Jan 27 06:34:33 2009
New Revision: 4012

Log:
Fix decoding of pitch lag frac to match reference implementation.
Some of its value were widely out of bound.

Modified:
   amr/amrnbfloatdec.c

Modified: amr/amrnbfloatdec.c
==============================================================================
--- amr/amrnbfloatdec.c Mon Jan 26 22:44:11 2009        (r4011)
+++ amr/amrnbfloatdec.c Tue Jan 27 06:34:33 2009        (r4012)
@@ -501,8 +501,9 @@ static void decode_pitch_lag_3(AMRContex
                 p->pitch_lag_frac = 0;
             }else if(pitch_index < 12) {
                 // 1/3 fractional precision for [t1_temp-1 2/3, t1_temp+2/3]
-                p->pitch_lag_int = ( ((pitch_index - 5)*10923)>>15 ) + t1_temp 
- 1;
+                p->pitch_lag_int = ( ((pitch_index - 5)*10923)>>15 ) - 1;
                 p->pitch_lag_frac = pitch_index - p->pitch_lag_int*3 - 9;
+                p->pitch_lag_int += t1_temp;
             }else {
                 // integer only precision for [t1_temp+1, t1_temp+4]
                 p->pitch_lag_int = pitch_index + t1_temp - 11;
_______________________________________________
FFmpeg-soc mailing list
[email protected]
https://lists.mplayerhq.hu/mailman/listinfo/ffmpeg-soc

Reply via email to