28 #if FF_API_AVFILTERBUFFER
30 void ff_avfilter_default_free_buffer(AVFilterBuffer *ptr)
32 if (ptr->extended_data != ptr->data)
38 AVFilterBufferRef *avfilter_ref_buffer(AVFilterBufferRef *ref,
int pmask)
40 AVFilterBufferRef *ret =
av_malloc(
sizeof(AVFilterBufferRef));
45 ret->video =
av_malloc(
sizeof(AVFilterBufferRefVideoProps));
50 *ret->video = *ref->video;
51 ret->extended_data = ret->data;
53 ret->audio =
av_malloc(
sizeof(AVFilterBufferRefAudioProps));
58 *ret->audio = *ref->audio;
60 if (ref->extended_data != ref->data) {
62 if (!(ret->extended_data =
av_malloc(
sizeof(*ret->extended_data) *
68 memcpy(ret->extended_data, ref->extended_data,
69 sizeof(*ret->extended_data) * nb_channels);
71 ret->extended_data = ret->data;
74 ret->buf->refcount ++;
78 void avfilter_unref_buffer(AVFilterBufferRef *ref)
82 if (!(--ref->buf->refcount))
83 ref->buf->free(ref->buf);
84 if (ref->extended_data != ref->data)
91 void avfilter_unref_bufferp(AVFilterBufferRef **ref)
94 avfilter_unref_buffer(*ref);
99 int avfilter_copy_frame_props(AVFilterBufferRef *dst,
const AVFrame *src)
102 dst->format = src->
format;
106 dst->video->w = src->
width;
107 dst->video->h = src->
height;
125 int avfilter_copy_buf_props(
AVFrame *dst,
const AVFilterBufferRef *src)
129 memcpy(dst->
data, src->data,
sizeof(dst->
data));
133 dst->
format = src->format;
137 dst->
width = src->video->w;
138 dst->
height = src->video->h;
169 void avfilter_copy_buffer_ref_props(AVFilterBufferRef *dst, AVFilterBufferRef *src)