Mercurial > libavcodec.hg
diff parser.c @ 9090:cecf81f93756 libavcodec
Call ff_fetch_timestamp() for mpeg1/2 when a picture start code is found instead
of calling it at the end of a frame with a large negative offset.
This significantly reduces the maximal distance in container packets between
the point where the first byte of the "access unit" was stored and where
we call ff_fetch_timestamp() thus reducing the constraints on our parser.
Also change the parser from next_frame_offset to cur, this is needed
because now the reference is from container packet start instead of
frame start. (i previously misinterpreted this as bug)
author | michael |
---|---|
date | Mon, 02 Mar 2009 14:53:18 +0000 |
parents | d4c12f2d226b |
children | 4875c1559060 |
line wrap: on
line diff
--- a/parser.c Mon Mar 02 09:22:17 2009 +0000 +++ b/parser.c Mon Mar 02 14:53:18 2009 +0000 @@ -87,7 +87,7 @@ s->dts= s->pts= AV_NOPTS_VALUE; s->offset= 0; for(i = 0; i < AV_PARSER_PTS_NB; i++) { - if ( s->next_frame_offset + off >= s->cur_frame_offset[i] + if ( s->cur_offset + off >= s->cur_frame_offset[i] &&(s-> frame_offset < s->cur_frame_offset[i] || !s->frame_offset) //check is disabled becausue mpeg-ts doesnt send complete PES packets && /*s->next_frame_offset + off <*/ s->cur_frame_end[i]){