comparison DOCS/tech/vop.txt @ 9644:0fe056bdb135

vop -> vf change, small fixes. The Polish documentation should be checked for correctness.
author jonas
date Sat, 22 Mar 2003 12:02:27 +0000
parents efa14c62e5e6
children beebca423182
comparison
equal deleted inserted replaced
9643:f1b66e97c3d3 9644:0fe056bdb135
1 VideoOutPlugins - Video Filters 1 Video Filters
2 =============== 2 =============
3 3
4 video filters are plugin-like code modules implementing the interface 4 video filters are plugin-like code modules implementing the interface
5 defined in vf.h 5 defined in vf.h
6 6
7 basically it means video output manipulation, ie. these plugins can 7 basically it means video output manipulation, ie. these plugins can
23 -- TO DO -- (see vf.h fpr API and vf_*.c for examples) 23 -- TO DO -- (see vf.h fpr API and vf_*.c for examples)
24 24
25 Current plugins: 25 Current plugins:
26 ================ 26 ================
27 27
28 -vop crop[=w:h:x:y] 28 -vf crop[=w:h:x:y]
29 Simple cropping plugin. 29 Simple cropping plugin.
30 w,h (cropped width,height) defaults to original width,height 30 w,h (cropped width,height) defaults to original width,height
31 x,y (position of cropped subimage on the original image) defaults to center 31 x,y (position of cropped subimage on the original image) defaults to center
32 MPI: EXPORT only, using stride manipulation 32 MPI: EXPORT only, using stride manipulation
33 33
34 -vop expand[=w:h:x:y:o] 34 -vf expand[=w:h:x:y:o]
35 Expanding _and_ (optional) OSD rendering plugin. 35 Expanding _and_ (optional) OSD rendering plugin.
36 w,h (expanded width,height) defaults (-1) to original width,height 36 w,h (expanded width,height) defaults (-1) to original width,height
37 x,y (position of original image on the expanded image) defaults (-1) to center 37 x,y (position of original image on the expanded image) defaults (-1) to center
38 o (0=disable/1=enable SUB/OSD rendering) defaults (0) to disabled 38 o (0=disable/1=enable SUB/OSD rendering) defaults (0) to disabled
39 MPI: DR (if possible) or copy 39 MPI: DR (if possible) or copy
40 Special: mpcodecs core uses it to solve stride restrictions between filters 40 Special: mpcodecs core uses it to solve stride restrictions between filters
41 mencoder uses (autoload) it to render SUB/OSD 41 mencoder uses (autoload) it to render SUB/OSD
42 42
43 -vop flip 43 -vf flip
44 Flips image upside-down (vertical mirroring) 44 Flips image upside-down (vertical mirroring)
45 No parameters. 45 No parameters.
46 MPI: DR (if possible) or EXPORT, using stride manipulation 46 MPI: DR (if possible) or EXPORT, using stride manipulation
47 Special: dec_video autoloads it when flipping is required and libvo can't do 47 Special: dec_video autoloads it when flipping is required and libvo can't do
48 48
49 -vop mirror 49 -vf mirror
50 Horizontal mirroring 50 Horizontal mirroring
51 No parameters. 51 No parameters.
52 MPI: TEMP 52 MPI: TEMP
53 53
54 -vop rectangle[=w:h:x:y] 54 -vf rectangle[=w:h:x:y]
55 Draw a rectangle. Useful for testing crop plugin parameters. 55 Draw a rectangle. Useful for testing crop plugin parameters.
56 w,h (rectangle's width and height) defaults (-1) to maximum 56 w,h (rectangle's width and height) defaults (-1) to maximum
57 possible width while keeping the boundaries visible. 57 possible width while keeping the boundaries visible.
58 x,y (rectangle's top left corner position) defauts (-1) to upper 58 x,y (rectangle's top left corner position) defauts (-1) to upper
59 left most position. 59 left most position.
61 that takes two parameters. The first parameter can be 0 for w, 1 61 that takes two parameters. The first parameter can be 0 for w, 1
62 for h, 2 for x or 3 for y. The second parameter is the amount to 62 for h, 2 for x or 3 for y. The second parameter is the amount to
63 change the designated rectangle boundary. 63 change the designated rectangle boundary.
64 MPI: TEMP, accepts stride 64 MPI: TEMP, accepts stride
65 65
66 -vop rotate[=x] 66 -vf rotate[=x]
67 Rotate image +/- 90 degrees 67 Rotate image +/- 90 degrees
68 Optional 'x' parameter (0..3) controls horizontal and vertical mirroring 68 Optional 'x' parameter (0..3) controls horizontal and vertical mirroring
69 MPI: TEMP 69 MPI: TEMP
70 70
71 -vop scale[=w:h[:c[:p]]] 71 -vf scale[=w:h[:c[:p]]]
72 Software scaling (zoom) _and_ yuv<->rgb colorspace conversion 72 Software scaling (zoom) _and_ yuv<->rgb colorspace conversion
73 w,h (new width/height after scaling) defaults to original width,height 73 w,h (new width/height after scaling) defaults to original width,height
74 note: if -zoom is used, and underlaying filters (including libvo) 74 note: if -zoom is used, and underlaying filters (including libvo)
75 uncapable of scaling, then it defaults to d_width/d_height ! 75 uncapable of scaling, then it defaults to d_width/d_height !
76 note 2: w/h values -1 means original width/height, 0 means scaled 76 note 2: w/h values -1 means original width/height, 0 means scaled
86 for -sws 7 (gaussian) its sharpness (0 (soft) - 100 (sharp)) 86 for -sws 7 (gaussian) its sharpness (0 (soft) - 100 (sharp))
87 for -sws 9 (lanczos) its filter length (1 - 10) 87 for -sws 9 (lanczos) its filter length (1 - 10)
88 MPI: TEMP, accepts stride 88 MPI: TEMP, accepts stride
89 Special: dec_video and mpcodecs core autoloads it for colorspace conv. 89 Special: dec_video and mpcodecs core autoloads it for colorspace conv.
90 90
91 -vop yuy2 91 -vf yuy2
92 Forced software YV12/I420 -> YUY2 conversion 92 Forced software YV12/I420 -> YUY2 conversion
93 (usefull for video cards/drivers with slow YV12 but fast YUY2 support) 93 (usefull for video cards/drivers with slow YV12 but fast YUY2 support)
94 MPI: TEMP, accepts stride 94 MPI: TEMP, accepts stride
95 95
96 -vop rgb2bgr[=swap] 96 -vf rgb2bgr[=swap]
97 RGB 24/32 <-> BGR 24/32 colorspace conversion (default) or 97 RGB 24/32 <-> BGR 24/32 colorspace conversion (default) or
98 RGB 24/32 <-> RGB 24/32 conversion with R<->B swapping ('swap' option) 98 RGB 24/32 <-> RGB 24/32 conversion with R<->B swapping ('swap' option)
99 MPI: TEMP, accepts stride 99 MPI: TEMP, accepts stride
100 100
101 -vop palette 101 -vf palette
102 RGB/BGR 8 -> RGB/BGR 15/16/24/32 colorspace conversion using palette 102 RGB/BGR 8 -> RGB/BGR 15/16/24/32 colorspace conversion using palette
103 MPI: TEMP, accepts stride 103 MPI: TEMP, accepts stride
104 104
105 -vop format[=fourcc] 105 -vf format[=fourcc]
106 _restrict_ the list of supported colorspaces (query-format()) to a single, 106 _restrict_ the list of supported colorspaces (query-format()) to a single,
107 given fourcc. The 'fourcc' option defaults to 'yuy2', but may be any 107 given fourcc. The 'fourcc' option defaults to 'yuy2', but may be any
108 format name, like rgb15, bgr24, yv12 etc... 108 format name, like rgb15, bgr24, yv12 etc...
109 note again, it does NOT do any conversion, it just limits the _next_ 109 note again, it does NOT do any conversion, it just limits the _next_
110 plugins format list. 110 plugins format list.
111 MPI: passthru 111 MPI: passthru
112 112
113 -vop pp=[<filterName>[:<option>[:<option>...]][/[-]<filterName>[:<option>...]]...] 113 -vf pp=[<filterName>[:<option>[:<option>...]][/[-]<filterName>[:<option>...]]...]
114 Postprocessing filter. (usefull for codecs without built-in 114 Postprocessing filter. (usefull for codecs without built-in
115 postprocessing, like libmpeg12 or libavcodec) 115 postprocessing, like libmpeg12 or libavcodec)
116 see `mplayer -vop pp=help` 116 see `mplayer -vf pp=help`
117 MPI: DR (if possible) or TEMP 117 MPI: DR (if possible) or TEMP
118 Special: dec_video autoloads it if -pp option used but codec can't do pp. 118 Special: dec_video autoloads it if -pp option used but codec can't do pp.
119 119
120 -vop lavc[=quality:fps] 120 -vf lavc[=quality:fps]
121 Fast software YV12->MPEG1 conversion, usefull for dxr3/dvb drivers 121 Fast software YV12->MPEG1 conversion, usefull for dxr3/dvb drivers
122 It uses libavcodec. Currently faster and better quality than -vop fame! 122 It uses libavcodec. Currently faster and better quality than -vf fame!
123 Param quality: fixed qscale (1<=quality<32) or bitrate (32<=quality KBits) 123 Param quality: fixed qscale (1<=quality<32) or bitrate (32<=quality KBits)
124 Param fps: force output fps (float value). If not give, or 0, it's 124 Param fps: force output fps (float value). If not give, or 0, it's
125 autodetected based on height (240,480->29.97fps, others -> 25fps) 125 autodetected based on height (240,480->29.97fps, others -> 25fps)
126 MPI: EXPORT special 126 MPI: EXPORT special
127 127
128 -vop fame 128 -vf fame
129 Fast software YV12->MPEG1 conversion, usefull for dxr3/dvb drivers 129 Fast software YV12->MPEG1 conversion, usefull for dxr3/dvb drivers
130 It uses libfame. 130 It uses libfame.
131 MPI: EXPORT special 131 MPI: EXPORT special
132 132
133 -vop dvbscale[=aspect] 133 -vf dvbscale[=aspect]
134 Setup scaling to the optimal values for the DVB card. 134 Setup scaling to the optimal values for the DVB card.
135 (use HW for X-scaling, calc sw Y scaling to keep aspect) 135 (use HW for X-scaling, calc sw Y scaling to keep aspect)
136 The 'aspect' parameter controls aspect ratio, it should be calculated 136 The 'aspect' parameter controls aspect ratio, it should be calculated
137 as aspect=DVB_HEIGHT*ASPECTRATIO, default is 576*(4/3)=768 137 as aspect=DVB_HEIGHT*ASPECTRATIO, default is 576*(4/3)=768
138 (for 16:9 TV set it to 576*(16/9)=1024) 138 (for 16:9 TV set it to 576*(16/9)=1024)
139 It's only usefull together with expand+scale: 139 It's only usefull together with expand+scale:
140 -vop lavc,expand=-1:576:-1:-1:1,scale=-1:0,dvbscale 140 -vf dvbscale,scale=-1:0,expand=-1:576:-1:-1:1,lavc
141 MPI: passthru 141 MPI: passthru
142 142
143 -vop cropdetect[=limit] 143 -vf cropdetect[=limit]
144 It's a special filter, it doesn't alter the image itself, but detects 144 It's a special filter, it doesn't alter the image itself, but detects
145 (using some kind of heuristics) the black borders/bands of the image, 145 (using some kind of heuristics) the black borders/bands of the image,
146 and prints the optimal -vop crop= parameters to the stdout/console. 146 and prints the optimal -vf crop= parameters to the stdout/console.
147 It calculates the average value of pixel luminances for a line, and 147 It calculates the average value of pixel luminances for a line, and
148 depending on the result it's either black band (result<=limit) or 148 depending on the result it's either black band (result<=limit) or
149 picture (result>limit). Optional parameter 'limit' defaults to 24. 149 picture (result>limit). Optional parameter 'limit' defaults to 24.
150 MPI: EXPORT 150 MPI: EXPORT
151 151
152 -vop test[=first frame number] 152 -vf test[=first frame number]
153 generate various test patterns 153 generate various test patterns
154 MPI: TEMP, accepts stride 154 MPI: TEMP, accepts stride
155 155
156 -vop noise[=lumaNoise[u][t|a][h]:chromaNoise[u][t|a][h] 156 -vf noise[=lumaNoise[u][t|a][h]:chromaNoise[u][t|a][h]
157 add noise 157 add noise
158 0<= lumaNoise, chromaNoise <=100 158 0<= lumaNoise, chromaNoise <=100
159 u uniform noise (gaussian otherwise) 159 u uniform noise (gaussian otherwise)
160 t temporal noise (noise pattern changes between frames) 160 t temporal noise (noise pattern changes between frames)
161 a averaged temporal (smoother, but a lot slower) 161 a averaged temporal (smoother, but a lot slower)
162 h high quality (slightly better looking, slightly slower) 162 h high quality (slightly better looking, slightly slower)
163 p mix random noise with a (semi)regular pattern 163 p mix random noise with a (semi)regular pattern
164 MPI: DR (if possible) or TEMP, accepts stride 164 MPI: DR (if possible) or TEMP, accepts stride
165 165
166 -vop eq[=brightness:contrast] 166 -vf eq[=brightness:contrast]
167 software equalizer, for use with cards that don't support 167 software equalizer, for use with cards that don't support
168 brightness and contrast controls in hardware. It might also be 168 brightness and contrast controls in hardware. It might also be
169 useful with mencoder, either for fixing poorly captured movies, or 169 useful with mencoder, either for fixing poorly captured movies, or
170 for slightly reducing contrast to mask artifacts and get by with 170 for slightly reducing contrast to mask artifacts and get by with
171 lower bitrates. Initial values in the range -100..100 may be 171 lower bitrates. Initial values in the range -100..100 may be
172 given on the command line, and the eq filter is controllable 172 given on the command line, and the eq filter is controllable
173 interactively just like with normal hardware equalizer controls. 173 interactively just like with normal hardware equalizer controls.
174 174
175 -vop eq2[=gamma:contrast:brightness:saturation:r_gamma:g_gamma:b_gamma] 175 -vf eq2[=gamma:contrast:brightness:saturation:r_gamma:g_gamma:b_gamma]
176 advanced software equalizer, for use with cards that don't support 176 advanced software equalizer, for use with cards that don't support
177 brightness/contrast/saturation and channel gamma controls in hardware. 177 brightness/contrast/saturation and channel gamma controls in hardware.
178 Initial values in the range -2.0 .. 2.0 may be given on the command line, 178 Initial values in the range -2.0 .. 2.0 may be given on the command line,
179 and the eq2 filter is controllable interactively just like with normal 179 and the eq2 filter is controllable interactively just like with normal
180 hardware equalizer controls or -vop eq. Defaults: 1:1:0:1:1:1:1 180 hardware equalizer controls or -vf eq. Defaults: 1:1:0:1:1:1:1
181 This filter uses MMX only if available and all gamma == 1.0, otherwise 181 This filter uses MMX only if available and all gamma == 1.0, otherwise
182 LUT (look-up table) is being used. 182 LUT (look-up table) is being used.
183 183
184 -vop unsharp=l|cWxH:amount[:l|cWxH:amount] 184 -vf unsharp=l|cWxH:amount[:l|cWxH:amount]
185 unsharp mask / gaussian blur. 185 unsharp mask / gaussian blur.
186 l apply effect on luma component 186 l apply effect on luma component
187 c apply effect on chroma components 187 c apply effect on chroma components
188 WxH width and height of the matrix, odd sized in both directions 188 WxH width and height of the matrix, odd sized in both directions
189 min = 3x3, max = 13x11 or 11x13 189 min = 3x3, max = 13x11 or 11x13
191 amount relative amount of sharpness / blur to add to the image 191 amount relative amount of sharpness / blur to add to the image
192 amount < 0 = blur, amount > 0 = sharpen 192 amount < 0 = blur, amount > 0 = sharpen
193 usually you will use something between -1.5 and 1.5 193 usually you will use something between -1.5 and 1.5
194 MPI: DR (if possible) or TEMP, accepts stride 194 MPI: DR (if possible) or TEMP, accepts stride
195 195
196 -vop swapuv 196 -vf swapuv
197 swap U & V plane 197 swap U & V plane
198 MPI: EXPORT 198 MPI: EXPORT
199 199
200 -vop il=[d|i][s][:[d|i][s]] 200 -vf il=[d|i][s][:[d|i][s]]
201 (de)interleaves lines 201 (de)interleaves lines
202 d deinterleave 202 d deinterleave
203 i interleave 203 i interleave
204 s swap fields (exchange even & odd lines) 204 s swap fields (exchange even & odd lines)
205 The goal of this filter to add ability of processing interlaced images 205 The goal of this filter to add ability of processing interlaced images
209 the interlacing (by smoothing averaging etc) deinterleaving splits the 209 the interlacing (by smoothing averaging etc) deinterleaving splits the
210 frame into 2 fields (so called half pictures), so you can process (filter) 210 frame into 2 fields (so called half pictures), so you can process (filter)
211 them independently and then re-interleave them. 211 them independently and then re-interleave them.
212 MPI: TEMP, accepts stride 212 MPI: TEMP, accepts stride
213 213
214 -vop boxblur=radius:power[:radius:power] 214 -vf boxblur=radius:power[:radius:power]
215 radius size of the filter 215 radius size of the filter
216 power how often the filter should be applied 216 power how often the filter should be applied
217 MPI: TEMP, accepts stride 217 MPI: TEMP, accepts stride
218 218
219 -vop sab=radius:prefilter:colorDiff[:radius:prefilter:colorDiff] 219 -vf sab=radius:prefilter:colorDiff[:radius:prefilter:colorDiff]
220 radius blur filter strength (~0.1-4.0) (slower if larger) 220 radius blur filter strength (~0.1-4.0) (slower if larger)
221 prefilter prefilter strength (~0.1-2.0) 221 prefilter prefilter strength (~0.1-2.0)
222 colorDiff how different the pixels are allowed to be to be considered (~0.1-100.0) 222 colorDiff how different the pixels are allowed to be to be considered (~0.1-100.0)
223 223
224 -vop smartblur=radius:stregth:threshold[:radius:stregth:threshold] 224 -vf smartblur=radius:stregth:threshold[:radius:stregth:threshold]
225 radius blur filter strength (~0.1-5.0) (slower if larger) 225 radius blur filter strength (~0.1-5.0) (slower if larger)
226 strength (0.0-1.0) -> blur, (-1.0-0.0) -> sharpen 226 strength (0.0-1.0) -> blur, (-1.0-0.0) -> sharpen
227 threshold 0 -> filter all, (0-30) -> filter flat areas, (-30-0) -> filter edges 227 threshold 0 -> filter all, (0-30) -> filter flat areas, (-30-0) -> filter edges
228 228
229 -vop perspective=x0:y0:x1:y1:x2:y2:x3:y3:t 229 -vf perspective=x0:y0:x1:y1:x2:y2:x3:y3:t
230 x0,y0,... coordinates of the topleft, topright, bottomleft, bottomright corners 230 x0,y0,... coordinates of the topleft, topright, bottomleft, bottomright corners
231 t 0-> linear, 1->cubic resampling 231 t 0-> linear, 1->cubic resampling
232 232
233 -vop denoise3d=[luma:chroma:time] 233 -vf denoise3d=[luma:chroma:time]
234 luma spatial luma strength (default = 4) 234 luma spatial luma strength (default = 4)
235 chroma spatial chroma strength (default = 3) 235 chroma spatial chroma strength (default = 3)
236 time temporal strength (default = 6) 236 time temporal strength (default = 6)
237 This filter aims to reduce image noise producing smooth images and 237 This filter aims to reduce image noise producing smooth images and
238 making stills realy still. (it should enhance compressibility) 238 making stills realy still. (it should enhance compressibility)