9dfbdf0
pp_sharp_modr18268 | tterribe | 2012-05-08 03:51:57 +0100 (Tue, 08 May 2012) | 8 lines
9dfbdf0
9dfbdf0
Fix pp_sharp_mod calculation.
9dfbdf0
9dfbdf0
This was broken when the dequant_tables indexing changed in commit
9dfbdf0
 r16102, but it only affected post-processing quality, so we never
9dfbdf0
 noticed.
9dfbdf0
With gcc 4.8.0, this can now trigger a segfault during decoder
9dfbdf0
 initialization.
9dfbdf0
9dfbdf0
--- a/lib/decode.c	(revision 18267)
9dfbdf0
+++ b/lib/decode.c	(revision 18268)
9dfbdf0
@@ -400,10 +400,10 @@
9dfbdf0
     int qsum;
9dfbdf0
     qsum=0;
9dfbdf0
     for(qti=0;qti<2;qti++)for(pli=0;pli<3;pli++){
9dfbdf0
-      qsum+=_dec->state.dequant_tables[qti][pli][qi][12]+
9dfbdf0
-       _dec->state.dequant_tables[qti][pli][qi][17]+
9dfbdf0
-       _dec->state.dequant_tables[qti][pli][qi][18]+
9dfbdf0
-       _dec->state.dequant_tables[qti][pli][qi][24]<<(pli==0);
9dfbdf0
+      qsum+=_dec->state.dequant_tables[qi][pli][qti][12]+
9dfbdf0
+       _dec->state.dequant_tables[qi][pli][qti][17]+
9dfbdf0
+       _dec->state.dequant_tables[qi][pli][qti][18]+
9dfbdf0
+       _dec->state.dequant_tables[qi][pli][qti][24]<<(pli==0);
9dfbdf0
     }
9dfbdf0
     _dec->pp_sharp_mod[qi]=-(qsum>>11);
9dfbdf0
   }