]> git.sesse.net Git - vlc/commitdiff
Fix pour le bug de la chrominance qui saute.
authorChristophe Massiot <massiot@videolan.org>
Fri, 28 Jan 2000 01:20:53 +0000 (01:20 +0000)
committerChristophe Massiot <massiot@videolan.org>
Fri, 28 Jan 2000 01:20:53 +0000 (01:20 +0000)
src/video_parser/vpar_blocks.c

index 26510a38db021625279ce47c4e54e44cb74a0f63..aa8427446b8709197b09e603238ffbc4b1f2da46 100644 (file)
@@ -674,6 +674,11 @@ static __inline__ void DecodeMPEG2NonIntra( vpar_thread_t * p_vpar,
                                                         : i_level;
                 break;
             case DCT_EOB:
+#ifdef HAVE_MMX
+                /* The MMX IDCT has a precision problem with non-intra
+                 * blocks. */
+                p_mb->ppi_blocks[i_b][0] += 4;
+#endif
                 if( i_nc <= 1 )
                 {
                     p_mb->pf_idct[i_b] = vdec_SparseIDCT;
@@ -820,6 +825,7 @@ static __inline__ void DecodeMPEG2Intra( vpar_thread_t * p_vpar,
 
     p_mb->ppi_blocks[i_b][0] = ( p_vpar->mb.pi_dc_dct_pred[i_cc] <<
                                ( 3 - p_vpar->picture.i_intra_dc_precision ) );
+
     i_nc = ( p_vpar->mb.pi_dc_dct_pred[i_cc] != 0 );
 
     /* Decoding of the AC coefficients */