mirror of https://git.ffmpeg.org/ffmpeg.git
lavfi/select: fix compilation with avcodec disabled.
This commit is contained in:
parent
974ac57e83
commit
174c483e2e
|
@ -206,12 +206,14 @@ static int config_input(AVFilterLink *inlink)
|
||||||
select->var_values[VAR_SAMPLE_RATE] =
|
select->var_values[VAR_SAMPLE_RATE] =
|
||||||
inlink->type == AVMEDIA_TYPE_AUDIO ? inlink->sample_rate : NAN;
|
inlink->type == AVMEDIA_TYPE_AUDIO ? inlink->sample_rate : NAN;
|
||||||
|
|
||||||
if (CONFIG_AVCODEC && select->do_scene_detect) {
|
#if CONFIG_AVCODEC
|
||||||
|
if (select->do_scene_detect) {
|
||||||
select->avctx = avcodec_alloc_context3(NULL);
|
select->avctx = avcodec_alloc_context3(NULL);
|
||||||
if (!select->avctx)
|
if (!select->avctx)
|
||||||
return AVERROR(ENOMEM);
|
return AVERROR(ENOMEM);
|
||||||
dsputil_init(&select->c, select->avctx);
|
dsputil_init(&select->c, select->avctx);
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -283,13 +285,15 @@ static int select_frame(AVFilterContext *ctx, AVFilterBufferRef *ref)
|
||||||
!ref->video->interlaced ? INTERLACE_TYPE_P :
|
!ref->video->interlaced ? INTERLACE_TYPE_P :
|
||||||
ref->video->top_field_first ? INTERLACE_TYPE_T : INTERLACE_TYPE_B;
|
ref->video->top_field_first ? INTERLACE_TYPE_T : INTERLACE_TYPE_B;
|
||||||
select->var_values[VAR_PICT_TYPE] = ref->video->pict_type;
|
select->var_values[VAR_PICT_TYPE] = ref->video->pict_type;
|
||||||
if (CONFIG_AVCODEC && select->do_scene_detect) {
|
#if CONFIG_AVCODEC
|
||||||
|
if (select->do_scene_detect) {
|
||||||
char buf[32];
|
char buf[32];
|
||||||
select->var_values[VAR_SCENE] = get_scene_score(ctx, ref);
|
select->var_values[VAR_SCENE] = get_scene_score(ctx, ref);
|
||||||
// TODO: document metadata
|
// TODO: document metadata
|
||||||
snprintf(buf, sizeof(buf), "%f", select->var_values[VAR_SCENE]);
|
snprintf(buf, sizeof(buf), "%f", select->var_values[VAR_SCENE]);
|
||||||
av_dict_set(&ref->metadata, "lavfi.scene_score", buf, 0);
|
av_dict_set(&ref->metadata, "lavfi.scene_score", buf, 0);
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -370,6 +374,7 @@ static av_cold void uninit(AVFilterContext *ctx)
|
||||||
select->expr = NULL;
|
select->expr = NULL;
|
||||||
av_opt_free(select);
|
av_opt_free(select);
|
||||||
|
|
||||||
|
#if CONFIG_AVCODEC
|
||||||
if (select->do_scene_detect) {
|
if (select->do_scene_detect) {
|
||||||
avfilter_unref_bufferp(&select->prev_picref);
|
avfilter_unref_bufferp(&select->prev_picref);
|
||||||
if (select->avctx) {
|
if (select->avctx) {
|
||||||
|
@ -377,6 +382,7 @@ static av_cold void uninit(AVFilterContext *ctx)
|
||||||
av_freep(&select->avctx);
|
av_freep(&select->avctx);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
static int query_formats(AVFilterContext *ctx)
|
static int query_formats(AVFilterContext *ctx)
|
||||||
|
|
Loading…
Reference in New Issue