avfilter: check that filter_frame and slice variants are not both used

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
Michael Niedermayer 2012-11-28 14:46:46 +01:00
parent cd7febd33f
commit f6dd145533

View File

@ -409,6 +409,8 @@ AVFilter *avfilter_get_by_name(const char *name)
int avfilter_register(AVFilter *filter)
{
int i;
if (next_registered_avfilter_idx == MAX_REGISTERED_AVFILTERS_NB) {
av_log(NULL, AV_LOG_ERROR,
"Maximum number of registered filters %d reached, "
@ -417,6 +419,12 @@ int avfilter_register(AVFilter *filter)
return AVERROR(ENOMEM);
}
for(i=0; filter->inputs && filter->inputs[i].name; i++) {
const AVFilterPad *input = &filter->inputs[i];
av_assert0( !input->filter_frame
|| (!input->start_frame && !input->end_frame && !input->draw_slice));
}
registered_avfilters[next_registered_avfilter_idx++] = filter;
return 0;
}