diff options
author | Limin Wang <lance.lmwang@gmail.com> | 2020-04-28 11:49:16 +0800 |
---|---|---|
committer | Limin Wang <lance.lmwang@gmail.com> | 2020-05-10 22:32:33 +0800 |
commit | 386dbf5726368783ce4c4ae057885d873380f60c (patch) | |
tree | 41f9afcfbf049a0a62c1834234651355b73e6ce2 /libavformat/vividas.c | |
parent | b69f5a72cec0f604b8160c5d18a56036522635b8 (diff) | |
download | ffmpeg-386dbf5726368783ce4c4ae057885d873380f60c.tar.gz |
avformat/vividas: simplify, use av_rescale_q() instead
note it'll cause a small difference in accuracy for the pts, please see the testing result below:
$ wget http://samples.ffmpeg.org/archive/all/unknown+unknown+unknown+unknown+5029_paramount_en_1250.viv
$ ./ffmpeg -t 0.04 -i ./unknown+unknown+unknown+unknown+5029_paramount_en_1250.viv -f null -
old:
pts: 522
pts: 1044
pts: 1567
pts: 3918
pts: 8097
pts: 12277
pts: 16457
...
new:
pts: 522
pts: 1045
pts: 1567
pts: 3918
pts: 8098
pts: 12278
pts: 16457
...
Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
Diffstat (limited to 'libavformat/vividas.c')
-rw-r--r-- | libavformat/vividas.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/libavformat/vividas.c b/libavformat/vividas.c index 4f54a4302e..b0f9f35ac2 100644 --- a/libavformat/vividas.c +++ b/libavformat/vividas.c @@ -646,7 +646,7 @@ static int viv_read_packet(AVFormatContext *s, pkt->stream_index = 1; astream = s->streams[pkt->stream_index]; - pkt->pts = av_rescale(viv->audio_sample, astream->time_base.den, astream->time_base.num) / astream->codecpar->sample_rate; + pkt->pts = av_rescale_q(viv->audio_sample, av_make_q(1, astream->codecpar->sample_rate), astream->time_base); viv->audio_sample += viv->audio_subpackets[viv->current_audio_subpacket].pcm_bytes / 2 / astream->codecpar->channels; pkt->flags |= AV_PKT_FLAG_KEY; viv->current_audio_subpacket++; |