Mercurial > mplayer.hg
changeset 9679:beebca423182
Spellchecked, slightly reworded, parts corrected.
author | diego |
---|---|
date | Mon, 24 Mar 2003 17:40:44 +0000 |
parents | 0f3fb772d8e3 |
children | b5a95a489990 |
files | DOCS/tech/vop.txt |
diffstat | 1 files changed, 40 insertions(+), 40 deletions(-) [+] |
line wrap: on
line diff
--- a/DOCS/tech/vop.txt Mon Mar 24 17:35:48 2003 +0000 +++ b/DOCS/tech/vop.txt Mon Mar 24 17:40:44 2003 +0000 @@ -1,26 +1,26 @@ Video Filters ============= -video filters are plugin-like code modules implementing the interface -defined in vf.h +Video filters are plugin-like code modules implementing the interface +defined in vf.h. -basically it means video output manipulation, ie. these plugins can +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 output layer (libvo or video encoders) +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 +The actual API is a mixture of the video decoder (vd.h) and libvo (video_out.h) APIs. -the main differences: +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 funcs has - 'fallback' version, so the plugins only override these if want -- each vf plugin has its own get_image context, and they can interchange + 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. API details: --- TO DO -- (see vf.h fpr API and vf_*.c for examples) +-- TO DO -- (see vf.h for API and vf_*.c for examples) Current plugins: ================ @@ -38,7 +38,7 @@ o (0=disable/1=enable SUB/OSD rendering) defaults (0) to disabled MPI: DR (if possible) or copy Special: mpcodecs core uses it to solve stride restrictions between filters - mencoder uses (autoload) it to render SUB/OSD + MEncoder uses (autoload) it to render SUB/OSD -vf flip Flips image upside-down (vertical mirroring) @@ -55,9 +55,9 @@ Draw a rectangle. Useful for testing crop plugin parameters. w,h (rectangle's width and height) defaults (-1) to maximum possible width while keeping the boundaries visible. - x,y (rectangle's top left corner position) defauts (-1) to upper + x,y (rectangle's top left corner position) defaults (-1) to upper left most position. - The plugin responds to the input.conf directive "change_control" + The plugin responds to the input.conf directive "change_rectangle" that takes two parameters. The first parameter can be 0 for w, 1 for h, 2 for x or 3 for y. The second parameter is the amount to change the designated rectangle boundary. @@ -71,8 +71,8 @@ -vf scale[=w:h[:c[:p]]] Software scaling (zoom) _and_ yuv<->rgb colorspace conversion w,h (new width/height after scaling) defaults to original width,height - note: if -zoom is used, and underlaying filters (including libvo) - uncapable of scaling, then it defaults to d_width/d_height ! + Note: If -zoom is used, and underlying filters (including libvo) are + incapable of scaling, then it defaults to d_width/d_height! note 2: w/h values -1 means original width/height, 0 means scaled d_width/d_height. -2/-3 means calculating w or h using the other dimension and the original (-3) or prescaled (-2) aspect ratio. @@ -81,16 +81,16 @@ 1 -> use only every 2. input line for chroma 2 -> use only every 4. input line for chroma 3 -> use only every 8. input line for chroma - p scaling parameter (depends upon the used scaling method) - for -sws 2 (bicubic) its sharpness (0 (soft) - 100 (sharp)) - for -sws 7 (gaussian) its sharpness (0 (soft) - 100 (sharp)) - for -sws 9 (lanczos) its filter length (1 - 10) + p scaling parameter (depends upon the scaling method used) + for -sws 2 (bicubic) it is sharpness (0 (soft) - 100 (sharp)) + for -sws 7 (gaussian) it is sharpness (0 (soft) - 100 (sharp)) + for -sws 9 (lanczos) it is filter length (1 - 10) MPI: TEMP, accepts stride Special: dec_video and mpcodecs core autoloads it for colorspace conv. -vf yuy2 Forced software YV12/I420 -> YUY2 conversion - (usefull for video cards/drivers with slow YV12 but fast YUY2 support) + (useful for video cards/drivers with slow YV12 but fast YUY2 support) MPI: TEMP, accepts stride -vf rgb2bgr[=swap] @@ -106,19 +106,19 @@ _restrict_ the list of supported colorspaces (query-format()) to a single, given fourcc. The 'fourcc' option defaults to 'yuy2', but may be any format name, like rgb15, bgr24, yv12 etc... - note again, it does NOT do any conversion, it just limits the _next_ - plugins format list. + Note again that it does NOT do any conversion, it just limits the format + list for the _next_ plugin. MPI: passthru -vf pp=[<filterName>[:<option>[:<option>...]][/[-]<filterName>[:<option>...]]...] - Postprocessing filter. (usefull for codecs without built-in + postprocessing filter. (useful for codecs without built-in postprocessing, like libmpeg12 or libavcodec) see `mplayer -vf pp=help` MPI: DR (if possible) or TEMP - Special: dec_video autoloads it if -pp option used but codec can't do pp. + Special: dec_video autoloads it if -pp option is used but codec can't do pp. -vf lavc[=quality:fps] - Fast software YV12->MPEG1 conversion, usefull for dxr3/dvb drivers + Fast software YV12->MPEG1 conversion, useful for DXR3/DVB drivers It uses libavcodec. Currently faster and better quality than -vf fame! Param quality: fixed qscale (1<=quality<32) or bitrate (32<=quality KBits) Param fps: force output fps (float value). If not give, or 0, it's @@ -126,7 +126,7 @@ MPI: EXPORT special -vf fame - Fast software YV12->MPEG1 conversion, usefull for dxr3/dvb drivers + Fast software YV12->MPEG1 conversion, useful for DXR3/DVB drivers It uses libfame. MPI: EXPORT special @@ -136,7 +136,7 @@ The 'aspect' parameter controls aspect ratio, it should be calculated as aspect=DVB_HEIGHT*ASPECTRATIO, default is 576*(4/3)=768 (for 16:9 TV set it to 576*(16/9)=1024) - It's only usefull together with expand+scale: + It's only useful together with expand+scale: -vf dvbscale,scale=-1:0,expand=-1:576:-1:-1:1,lavc MPI: passthru @@ -166,7 +166,7 @@ -vf eq[=brightness:contrast] software equalizer, for use with cards that don't support brightness and contrast controls in hardware. It might also be - useful with mencoder, either for fixing poorly captured movies, or + useful with MEncoder, either for fixing poorly captured movies, or for slightly reducing contrast to mask artifacts and get by with lower bitrates. Initial values in the range -100..100 may be given on the command line, and the eq filter is controllable @@ -183,11 +183,11 @@ -vf unsharp=l|cWxH:amount[:l|cWxH:amount] unsharp mask / gaussian blur. - l apply effect on luma component + l apply effect on luma components c apply effect on chroma components WxH width and height of the matrix, odd sized in both directions min = 3x3, max = 13x11 or 11x13 - usually you will use somthing between 3x3 and 7x7 + usually you will use something between 3x3 and 7x7 amount relative amount of sharpness / blur to add to the image amount < 0 = blur, amount > 0 = sharpen usually you will use something between -1.5 and 1.5 @@ -202,11 +202,11 @@ d deinterleave i interleave s swap fields (exchange even & odd lines) - The goal of this filter to add ability of processing interlaced images - pre-field without deinterlacing it. You can filter your interlaced dvd - and playback on TV without breaking the interlacing. - While deinterlacing (with the post processing filter) removes permamently - the interlacing (by smoothing averaging etc) deinterleaving splits the + The goal of this filter is to add the ability to process interlaced images + pre-field without deinterlacing them. You can filter your interlaced DVD + and play it on a TV without breaking the interlacing. + While deinterlacing (with the postprocessing filter) removes interlacing + permanently (by smoothing, averaging, etc) deinterleaving splits the frame into 2 fields (so called half pictures), so you can process (filter) them independently and then re-interleave them. MPI: TEMP, accepts stride @@ -219,7 +219,7 @@ -vf sab=radius:prefilter:colorDiff[:radius:prefilter:colorDiff] radius blur filter strength (~0.1-4.0) (slower if larger) prefilter prefilter strength (~0.1-2.0) - colorDiff how different the pixels are allowed to be to be considered (~0.1-100.0) + colorDiff how different the pixels are allowed to be considered (~0.1-100.0) -vf smartblur=radius:stregth:threshold[:radius:stregth:threshold] radius blur filter strength (~0.1-5.0) (slower if larger) @@ -227,7 +227,7 @@ threshold 0 -> filter all, (0-30) -> filter flat areas, (-30-0) -> filter edges -vf perspective=x0:y0:x1:y1:x2:y2:x3:y3:t - x0,y0,... coordinates of the topleft, topright, bottomleft, bottomright corners + x0,y0,... coordinates of the top left, top right, bottom left, bottom right corners t 0-> linear, 1->cubic resampling -vf denoise3d=[luma:chroma:time] @@ -235,7 +235,7 @@ chroma spatial chroma strength (default = 3) time temporal strength (default = 6) This filter aims to reduce image noise producing smooth images and - making stills realy still. (it should enhance compressibility) + making still images really still. (it should enhance compressibility) Can be given from 0 to 3 parameters. Parameters not given will be - infered from the given ones. (ie: providing only one of them acts as an + inferred from the given ones. (i.e. providing only one of them acts as a "scale factor")