/* Misc init */
packetizer_Init( &p_sys->packetizer,
p_mp2v_startcode, sizeof(p_mp2v_startcode),
- NULL, 0,
+ NULL, 0, 4,
PacketizeReset, PacketizeParse, PacketizeValidate, p_dec );
p_sys->p_seq = NULL;
decoder_t *p_dec = p_private;
/* Check if we have a picture start code */
- *pb_ts_used = p_block->i_buffer >= 4 && p_block->p_buffer[3] == 0x00;
+ *pb_ts_used = p_block->p_buffer[3] == 0x00;
return ParseMPEGBlock( p_dec, p_block );
}
if( p_sys->p_seq &&
p_sys->i_seq_old > p_sys->i_frame_rate/p_sys->i_frame_rate_base )
{
- /* Usefull for mpeg1: repeat sequence header every second */
+ /* Useful for mpeg1: repeat sequence header every second */
block_ChainLastAppend( &p_sys->pp_last, block_Duplicate( p_sys->p_seq ) );
if( p_sys->p_ext )
{
}
else if( p_frag->p_buffer[3] == 0xb2 && p_frag->i_buffer > 4 )
{
- cc_Extract( &p_sys->cc, &p_frag->p_buffer[4], p_frag->i_buffer - 4 );
+ cc_Extract( &p_sys->cc, p_sys->i_top_field_first,
+ &p_frag->p_buffer[4], p_frag->i_buffer - 4 );
}
else if( p_frag->p_buffer[3] == 0x00 )
{