Commit ff57ac76 authored by Christophe Massiot's avatar Christophe Massiot

Fix pour le bug de la chrominance qui saute.

parent eeddf916
...@@ -674,6 +674,11 @@ static __inline__ void DecodeMPEG2NonIntra( vpar_thread_t * p_vpar, ...@@ -674,6 +674,11 @@ static __inline__ void DecodeMPEG2NonIntra( vpar_thread_t * p_vpar,
: i_level; : i_level;
break; break;
case DCT_EOB: 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 ) if( i_nc <= 1 )
{ {
p_mb->pf_idct[i_b] = vdec_SparseIDCT; p_mb->pf_idct[i_b] = vdec_SparseIDCT;
...@@ -820,6 +825,7 @@ static __inline__ void DecodeMPEG2Intra( vpar_thread_t * p_vpar, ...@@ -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] << p_mb->ppi_blocks[i_b][0] = ( p_vpar->mb.pi_dc_dct_pred[i_cc] <<
( 3 - p_vpar->picture.i_intra_dc_precision ) ); ( 3 - p_vpar->picture.i_intra_dc_precision ) );
i_nc = ( p_vpar->mb.pi_dc_dct_pred[i_cc] != 0 ); i_nc = ( p_vpar->mb.pi_dc_dct_pred[i_cc] != 0 );
/* Decoding of the AC coefficients */ /* Decoding of the AC coefficients */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment