Mercurial > libavformat.hg
comparison utils.c @ 4568:9b00d2a02fa1 libavformat
Change duration computation to use time_base instead of TB/2.
Patch by Ivan Schreter, schreter gmx net
author | cehoyos |
---|---|
date | Tue, 24 Feb 2009 20:17:02 +0000 |
parents | 9678d2a61b55 |
children | 0000335f1eba |
comparison
equal
deleted
inserted
replaced
4567:963e3b76c7a6 | 4568:9b00d2a02fa1 |
---|---|
678 *pden = st->time_base.den; | 678 *pden = st->time_base.den; |
679 }else if(st->codec->time_base.num*1000LL > st->codec->time_base.den){ | 679 }else if(st->codec->time_base.num*1000LL > st->codec->time_base.den){ |
680 *pnum = st->codec->time_base.num; | 680 *pnum = st->codec->time_base.num; |
681 *pden = st->codec->time_base.den; | 681 *pden = st->codec->time_base.den; |
682 if (pc && pc->repeat_pict) { | 682 if (pc && pc->repeat_pict) { |
683 // NOTE: repeat_pict can be also -1 for half-frame durations, | 683 *pnum = (*pnum) * (1 + pc->repeat_pict); |
684 // e.g., in H.264 interlaced field picture stream | |
685 *pden *= 2; | |
686 *pnum = (*pnum) * (2 + pc->repeat_pict); | |
687 } | 684 } |
688 } | 685 } |
689 break; | 686 break; |
690 case CODEC_TYPE_AUDIO: | 687 case CODEC_TYPE_AUDIO: |
691 frame_size = get_audio_frame_size(st->codec, pkt->size); | 688 frame_size = get_audio_frame_size(st->codec, pkt->size); |