Revision 0eb4ff9e libavfilter/avfilter.c

View differences:

libavfilter/avfilter.c
185 185

  
186 186
#define DPRINTF_START(ctx, func) dprintf(NULL, "%-16s: ", #func)
187 187

  
188
AVFilterPicRef *avfilter_get_video_buffer(AVFilterLink *link, int perms)
188
AVFilterPicRef *avfilter_get_video_buffer(AVFilterLink *link, int perms, int w, int h)
189 189
{
190 190
    AVFilterPicRef *ret = NULL;
191 191

  
192
    DPRINTF_START(NULL, get_video_buffer); dprintf_link(NULL, link, 0); dprintf(NULL, " perms:%d\n", perms);
192
    DPRINTF_START(NULL, get_video_buffer); dprintf_link(NULL, link, 0); dprintf(NULL, " perms:%d w:%d h:%d\n", perms, w, h);
193 193

  
194 194
    if(link_dpad(link).get_video_buffer)
195
        ret = link_dpad(link).get_video_buffer(link, perms);
195
        ret = link_dpad(link).get_video_buffer(link, perms, w, h);
196

  
197
    if(!ret && link->dst->output_count)
198
        ret = avfilter_get_video_buffer(link->dst->outputs[0], perms, w, h);
196 199

  
197 200
    if(!ret)
198
        ret = avfilter_default_get_video_buffer(link, perms);
201
        ret = avfilter_default_get_video_buffer(link, perms, w, h);
199 202

  
200 203
    DPRINTF_START(NULL, get_video_buffer); dprintf_link(NULL, link, 0); dprintf(NULL, " returning "); dprintf_picref(NULL, ret, 1);
201 204

  
......
251 254
                link_dpad(link).min_perms, link_dpad(link).rej_perms);
252 255
        */
253 256

  
254
        link->cur_pic = avfilter_default_get_video_buffer(link, dst->min_perms);
257
        link->cur_pic = avfilter_default_get_video_buffer(link, dst->min_perms, link->w, link->h);
255 258
        link->srcpic = picref;
256 259
        link->cur_pic->pts = link->srcpic->pts;
257 260
        link->cur_pic->pixel_aspect = link->srcpic->pixel_aspect;

Also available in: Unified diff