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); |
