mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2026-02-04 14:30:55 +08:00
lavfi: move AVFilterLink.frame_rate to FilterLink
Co-developed-by: James Almer <jamrial@gmail.com>
This commit is contained in:
@@ -29,6 +29,7 @@
|
||||
|
||||
#include "avfilter.h"
|
||||
#include "drawutils.h"
|
||||
#include "filters.h"
|
||||
#include "formats.h"
|
||||
#include "internal.h"
|
||||
#include "framesync.h"
|
||||
@@ -196,7 +197,9 @@ static int config_output(AVFilterLink *outlink)
|
||||
{
|
||||
AVFilterContext *ctx = outlink->src;
|
||||
StackContext *s = ctx->priv;
|
||||
AVRational frame_rate = ctx->inputs[0]->frame_rate;
|
||||
FilterLink *il = ff_filter_link(ctx->inputs[0]);
|
||||
FilterLink *ol = ff_filter_link(outlink);
|
||||
AVRational frame_rate = il->frame_rate;
|
||||
AVRational sar = ctx->inputs[0]->sample_aspect_ratio;
|
||||
int height = ctx->inputs[0]->h;
|
||||
int width = ctx->inputs[0]->w;
|
||||
@@ -383,16 +386,16 @@ static int config_output(AVFilterLink *outlink)
|
||||
|
||||
outlink->w = width;
|
||||
outlink->h = height;
|
||||
outlink->frame_rate = frame_rate;
|
||||
ol->frame_rate = frame_rate;
|
||||
outlink->sample_aspect_ratio = sar;
|
||||
|
||||
for (i = 1; i < s->nb_inputs; i++) {
|
||||
AVFilterLink *inlink = ctx->inputs[i];
|
||||
if (outlink->frame_rate.num != inlink->frame_rate.num ||
|
||||
outlink->frame_rate.den != inlink->frame_rate.den) {
|
||||
il = ff_filter_link(ctx->inputs[i]);
|
||||
if (ol->frame_rate.num != il->frame_rate.num ||
|
||||
ol->frame_rate.den != il->frame_rate.den) {
|
||||
av_log(ctx, AV_LOG_VERBOSE,
|
||||
"Video inputs have different frame rates, output will be VFR\n");
|
||||
outlink->frame_rate = av_make_q(1, 0);
|
||||
ol->frame_rate = av_make_q(1, 0);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user