Commit cf49edcd authored by Christophe Massiot's avatar Christophe Massiot

support de vout_DatePicture().

parent 6f1316be
...@@ -51,4 +51,5 @@ void vpar_SynchroTrash( struct vpar_thread_s * p_vpar, int i_coding_type, ...@@ -51,4 +51,5 @@ void vpar_SynchroTrash( struct vpar_thread_s * p_vpar, int i_coding_type,
int i_structure ); int i_structure );
void vpar_SynchroDecode( struct vpar_thread_s * p_vpar, int i_coding_type, void vpar_SynchroDecode( struct vpar_thread_s * p_vpar, int i_coding_type,
int i_structure ); int i_structure );
mtime_t vpar_SynchroEnd( struct vpar_thread_s * p_vpar ); void vpar_SynchroEnd( struct vpar_thread_s * p_vpar );
mtime_t vpar_SynchroDate( struct vpar_thread_s * p_vpar );
...@@ -181,6 +181,11 @@ static void __inline__ ReferenceUpdate( vpar_thread_t * p_vpar, ...@@ -181,6 +181,11 @@ static void __inline__ ReferenceUpdate( vpar_thread_t * p_vpar,
{ {
if( p_vpar->sequence.p_forward != NULL ) if( p_vpar->sequence.p_forward != NULL )
vout_UnlinkPicture( p_vpar->p_vout, p_vpar->sequence.p_forward ); vout_UnlinkPicture( p_vpar->p_vout, p_vpar->sequence.p_forward );
if( p_vpar->sequence.p_backward != NULL )
{
vout_DatePicture( p_vpar->p_vout, p_vpar->sequence.p_backward,
vpar_SynchroDate( p_vpar ) );
}
p_vpar->sequence.p_forward = p_vpar->sequence.p_backward; p_vpar->sequence.p_forward = p_vpar->sequence.p_backward;
p_vpar->sequence.p_backward = p_newref; p_vpar->sequence.p_backward = p_newref;
if( p_newref != NULL ) if( p_newref != NULL )
...@@ -678,9 +683,12 @@ static void PictureHeader( vpar_thread_t * p_vpar ) ...@@ -678,9 +683,12 @@ static void PictureHeader( vpar_thread_t * p_vpar )
/* Initialize values. */ /* Initialize values. */
vpar_SynchroDecode( p_vpar, p_vpar->picture.i_coding_type, i_structure ); vpar_SynchroDecode( p_vpar, p_vpar->picture.i_coding_type, i_structure );
/* kludge to be removed once vpar_SynchroEnd is called properly */ if( p_vpar->picture.i_coding_type == B_CODING_TYPE )
P_picture->date = mdate() + 700000; {
/* Put date immediately. */
vout_DatePicture( p_vpar->p_vout, P_picture,
vpar_SynchroDate( p_vpar ) );
}
P_picture->i_aspect_ratio = p_vpar->sequence.i_aspect_ratio; P_picture->i_aspect_ratio = p_vpar->sequence.i_aspect_ratio;
P_picture->i_matrix_coefficients = p_vpar->sequence.i_matrix_coefficients; P_picture->i_matrix_coefficients = p_vpar->sequence.i_matrix_coefficients;
p_vpar->picture.i_l_stride = ( p_vpar->sequence.i_width p_vpar->picture.i_l_stride = ( p_vpar->sequence.i_width
......
...@@ -177,9 +177,14 @@ void vpar_SynchroDecode( vpar_thread_t * p_vpar, int i_coding_type, ...@@ -177,9 +177,14 @@ void vpar_SynchroDecode( vpar_thread_t * p_vpar, int i_coding_type,
/***************************************************************************** /*****************************************************************************
* vpar_SynchroEnd : Called when the image is totally decoded * vpar_SynchroEnd : Called when the image is totally decoded
*****************************************************************************/ *****************************************************************************/
mtime_t vpar_SynchroEnd( vpar_thread_t * p_vpar ) void vpar_SynchroEnd( vpar_thread_t * p_vpar )
{ {
// return mdate() + 700000;
}
mtime_t vpar_SynchroDate( vpar_thread_t * p_vpar )
{
return mdate() + 700000; return mdate() + 700000;
} }
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