summaryrefslogtreecommitdiff
path: root/ffmpeg.c
diff options
context:
space:
mode:
authorStefano Sabatini <stefasab@gmail.com>2014-01-24 17:27:33 +0100
committerStefano Sabatini <stefasab@gmail.com>2014-01-26 18:06:39 +0100
commit9651239f67471c421ca80fde904420bb8a9f15a3 (patch)
treee94213b4d98fd4b7a61007b60a2eb2554a59db8c /ffmpeg.c
parent68c5ba1f052f4d8e4fbff0d78d3c0d6a7a8fa7f1 (diff)
ffmpeg: use intermediary variables in reap_filters, increase readability
Diffstat (limited to 'ffmpeg.c')
-rw-r--r--ffmpeg.c23
1 files changed, 11 insertions, 12 deletions
diff --git a/ffmpeg.c b/ffmpeg.c
index aacf938c56..0a59116259 100644
--- a/ffmpeg.c
+++ b/ffmpeg.c
@@ -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;