diff --git a/libavfilter/avfilter.c b/libavfilter/avfilter.c index 33b9b05cab..894e9d3374 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; }