Mercurial > libavcodec.hg
changeset 4346:855350bd0daf libavcodec
some interlaced direct sanity checks
author | michael |
---|---|
date | Sat, 13 Jan 2007 02:45:05 +0000 |
parents | 88967250d718 |
children | a188a94e1b61 |
files | h263.c mpegvideo.c |
diffstat | 2 files changed, 5 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/h263.c Sat Jan 13 01:00:37 2007 +0000 +++ b/h263.c Sat Jan 13 02:45:05 2007 +0000 @@ -5928,6 +5928,10 @@ - ROUNDED_DIV(s->last_non_b_time - s->pp_time, s->t_frame))*2; s->pb_field_time= ( ROUNDED_DIV(s->time, s->t_frame) - ROUNDED_DIV(s->last_non_b_time - s->pp_time, s->t_frame))*2; + if(!s->progressive_sequence){ + if(s->pp_field_time <= s->pb_field_time || s->pb_field_time <= 1) + return FRAME_SKIPPED; + } } //av_log(s->avctx, AV_LOG_DEBUG, "last nonb %"PRId64" last_base %d time %"PRId64" pp %d pb %d t %d ppf %d pbf %d\n", s->last_non_b_time, s->last_time_base, s->time, s->pp_time, s->pb_time, s->t_frame, s->pp_field_time, s->pb_field_time);