mirror of https://git.ffmpeg.org/ffmpeg.git
vf_mp: uninit filter chain.
Most of the code was taken from MPlayer's vf_uninit_filter_chain.
This commit is contained in:
parent
d8d1fbbd7f
commit
7f06ca6e2b
|
@ -769,6 +769,23 @@ static av_cold int init(AVFilterContext *ctx, const char *args, void *opaque)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static av_cold void uninit(AVFilterContext *ctx)
|
||||||
|
{
|
||||||
|
MPContext *m = ctx->priv;
|
||||||
|
vf_instance_t *vf = &m->vf;
|
||||||
|
|
||||||
|
while(vf){
|
||||||
|
vf_instance_t *next = vf->next;
|
||||||
|
if(vf->uninit)
|
||||||
|
vf->uninit(vf);
|
||||||
|
free_mp_image(vf->imgctx.static_images[0]);
|
||||||
|
free_mp_image(vf->imgctx.static_images[1]);
|
||||||
|
free_mp_image(vf->imgctx.temp_images[0]);
|
||||||
|
free_mp_image(vf->imgctx.export_images[0]);
|
||||||
|
vf = next;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
static int query_formats(AVFilterContext *ctx)
|
static int query_formats(AVFilterContext *ctx)
|
||||||
{
|
{
|
||||||
AVFilterFormats *avfmts=NULL;
|
AVFilterFormats *avfmts=NULL;
|
||||||
|
@ -881,6 +898,7 @@ AVFilter avfilter_vf_mp = {
|
||||||
.name = "mp",
|
.name = "mp",
|
||||||
.description = NULL_IF_CONFIG_SMALL("Apply a libmpcodecs filter to the input video."),
|
.description = NULL_IF_CONFIG_SMALL("Apply a libmpcodecs filter to the input video."),
|
||||||
.init = init,
|
.init = init,
|
||||||
|
.uninit = uninit,
|
||||||
.priv_size = sizeof(MPContext),
|
.priv_size = sizeof(MPContext),
|
||||||
.query_formats = query_formats,
|
.query_formats = query_formats,
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue