mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-02-04 06:08:26 +02:00
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>
This commit is contained in:
parent
b69f5a72ce
commit
386dbf5726
@ -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++;
|
||||
|
Loading…
x
Reference in New Issue
Block a user