# HG changeset patch # User michael # Date 1235854687 0 # Node ID d1238ea3db6f1efc52c2cda735b88fbfd940a7e6 # Parent d56b711c6c5d7d773e48a8e0067d3a1126f36bda Adjust time_base exactly when changing ticks_per_frame to 2 this is safer and for some raw h264 we managed to change the timebase twice before. diff -r d56b711c6c5d -r d1238ea3db6f h264.c --- a/h264.c Sat Feb 28 13:48:54 2009 +0000 +++ b/h264.c Sat Feb 28 20:58:07 2009 +0000 @@ -2210,8 +2210,12 @@ h->outputed_poc = INT_MIN; h->prev_poc_msb= 1<<16; reset_sei(h); - if(avctx->codec_id == CODEC_ID_H264) + if(avctx->codec_id == CODEC_ID_H264){ + if(avctx->ticks_per_frame == 1){ + s->avctx->time_base.den *=2; + } avctx->ticks_per_frame = 2; + } return 0; } @@ -3776,9 +3780,6 @@ s->avctx->time_base.den *= 2; av_reduce(&s->avctx->time_base.num, &s->avctx->time_base.den, s->avctx->time_base.num, s->avctx->time_base.den, 1<<30); - }else if(!h->sps.time_scale && !s->avctx->frame_number){ - s->avctx->time_base.den *=2; - h->sps.time_scale= s->avctx->time_base.den; } }