[xiph-commits] r17624 - trunk/theora/lib

gmaxwell at svn.xiph.org gmaxwell at svn.xiph.org
Mon Nov 8 18:43:37 PST 2010


Author: gmaxwell
Date: 2010-11-08 18:43:37 -0800 (Mon, 08 Nov 2010)
New Revision: 17624

Modified:
   trunk/theora/lib/analyze.c
Log:
Don't change the block qii flags if no ac coefficients will be coded in the selected mode. The code previously tried to do this but failed, instead it desynchronized the qii costing with the coded flags. 0.065dB SSIM improvement on 312kbit/sec foreman_cif.y4m.

Modified: trunk/theora/lib/analyze.c
===================================================================
--- trunk/theora/lib/analyze.c	2010-11-08 21:52:14 UTC (rev 17623)
+++ trunk/theora/lib/analyze.c	2010-11-09 02:43:37 UTC (rev 17624)
@@ -713,7 +713,6 @@
 #endif
     /*Try and code this block anyway.*/
     qii&=3;
-    frags[_fragi].qii=qii;
   }
   refi=frags[_fragi].refi;
   mb_mode=frags[_fragi].mb_mode;
@@ -802,6 +801,7 @@
     data[0]=dc*dequant_dc;
     oc_idct8x8(&_enc->state,data,data,nonzero+1);
   }
+  frags[_fragi].qii=qii;
   if(nqis>1){
     oc_qii_state_advance(&qs,_pipe->qs+_pli,qii);
     ac_bits+=qs.bits-_pipe->qs[_pli].bits;



More information about the commits mailing list