diff options
author | Stefano Sabatini <stefasab@gmail.com> | 2014-01-24 20:27:33 +0400 |
---|---|---|
committer | Stefano Sabatini <stefasab@gmail.com> | 2014-01-26 21:06:39 +0400 |
commit | 9651239f67471c421ca80fde904420bb8a9f15a3 (patch) | |
tree | e94213b4d98fd4b7a61007b60a2eb2554a59db8c /ffmpeg.c | |
parent | 68c5ba1f052f4d8e4fbff0d78d3c0d6a7a8fa7f1 (diff) |
ffmpeg: use intermediary variables in reap_filters, increase readability
Diffstat (limited to 'ffmpeg.c')
-rw-r--r-- | ffmpeg.c | 23 |
1 files changed, 11 insertions, 12 deletions
@@ -1084,10 +1084,13 @@ static int reap_filters(void) for (i = 0; i < nb_output_streams; i++) { OutputStream *ost = output_streams[i]; OutputFile *of = output_files[ost->file_index]; + AVFilterContext *filter; + AVCodecContext *enc = ost->st->codec; int ret = 0; if (!ost->filter) continue; + filter = ost->filter->filter; if (!ost->filtered_frame && !(ost->filtered_frame = av_frame_alloc())) { return AVERROR(ENOMEM); @@ -1095,7 +1098,7 @@ static int reap_filters(void) filtered_frame = ost->filtered_frame; while (1) { - ret = av_buffersink_get_frame_flags(ost->filter->filter, filtered_frame, + ret = av_buffersink_get_frame_flags(filter, filtered_frame, AV_BUFFERSINK_FLAG_NO_REQUEST); if (ret < 0) { if (ret != AVERROR(EAGAIN) && ret != AVERROR_EOF) { @@ -1111,29 +1114,25 @@ static int reap_filters(void) frame_pts = AV_NOPTS_VALUE; if (filtered_frame->pts != AV_NOPTS_VALUE) { int64_t start_time = (of->start_time == AV_NOPTS_VALUE) ? 0 : of->start_time; - filtered_frame->pts = frame_pts = av_rescale_q(filtered_frame->pts, - ost->filter->filter->inputs[0]->time_base, - ost->st->codec->time_base) - - av_rescale_q(start_time, - AV_TIME_BASE_Q, - ost->st->codec->time_base); + filtered_frame->pts = frame_pts = + av_rescale_q(filtered_frame->pts, filter->inputs[0]->time_base, enc->time_base) - + av_rescale_q(start_time, AV_TIME_BASE_Q, enc->time_base); } //if (ost->source_index >= 0) // *filtered_frame= *input_streams[ost->source_index]->decoded_frame; //for me_threshold - - switch (ost->filter->filter->inputs[0]->type) { + switch (filter->inputs[0]->type) { case AVMEDIA_TYPE_VIDEO: filtered_frame->pts = frame_pts; if (!ost->frame_aspect_ratio.num) - ost->st->codec->sample_aspect_ratio = filtered_frame->sample_aspect_ratio; + enc->sample_aspect_ratio = filtered_frame->sample_aspect_ratio; do_video_out(of->ctx, ost, filtered_frame); break; case AVMEDIA_TYPE_AUDIO: filtered_frame->pts = frame_pts; - if (!(ost->st->codec->codec->capabilities & CODEC_CAP_PARAM_CHANGE) && - ost->st->codec->channels != av_frame_get_channels(filtered_frame)) { + if (!(enc->codec->capabilities & CODEC_CAP_PARAM_CHANGE) && + enc->channels != av_frame_get_channels(filtered_frame)) { av_log(NULL, AV_LOG_ERROR, "Audio filter graph output is not normalized and encoder does not support parameter changes\n"); break; |