diff --git a/libavfilter/avfilter.c b/libavfilter/avfilter.c index 33b9b05cab0a2c1b097b19673284283e20ab7ddf..894e9d33742d910fab9e807cf813c034a747a81c 100644 --- a/libavfilter/avfilter.c +++ b/libavfilter/avfilter.c @@ -73,10 +73,11 @@ void avfilter_default_end_frame(AVFilterLink *link) link->cur_pic = NULL; } -AVFilterPicRef *avfilter_ref_pic(AVFilterPicRef *ref) +AVFilterPicRef *avfilter_ref_pic(AVFilterPicRef *ref, int pmask) { AVFilterPicRef *ret = av_malloc(sizeof(AVFilterPicRef)); memcpy(ret, ref, sizeof(AVFilterPicRef)); + ret->perms &= pmask; ret->pic->refcount ++; return ret; }