[FFmpeg-soc] expand filter (alternative to pad syntax)

Michael Niedermayer michaelni at gmx.at
Mon May 12 02:51:00 CEST 2008


On Mon, May 12, 2008 at 12:59:40AM +0100, vmrsss wrote:
> On 11 May 2008, at 21:06, Michael Niedermayer wrote:
> >>> There should be no copy.
> >>> The source filter should directly draw into the larger buffer of the
> >>> destination filter.
> >>
> >> How should it be done then? Something like:
> >>
> >> static void end_frame(AVFilterLink *link)
> >> {
> >>     AVFilterLink* output = link->dst->outputs[0];
> >>
> >>     avfilter_resize_video_buffer(link->currpic, pad->w, pad->h); //  
> >> not
> >> yet existent function!
> >>
> >>     draw_borders(link->currpic);
> >>
> >>     for (i=0; i<4; i++)
> >>     link->currpic->data[i] += the quantity needed to pad top/left
> >>
> >>     avfilter_draw_slice(output, 0, pad->h);
> >>     avfilter_end_frame(output);
> >> }
> >>
> >> and avfilter_resize_video_buffer() implemented using av_realloc()?
> >
> > not possible, the buffer could be from an API like directdraw, xv, sdl
> > or even a buffer on your video card. These almost certainly do not
> > provide a function to resize. Also av_realloc() can be very slow.
> >
> > Anyway, mplayer can do it, so it can be done and actually i belived  
> > that
> > avfilter already was able to do such things but i do not know  
> > precissely
> > how ATM. So maybe that has not been completely implemented.
> 
> Looking at what mplayer does would be easy enough. It looks to me they  
> use (versions of) memcpy.

Yes as a fallback when direct rendering is not possible.

[...]
-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

Everything should be made as simple as possible, but not simpler.
-- Albert Einstein
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: Digital signature
URL: <http://lists.mplayerhq.hu/pipermail/ffmpeg-soc/attachments/20080512/74be8579/attachment.pgp>


More information about the FFmpeg-soc mailing list