diff mpegvideo_enc.c @ 11494:ed6cd3544622 libavcodec

Support intra_dc_precision>8 in jpeg
author michael
date Mon, 15 Mar 2010 21:27:13 +0000
parents 495095fb615b
children 2029a714b794
line wrap: on
line diff
--- a/mpegvideo_enc.c	Mon Mar 15 16:37:02 2010 +0000
+++ b/mpegvideo_enc.c	Mon Mar 15 21:27:13 2010 +0000
@@ -2894,12 +2894,14 @@
 
     if (s->out_format == FMT_MJPEG) {
         /* for mjpeg, we do include qscale in the matrix */
-        s->intra_matrix[0] = ff_mpeg1_default_intra_matrix[0];
         for(i=1;i<64;i++){
             int j= s->dsp.idct_permutation[i];
 
             s->intra_matrix[j] = av_clip_uint8((ff_mpeg1_default_intra_matrix[i] * s->qscale) >> 3);
         }
+        s->y_dc_scale_table=
+        s->c_dc_scale_table= mpeg2_dc_scale_table[s->intra_dc_precision];
+        s->intra_matrix[0] = mpeg2_dc_scale_table[s->intra_dc_precision][8];
         ff_convert_matrix(&s->dsp, s->q_intra_matrix, s->q_intra_matrix16,
                        s->intra_matrix, s->intra_quant_bias, 8, 8, 1);
         s->qscale= 8;