Mercurial > mplayer.hg
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) |