diff mpegvideo.c @ 599:b1a191202f96 libavcodec

mpeg4 mpeg quantizer encoding
author michaelni
date Tue, 06 Aug 2002 23:51:15 +0000
parents 0c950f816d61
children 4344cc8033bd
line wrap: on
line diff
--- a/mpegvideo.c	Mon Aug 05 21:36:14 2002 +0000
+++ b/mpegvideo.c	Tue Aug 06 23:51:15 2002 +0000
@@ -390,6 +390,7 @@
     s->chroma_elim_threshold= avctx->chroma_elim_threshold;
     s->strict_std_compliance= avctx->strict_std_compliance;
     s->data_partitioning= avctx->flags & CODEC_FLAG_PART;
+    s->mpeg_quant= avctx->mpeg_quant;
 
     if (s->gop_size <= 1) {
         s->intra_only = 1;
@@ -542,12 +543,16 @@
     
     /* init default q matrix */
     for(i=0;i<64;i++) {
-        if(s->out_format == FMT_H263)
-            s->intra_matrix[i] = ff_mpeg1_default_non_intra_matrix[i];
-        else
+        if(s->codec_id==CODEC_ID_MPEG4 && s->mpeg_quant){
+            s->intra_matrix[i] = ff_mpeg4_default_intra_matrix[i];
+            s->inter_matrix[i] = ff_mpeg4_default_non_intra_matrix[i];
+        }else if(s->out_format == FMT_H263){
+            s->intra_matrix[i] =
+            s->inter_matrix[i] = ff_mpeg1_default_non_intra_matrix[i];
+        }else{ /* mpeg1 */
             s->intra_matrix[i] = ff_mpeg1_default_intra_matrix[i];
-
-        s->inter_matrix[i] = ff_mpeg1_default_non_intra_matrix[i];
+            s->inter_matrix[i] = ff_mpeg1_default_non_intra_matrix[i];
+        }
     }
 
     /* precompute matrix */