Commit c3c8af96 authored by Christophe Massiot's avatar Christophe Massiot

* vpar_blocks.c : Correction d'une erreur introduite hier soir avec

  AddBlock en chrominance 420 ;
* vpar_headers.c : R�ordonnancement des fonctions (les fonctions inline
  doivent etre en tete sinon elles ne sont pas optimis�es en inline par
  gcc) ;
parent 6a8fb63a
......@@ -52,6 +52,7 @@ typedef struct macroblock_s
f_addb_t pf_addb[12]; /* pointer to the Add function */
data_t * p_data[12]; /* pointer to the position
* in the final picture */
int i_addb_l_stride, i_addb_c_stride;
} macroblock_t;
/*****************************************************************************
......
......@@ -363,8 +363,8 @@ static __inline__ void InitMacroblock( vpar_thread_t * p_vpar,
p_mb->i_c_y = p_vpar->mb.i_c_y;
p_mb->i_chroma_nb_blocks = p_vpar->sequence.i_chroma_nb_blocks;
p_mb->i_l_stride = p_vpar->picture.i_l_stride;
p_mb->i_c_stride = p_vpar->picture.i_c_stride;
p_mb->i_addb_l_stride = p_mb->i_l_stride = p_vpar->picture.i_l_stride;
p_mb->i_addb_c_stride = p_mb->i_c_stride = p_vpar->picture.i_c_stride;
/* Update macroblock real position. */
p_vpar->mb.i_l_x += 16;
......@@ -446,10 +446,16 @@ static __inline__ void MacroblockModes( vpar_thread_t * p_vpar,
{
if( p_vpar->mb.b_dct_type = GetBits( &p_vpar->bit_stream, 1 ) )
{
p_mb->i_l_stride <<= 1;
p_mb->i_l_stride += 8;
p_mb->i_c_stride <<= 1;
p_mb->i_c_stride += 8;
/* The DCT is coded on fields. Jump one line between each
* sample. */
p_mb->i_addb_l_stride <<= 1;
p_mb->i_addb_l_stride += 8;
/* With CHROMA_420, the DCT is necessarily frame-coded. */
if( p_vpar->picture.sequence.i_chroma_format != CHROMA_420 )
{
p_mb->i_addb_c_stride <<= 1;
p_mb->i_addb_c_stride += 8;
}
}
}
}
......
This diff is collapsed.
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