Commit 137f7a63 authored by Michael Niedermayer's avatar Michael Niedermayer

Merge commit '557d4c4e'

* commit '557d4c4e':
  avconv: replace AVCodecContext.time_base with framerate

Conflicts:
	ffmpeg.c
Merged-by: 's avatarMichael Niedermayer <michaelni@gmx.at>
parents a92192d2 557d4c4e
...@@ -2124,11 +2124,11 @@ static int process_input_packet(InputStream *ist, const AVPacket *pkt) ...@@ -2124,11 +2124,11 @@ static int process_input_packet(InputStream *ist, const AVPacket *pkt)
ret = decode_video (ist, &avpkt, &got_output); ret = decode_video (ist, &avpkt, &got_output);
if (avpkt.duration) { if (avpkt.duration) {
duration = av_rescale_q(avpkt.duration, ist->st->time_base, AV_TIME_BASE_Q); duration = av_rescale_q(avpkt.duration, ist->st->time_base, AV_TIME_BASE_Q);
} else if(ist->dec_ctx->time_base.num != 0 && ist->dec_ctx->time_base.den != 0) { } else if(ist->dec_ctx->framerate.num != 0 && ist->dec_ctx->framerate.den != 0) {
int ticks= av_stream_get_parser(ist->st) ? av_stream_get_parser(ist->st)->repeat_pict+1 : ist->dec_ctx->ticks_per_frame; int ticks= av_stream_get_parser(ist->st) ? av_stream_get_parser(ist->st)->repeat_pict+1 : ist->dec_ctx->ticks_per_frame;
duration = ((int64_t)AV_TIME_BASE * duration = ((int64_t)AV_TIME_BASE *
ist->dec_ctx->time_base.num * ticks) / ist->dec_ctx->framerate.den * ticks) /
ist->dec_ctx->time_base.den; ist->dec_ctx->framerate.num / ist->dec_ctx->ticks_per_frame;
} else } else
duration = 0; duration = 0;
...@@ -2183,11 +2183,11 @@ static int process_input_packet(InputStream *ist, const AVPacket *pkt) ...@@ -2183,11 +2183,11 @@ static int process_input_packet(InputStream *ist, const AVPacket *pkt)
ist->next_dts = av_rescale_q(next_dts + 1, av_inv_q(ist->framerate), time_base_q); ist->next_dts = av_rescale_q(next_dts + 1, av_inv_q(ist->framerate), time_base_q);
} else if (pkt->duration) { } else if (pkt->duration) {
ist->next_dts += av_rescale_q(pkt->duration, ist->st->time_base, AV_TIME_BASE_Q); ist->next_dts += av_rescale_q(pkt->duration, ist->st->time_base, AV_TIME_BASE_Q);
} else if(ist->dec_ctx->time_base.num != 0) { } else if(ist->dec_ctx->framerate.num != 0) {
int ticks= av_stream_get_parser(ist->st) ? av_stream_get_parser(ist->st)->repeat_pict + 1 : ist->dec_ctx->ticks_per_frame; int ticks= av_stream_get_parser(ist->st) ? av_stream_get_parser(ist->st)->repeat_pict + 1 : ist->dec_ctx->ticks_per_frame;
ist->next_dts += ((int64_t)AV_TIME_BASE * ist->next_dts += ((int64_t)AV_TIME_BASE *
ist->dec_ctx->time_base.num * ticks) / ist->dec_ctx->framerate.den * ticks) /
ist->dec_ctx->time_base.den; ist->dec_ctx->framerate.num / ist->dec_ctx->ticks_per_frame;
} }
break; break;
} }
......
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