lavfi: add and use an inlink variable in avfilter_config_links()
Simplify expressions, improve readability.
This commit is contained in:
parent
71c644ceda
commit
553c5e9f23
@ -246,6 +246,8 @@ int avfilter_config_links(AVFilterContext *filter)
|
|||||||
|
|
||||||
for (i = 0; i < filter->input_count; i ++) {
|
for (i = 0; i < filter->input_count; i ++) {
|
||||||
AVFilterLink *link = filter->inputs[i];
|
AVFilterLink *link = filter->inputs[i];
|
||||||
|
AVFilterLink *inlink = link->src->input_count ?
|
||||||
|
link->src->inputs[0] : NULL;
|
||||||
|
|
||||||
if (!link) continue;
|
if (!link) continue;
|
||||||
|
|
||||||
@ -275,18 +277,17 @@ int avfilter_config_links(AVFilterContext *filter)
|
|||||||
switch (link->type) {
|
switch (link->type) {
|
||||||
case AVMEDIA_TYPE_VIDEO:
|
case AVMEDIA_TYPE_VIDEO:
|
||||||
if (!link->time_base.num && !link->time_base.den)
|
if (!link->time_base.num && !link->time_base.den)
|
||||||
link->time_base = link->src->input_count ?
|
link->time_base = inlink ? inlink->time_base : AV_TIME_BASE_Q;
|
||||||
link->src->inputs[0]->time_base : AV_TIME_BASE_Q;
|
|
||||||
|
|
||||||
if (!link->sample_aspect_ratio.num && !link->sample_aspect_ratio.den)
|
if (!link->sample_aspect_ratio.num && !link->sample_aspect_ratio.den)
|
||||||
link->sample_aspect_ratio = link->src->input_count ?
|
link->sample_aspect_ratio = inlink ?
|
||||||
link->src->inputs[0]->sample_aspect_ratio : (AVRational){1,1};
|
inlink->sample_aspect_ratio : (AVRational){1,1};
|
||||||
|
|
||||||
if (link->src->input_count) {
|
if (inlink) {
|
||||||
if (!link->w)
|
if (!link->w)
|
||||||
link->w = link->src->inputs[0]->w;
|
link->w = inlink->w;
|
||||||
if (!link->h)
|
if (!link->h)
|
||||||
link->h = link->src->inputs[0]->h;
|
link->h = inlink->h;
|
||||||
} else if (!link->w || !link->h) {
|
} else if (!link->w || !link->h) {
|
||||||
av_log(link->src, AV_LOG_ERROR,
|
av_log(link->src, AV_LOG_ERROR,
|
||||||
"Video source filters must set their output link's "
|
"Video source filters must set their output link's "
|
||||||
@ -296,11 +297,11 @@ int avfilter_config_links(AVFilterContext *filter)
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case AVMEDIA_TYPE_AUDIO:
|
case AVMEDIA_TYPE_AUDIO:
|
||||||
if (link->src->input_count) {
|
if (inlink) {
|
||||||
if (!link->sample_rate)
|
if (!link->sample_rate)
|
||||||
link->sample_rate = link->src->inputs[0]->sample_rate;
|
link->sample_rate = inlink->sample_rate;
|
||||||
if (!link->time_base.num && !link->time_base.den)
|
if (!link->time_base.num && !link->time_base.den)
|
||||||
link->time_base = link->src->inputs[0]->time_base;
|
link->time_base = inlink->time_base;
|
||||||
} else if (!link->sample_rate) {
|
} else if (!link->sample_rate) {
|
||||||
av_log(link->src, AV_LOG_ERROR,
|
av_log(link->src, AV_LOG_ERROR,
|
||||||
"Audio source filters must set their output link's "
|
"Audio source filters must set their output link's "
|
||||||
|
Loading…
x
Reference in New Issue
Block a user