Mercurial > mplayer.hg
changeset 13267:8d4a16cb1e97
pullup docs + new feature for slow cpus :)
author | rfelker |
---|---|
date | Mon, 06 Sep 2004 21:25:59 +0000 |
parents | 914749a92b28 |
children | 125f1b58a325 |
files | DOCS/man/en/mplayer.1 libmpcodecs/vf_pullup.c |
diffstat | 2 files changed, 15 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/DOCS/man/en/mplayer.1 Mon Sep 06 20:11:37 2004 +0000 +++ b/DOCS/man/en/mplayer.1 Mon Sep 06 21:25:59 2004 +0000 @@ -3922,7 +3922,7 @@ filters appear to be much more accurate. . .TP -.B pullup[=jl:jr:jt:jb:sb]\ +.B pullup[=jl:jr:jt:jb:sb:mp]\ Third-generation pulldown reversal (inverse telecine) filter, capable of handling mixed hard-telecine, 24 fps progressive, and 30 fps progressive content. @@ -3941,6 +3941,18 @@ pullup generating an occasional mismatched frame, but it may also cause an excessive number of frames to be dropped during high motion sequences. +Conversely, setting it to -1 will make pullup match fields more +easily. +This may help processing of video where there is slight blurring +between the fields, but may also cause there to be interlaced frames +in the output. +The mp (metric plane) option may be set to 1 or 2 to use a chroma +plane instead of the luma plane for doing pullup's computations. +This may improve accuracy on very clean source material, but more +likely will decrease accuracy, especially if there is chroma noise +(rainbow effect) or any grayscale video. +The main purpose of setting mp to a chroma plane is to reduce cpu load +and make pullup usable in realtime on slow machines. .br .I NOTE: Always follow pullup with the softskip filter when encoding to ensure
--- a/libmpcodecs/vf_pullup.c Mon Sep 06 20:11:37 2004 +0000 +++ b/libmpcodecs/vf_pullup.c Mon Sep 06 21:25:59 2004 +0000 @@ -77,7 +77,6 @@ c->stride[1] = c->stride[2] = mpi->chroma_width; c->stride[3] = c->w[3]; c->background[1] = c->background[2] = 128; - c->metric_plane = 0; } if (gCpuCaps.hasMMX) c->cpu |= PULLUP_CPU_MMX; @@ -324,8 +323,9 @@ c->junk_left = c->junk_right = 1; c->junk_top = c->junk_bottom = 4; c->strict_breaks = 0; + c->metric_plane = 0; if (args) { - sscanf(args, "%d:%d:%d:%d:%d", &c->junk_left, &c->junk_right, &c->junk_top, &c->junk_bottom, &c->strict_breaks); + sscanf(args, "%d:%d:%d:%d:%d:%d", &c->junk_left, &c->junk_right, &c->junk_top, &c->junk_bottom, &c->strict_breaks, &c->metric_plane); } return 1; }