Revision 38bb5a54 libavcodec/mpeg4videoenc.c

View differences:

libavcodec/mpeg4videoenc.c
880 880
        ff_mpeg4_init_direct_mv(s);
881 881
    }else{
882 882
        s->last_time_base= s->time_base;
883
        s->time_base= s->time/s->avctx->time_base.den;
883
        s->time_base= FFUDIV(s->time, s->avctx->time_base.den);
884 884
    }
885 885
}
886 886

  
......
895 895
    if(s->reordered_input_picture[1])
896 896
        time= FFMIN(time, s->reordered_input_picture[1]->pts);
897 897
    time= time*s->avctx->time_base.num;
898
    s->last_time_base= FFUDIV(time, s->avctx->time_base.den);
898 899

  
899
    seconds= time/s->avctx->time_base.den;
900
    minutes= seconds/60; seconds %= 60;
901
    hours= minutes/60; minutes %= 60;
902
    hours%=24;
900
    seconds= FFUDIV(time, s->avctx->time_base.den);
901
    minutes= FFUDIV(seconds, 60); FFUMOD(seconds, 60);
902
    hours  = FFUDIV(minutes, 60); FFUMOD(minutes, 60);
903
    hours  = FFUMOD(hours  , 24);
903 904

  
904 905
    put_bits(&s->pb, 5, hours);
905 906
    put_bits(&s->pb, 6, minutes);
......
909 910
    put_bits(&s->pb, 1, !!(s->flags&CODEC_FLAG_CLOSED_GOP));
910 911
    put_bits(&s->pb, 1, 0); //broken link == NO
911 912

  
912
    s->last_time_base= time / s->avctx->time_base.den;
913

  
914 913
    ff_mpeg4_stuffing(&s->pb);
915 914
}
916 915

  
......
1083 1082
    put_bits(&s->pb, 16, VOP_STARTCODE);    /* vop header */
1084 1083
    put_bits(&s->pb, 2, s->pict_type - 1);  /* pict type: I = 0 , P = 1 */
1085 1084

  
1086
    assert(s->time>=0);
1087
    time_div= s->time/s->avctx->time_base.den;
1088
    time_mod= s->time%s->avctx->time_base.den;
1085
    time_div= FFUDIV(s->time, s->avctx->time_base.den);
1086
    time_mod= FFUMOD(s->time, s->avctx->time_base.den);
1089 1087
    time_incr= time_div - s->last_time_base;
1090 1088
    assert(time_incr >= 0);
1091 1089
    while(time_incr--)

Also available in: Unified diff