# HG changeset patch # User diego # Date 1048639995 0 # Node ID 2e1bd9192ce21b4b603ab1a67a24ee745ab884d8 # Parent a7aeb72f6fc93ce7a53744a659d5c8450bd5b6c7 Merged video filter description from vop.txt. diff -r a7aeb72f6fc9 -r 2e1bd9192ce2 DOCS/tech/libmpcodecs.txt --- a/DOCS/tech/libmpcodecs.txt Tue Mar 25 20:23:50 2003 +0000 +++ b/DOCS/tech/libmpcodecs.txt Wed Mar 26 00:53:15 2003 +0000 @@ -111,7 +111,30 @@ filter have to implement the whole filter api. Leaf filters are now: vf_vo.c (wrapper over libvo) and ve_XXX.c (video encoders used by mencoder). + +Video Filters +============= + +Video filters are plugin-like code modules implementing the interface +defined in vf.h. + +Basically it means video output manipulation, i.e. these plugins can +modify the image and the image properties (size, colorspace etc) between +the video decoders (vd.h) and the output layer (libvo or video encoders). + +The actual API is a mixture of the video decoder (vd.h) and libvo +(video_out.h) APIs. + +main differences: +- vf plugins may be "loaded" multiple times, with different parameters + and context - it's new in MPlayer, old APIs weren't reentrant. +- vf plugins don't have to implement all functions - all functions have a + 'fallback' version, so the plugins only override these if wanted. +- Each vf plugin has its own get_image context, and they can interchange + images/buffers using these get_image/put_image calls. + + The VIDEO FILTER API: ===================== filename: vf_FILTERNAME.c @@ -348,6 +371,7 @@ specific stuff, as filters might be used multiple times & in the future even multiple streams might be possible + The AUDIO path: =============== TODO!!!