Commit 452860d7 authored by Anton Khirnov's avatar Anton Khirnov

Use av_packet_rescale_ts() to simplify code.

parent 874390e1
...@@ -428,13 +428,7 @@ static void do_audio_out(AVFormatContext *s, OutputStream *ost, ...@@ -428,13 +428,7 @@ static void do_audio_out(AVFormatContext *s, OutputStream *ost,
} }
if (got_packet) { if (got_packet) {
if (pkt.pts != AV_NOPTS_VALUE) av_packet_rescale_ts(&pkt, enc->time_base, ost->st->time_base);
pkt.pts = av_rescale_q(pkt.pts, enc->time_base, ost->st->time_base);
if (pkt.dts != AV_NOPTS_VALUE)
pkt.dts = av_rescale_q(pkt.dts, enc->time_base, ost->st->time_base);
if (pkt.duration > 0)
pkt.duration = av_rescale_q(pkt.duration, enc->time_base, ost->st->time_base);
write_frame(s, &pkt, ost); write_frame(s, &pkt, ost);
} }
} }
...@@ -587,11 +581,7 @@ static void do_video_out(AVFormatContext *s, ...@@ -587,11 +581,7 @@ static void do_video_out(AVFormatContext *s,
} }
if (got_packet) { if (got_packet) {
if (pkt.pts != AV_NOPTS_VALUE) av_packet_rescale_ts(&pkt, enc->time_base, ost->st->time_base);
pkt.pts = av_rescale_q(pkt.pts, enc->time_base, ost->st->time_base);
if (pkt.dts != AV_NOPTS_VALUE)
pkt.dts = av_rescale_q(pkt.dts, enc->time_base, ost->st->time_base);
write_frame(s, &pkt, ost); write_frame(s, &pkt, ost);
*frame_size = pkt.size; *frame_size = pkt.size;
...@@ -1044,12 +1034,7 @@ static void flush_encoders(void) ...@@ -1044,12 +1034,7 @@ static void flush_encoders(void)
stop_encoding = 1; stop_encoding = 1;
break; break;
} }
if (pkt.pts != AV_NOPTS_VALUE) av_packet_rescale_ts(&pkt, enc->time_base, ost->st->time_base);
pkt.pts = av_rescale_q(pkt.pts, enc->time_base, ost->st->time_base);
if (pkt.dts != AV_NOPTS_VALUE)
pkt.dts = av_rescale_q(pkt.dts, enc->time_base, ost->st->time_base);
if (pkt.duration > 0)
pkt.duration = av_rescale_q(pkt.duration, enc->time_base, ost->st->time_base);
write_frame(os, &pkt, ost); write_frame(os, &pkt, ost);
} }
......
...@@ -362,14 +362,7 @@ static void write_video_frame(AVFormatContext *oc, AVStream *st) ...@@ -362,14 +362,7 @@ static void write_video_frame(AVFormatContext *oc, AVStream *st)
ret = avcodec_encode_video2(c, &pkt, picture, &got_packet); ret = avcodec_encode_video2(c, &pkt, picture, &got_packet);
/* If size is zero, it means the image was buffered. */ /* If size is zero, it means the image was buffered. */
if (!ret && got_packet && pkt.size) { if (!ret && got_packet && pkt.size) {
if (pkt.pts != AV_NOPTS_VALUE) { av_packet_rescale_ts(&pkt, c->time_base, st->time_base);
pkt.pts = av_rescale_q(pkt.pts,
c->time_base, st->time_base);
}
if (pkt.dts != AV_NOPTS_VALUE) {
pkt.dts = av_rescale_q(pkt.dts,
c->time_base, st->time_base);
}
pkt.stream_index = st->index; pkt.stream_index = st->index;
/* Write the compressed frame to the media file. */ /* Write the compressed frame to the media file. */
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment