CVS: main/DOCS/tech TODO,1.77,1.78 encoding-tips.txt,1.2,1.3 general.txt,1.25,1.26 libmpcodecs.txt,1.7,1.8 swscaler_filters.txt,1.1,1.2 vop.txt,1.28,1.29 wishlist,1.1,1.2
Update of /cvsroot/mplayer/main/DOCS/tech In directory mail:/var/tmp.root/cvs-serv15126/tech Modified Files: TODO encoding-tips.txt general.txt libmpcodecs.txt swscaler_filters.txt vop.txt wishlist Log Message: vop -> vf change, small fixes. The Polish documentation should be checked for correctness. Index: TODO =================================================================== RCS file: /cvsroot/mplayer/main/DOCS/tech/TODO,v retrieving revision 1.77 retrieving revision 1.78 diff -u -r1.77 -r1.78 --- TODO 20 Mar 2003 03:24:33 -0000 1.77 +++ TODO 22 Mar 2003 12:02:25 -0000 1.78 @@ -37,7 +37,7 @@ FOR THE NEXT RELEASE: ~~~~~~~~~~~~~~~~~~~~~~ -- fix vo_svga vs. -vop scale +- fix vo_svga vs. -vf scale - Re: [Mplayer-cvslog] CVS: main/libvo vo_vesa.c,1.82,1.83 This patch makes mplayer unusable in console mode, always leaves the console in graphic mode. @@ -48,7 +48,7 @@ - fix partial -dr + ffmpeg + B frames (different stride per frame) - implementing 8bpp support in vo_x11.c - remove SVQ1 from libmpcodecs -- remove -vop yuy2, yvu9 +- remove -vf yuy2, yvu9 - cleanup qtaudio/qtvideo (move globals to context) - cleanup DMO interfaces - re-design makefile dependency system Index: encoding-tips.txt =================================================================== RCS file: /cvsroot/mplayer/main/DOCS/tech/encoding-tips.txt,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- encoding-tips.txt 19 Jan 2003 01:24:56 -0000 1.2 +++ encoding-tips.txt 22 Mar 2003 12:02:25 -0000 1.3 @@ -55,7 +55,7 @@ mencoder -dvd 1 -o /dev/null -oac copy -ovc lavc \ -lavcopts vcodec=mpeg4:vbitrate=1000:vhq:vqmin=2:\ vlelim=-4:vcelim=9:lumi_mask=0.05:dark_mask=0.01:vpass=1 \ - -vop scale=640:480,crop=716:572:2:2 + -vf crop=716:572:2:2,scale=640:480 Phew, all those parameters! Which ones should I change? NEVER leave out 'vhq'. Never ever. 'vqmin=2' is always good if you aim for sane @@ -77,7 +77,7 @@ I've attached a small Perl script that calculates the $bpp for a movie. You'll have to give it four parameters: -a) the cropped but unscaled resolution (use '-vop cropdetect'), +a) the cropped but unscaled resolution (use '-vf cropdetect'), b) the encoded aspect ratio. All DVDs come at 720x576 but contain a flag that tells the player wether it should display the DVD at an aspect ratio of 4/3 (1.333) or at 16/9 (1.777). Have a look @@ -415,7 +415,7 @@
First pass: mencoder TITLE01-ANGLE1.VOB -oac copy -ovc lavc -lavcopts vcodec=mpeg4:vhq:vpass=1:vbitrate=800:keyint=48 -ofps 23.976 -npp lb -> -ss 2:00 -endpos 0:30 -vop scale -zoom -xy 640 -o movie.avi +> -ss 2:00 -endpos 0:30 -vf scale -zoom -xy 640 -o movie.avi
1) keyint=48 is way too low. The default value is 250, this is in *frames* not seconds. Key frames are significantly larger than P or B frames, so the Index: general.txt =================================================================== RCS file: /cvsroot/mplayer/main/DOCS/tech/general.txt,v retrieving revision 1.25 retrieving revision 1.26 diff -u -r1.25 -r1.26 --- general.txt 15 Sep 2002 01:40:59 -0000 1.25 +++ general.txt 22 Mar 2003 12:02:25 -0000 1.26 @@ -209,7 +209,7 @@ ad_*.c - audio decoder (called through dec_audio.c) vd_*.c - video decoder (called through dec_video.c) ve_*.c - video encoder (used by mencoder) - vf_*.c - video filter (see option -vop) + vf_*.c - video filter (see option -vf) On this topic, see also: libmpcodecs.txt - The structure of the codec-filter path, with explanation Index: libmpcodecs.txt =================================================================== RCS file: /cvsroot/mplayer/main/DOCS/tech/libmpcodecs.txt,v retrieving revision 1.7 retrieving revision 1.8 diff -u -r1.7 -r1.8 --- libmpcodecs.txt 11 Feb 2003 19:57:38 -0000 1.7 +++ libmpcodecs.txt 22 Mar 2003 12:02:25 -0000 1.8 @@ -214,7 +214,7 @@ d_width/d_height (display size) to preserve the correct aspect ratio! Filters should not rely on d_width, d_height as input parameters, the only exception is when a filter replaces some libvo functionality - (like -vop scale with -zoom, or OSD rendering wiht -vop expand). + (like -vf scale with -zoom, or OSD rendering wiht -vf expand). flags: the "good" old flags set of libvo: 0x01 - force fullscreen (-fs) 0x02 - allow mode switching (-vm) Index: swscaler_filters.txt =================================================================== RCS file: /cvsroot/mplayer/main/DOCS/tech/swscaler_filters.txt,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- swscaler_filters.txt 9 Jun 2002 02:23:06 -0000 1.1 +++ swscaler_filters.txt 22 Mar 2003 12:02:25 -0000 1.2 @@ -14,6 +14,6 @@ -ssf ls=<float> -> luminance sharpen simple sharpening filter -note: these will only work if the swscaler is used at all (use -vop scale) +note: these will only work if the swscaler is used at all (use -vf scale) -example: mplayer foobar.avi -vop scale -ssf lgb=3.0 +example: mplayer foobar.avi -vf scale -ssf lgb=3.0 Index: vop.txt =================================================================== RCS file: /cvsroot/mplayer/main/DOCS/tech/vop.txt,v retrieving revision 1.28 retrieving revision 1.29 diff -u -r1.28 -r1.29 --- vop.txt 2 Feb 2003 02:14:42 -0000 1.28 +++ vop.txt 22 Mar 2003 12:02:25 -0000 1.29 @@ -1,5 +1,5 @@ -VideoOutPlugins - Video Filters -=============== +Video Filters +============= video filters are plugin-like code modules implementing the interface defined in vf.h @@ -25,13 +25,13 @@ Current plugins: ================ --vop crop[=w:h:x:y] +-vf crop[=w:h:x:y] Simple cropping plugin. w,h (cropped width,height) defaults to original width,height x,y (position of cropped subimage on the original image) defaults to center MPI: EXPORT only, using stride manipulation --vop expand[=w:h:x:y:o] +-vf expand[=w:h:x:y:o] Expanding _and_ (optional) OSD rendering plugin. w,h (expanded width,height) defaults (-1) to original width,height x,y (position of original image on the expanded image) defaults (-1) to center @@ -40,18 +40,18 @@ Special: mpcodecs core uses it to solve stride restrictions between filters mencoder uses (autoload) it to render SUB/OSD --vop flip +-vf flip Flips image upside-down (vertical mirroring) No parameters. MPI: DR (if possible) or EXPORT, using stride manipulation Special: dec_video autoloads it when flipping is required and libvo can't do --vop mirror +-vf mirror Horizontal mirroring No parameters. MPI: TEMP --vop rectangle[=w:h:x:y] +-vf rectangle[=w:h:x:y] 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. @@ -63,12 +63,12 @@ change the designated rectangle boundary. MPI: TEMP, accepts stride --vop rotate[=x] +-vf rotate[=x] Rotate image +/- 90 degrees Optional 'x' parameter (0..3) controls horizontal and vertical mirroring MPI: TEMP --vop scale[=w:h[:c[:p]]] +-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) @@ -88,21 +88,21 @@ MPI: TEMP, accepts stride Special: dec_video and mpcodecs core autoloads it for colorspace conv. --vop yuy2 +-vf yuy2 Forced software YV12/I420 -> YUY2 conversion (usefull for video cards/drivers with slow YV12 but fast YUY2 support) MPI: TEMP, accepts stride --vop rgb2bgr[=swap] +-vf rgb2bgr[=swap] RGB 24/32 <-> BGR 24/32 colorspace conversion (default) or RGB 24/32 <-> RGB 24/32 conversion with R<->B swapping ('swap' option) MPI: TEMP, accepts stride --vop palette +-vf palette RGB/BGR 8 -> RGB/BGR 15/16/24/32 colorspace conversion using palette MPI: TEMP, accepts stride --vop format[=fourcc] +-vf format[=fourcc] _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... @@ -110,50 +110,50 @@ plugins format list. MPI: passthru --vop pp=[<filterName>[:<option>[:<option>...]][/[-]<filterName>[:<option>...]]...] +-vf pp=[<filterName>[:<option>[:<option>...]][/[-]<filterName>[:<option>...]]...] Postprocessing filter. (usefull for codecs without built-in postprocessing, like libmpeg12 or libavcodec) - see `mplayer -vop pp=help` + 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. --vop lavc[=quality:fps] +-vf lavc[=quality:fps] Fast software YV12->MPEG1 conversion, usefull for dxr3/dvb drivers - It uses libavcodec. Currently faster and better quality than -vop fame! + 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 autodetected based on height (240,480->29.97fps, others -> 25fps) MPI: EXPORT special --vop fame +-vf fame Fast software YV12->MPEG1 conversion, usefull for dxr3/dvb drivers It uses libfame. MPI: EXPORT special --vop dvbscale[=aspect] +-vf dvbscale[=aspect] Setup scaling to the optimal values for the DVB card. (use HW for X-scaling, calc sw Y scaling to keep aspect) 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: - -vop lavc,expand=-1:576:-1:-1:1,scale=-1:0,dvbscale + -vf dvbscale,scale=-1:0,expand=-1:576:-1:-1:1,lavc MPI: passthru --vop cropdetect[=limit] +-vf cropdetect[=limit] It's a special filter, it doesn't alter the image itself, but detects (using some kind of heuristics) the black borders/bands of the image, - and prints the optimal -vop crop= parameters to the stdout/console. + and prints the optimal -vf crop= parameters to the stdout/console. It calculates the average value of pixel luminances for a line, and depending on the result it's either black band (result<=limit) or picture (result>limit). Optional parameter 'limit' defaults to 24. MPI: EXPORT --vop test[=first frame number] +-vf test[=first frame number] generate various test patterns MPI: TEMP, accepts stride --vop noise[=lumaNoise[u][t|a][h]:chromaNoise[u][t|a][h] +-vf noise[=lumaNoise[u][t|a][h]:chromaNoise[u][t|a][h] add noise 0<= lumaNoise, chromaNoise <=100 u uniform noise (gaussian otherwise) @@ -163,7 +163,7 @@ p mix random noise with a (semi)regular pattern MPI: DR (if possible) or TEMP, accepts stride --vop eq[=brightness:contrast] +-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 @@ -172,16 +172,16 @@ given on the command line, and the eq filter is controllable interactively just like with normal hardware equalizer controls. --vop eq2[=gamma:contrast:brightness:saturation:r_gamma:g_gamma:b_gamma] +-vf eq2[=gamma:contrast:brightness:saturation:r_gamma:g_gamma:b_gamma] advanced software equalizer, for use with cards that don't support brightness/contrast/saturation and channel gamma controls in hardware. Initial values in the range -2.0 .. 2.0 may be given on the command line, and the eq2 filter is controllable interactively just like with normal - hardware equalizer controls or -vop eq. Defaults: 1:1:0:1:1:1:1 + hardware equalizer controls or -vf eq. Defaults: 1:1:0:1:1:1:1 This filter uses MMX only if available and all gamma == 1.0, otherwise LUT (look-up table) is being used. --vop unsharp=l|cWxH:amount[:l|cWxH:amount] +-vf unsharp=l|cWxH:amount[:l|cWxH:amount] unsharp mask / gaussian blur. l apply effect on luma component c apply effect on chroma components @@ -193,11 +193,11 @@ usually you will use something between -1.5 and 1.5 MPI: DR (if possible) or TEMP, accepts stride --vop swapuv +-vf swapuv swap U & V plane MPI: EXPORT --vop il=[d|i][s][:[d|i][s]] +-vf il=[d|i][s][:[d|i][s]] (de)interleaves lines d deinterleave i interleave @@ -211,26 +211,26 @@ them independently and then re-interleave them. MPI: TEMP, accepts stride --vop boxblur=radius:power[:radius:power] +-vf boxblur=radius:power[:radius:power] radius size of the filter power how often the filter should be applied MPI: TEMP, accepts stride --vop sab=radius:prefilter:colorDiff[:radius:prefilter:colorDiff] +-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) --vop smartblur=radius:stregth:threshold[:radius:stregth:threshold] +-vf smartblur=radius:stregth:threshold[:radius:stregth:threshold] radius blur filter strength (~0.1-5.0) (slower if larger) strength (0.0-1.0) -> blur, (-1.0-0.0) -> sharpen threshold 0 -> filter all, (0-30) -> filter flat areas, (-30-0) -> filter edges --vop perspective=x0:y0:x1:y1:x2:y2:x3:y3:t +-vf perspective=x0:y0:x1:y1:x2:y2:x3:y3:t x0,y0,... coordinates of the topleft, topright, bottomleft, bottomright corners t 0-> linear, 1->cubic resampling --vop denoise3d=[luma:chroma:time] +-vf denoise3d=[luma:chroma:time] luma spatial luma strength (default = 4) chroma spatial chroma strength (default = 3) time temporal strength (default = 6) Index: wishlist =================================================================== RCS file: /cvsroot/mplayer/main/DOCS/tech/wishlist,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- wishlist 10 Dec 2002 00:13:09 -0000 1.1 +++ wishlist 22 Mar 2003 12:02:25 -0000 1.2 @@ -35,7 +35,7 @@ * accept -dvd 9-12 command line * specify suboptions in a config file without breaking playback (use - channel 21 if using -tv, same idea for -vop, -aop, etc...) + channel 21 if using -tv, same idea for -vf, -af, etc...) Cleanup: @@ -77,7 +77,7 @@ * SSA style & colors handling - * plugin structure for vop/aop + * plugin structure for vf/af * support for VirtualDub and Winamp plugins
participants (1)
-
Jonas Jermann CVS