diff msmpeg4.c @ 347:3c5266cda02d libavcodec

fixing msmpeg4v3 dc-scale for quantizers 24-31
author michaelni
date Tue, 30 Apr 2002 01:29:29 +0000
parents ac677a84d5df
children fce0a2520551
line wrap: on
line diff
--- a/msmpeg4.c	Sat Apr 27 14:10:47 2002 +0000
+++ b/msmpeg4.c	Tue Apr 30 01:29:29 2002 +0000
@@ -411,7 +411,8 @@
 }
 
 
-/* strongly inspirated from MPEG4, but not exactly the same ! */
+#if 0
+/* identical to mpeg4 for msmpeg4v3 but not msmpeg4v2 */
 void msmpeg4_dc_scale(MpegEncContext * s)
 {
     if (s->qscale < 5 || s->msmpeg4_version==2){
@@ -420,11 +421,15 @@
     }else if (s->qscale < 9){
         s->y_dc_scale = 2 * s->qscale;
         s->c_dc_scale = (s->qscale + 13)>>1;
-    }else{
+    }else if(s->qscale < 25){
         s->y_dc_scale = s->qscale + 8;
         s->c_dc_scale = (s->qscale + 13)>>1;
+    }else{
+        s->y_dc_scale = 2 * s->qscale - 16;
+        s->c_dc_scale = s->qscale - 6;
     }
 }
+#endif
 
 /* dir = 0: left, dir = 1: top prediction */
 static int msmpeg4_pred_dc(MpegEncContext * s, int n,