From 49a7110b03b6b0ed3a9b00acf68d03b0d5afa867 Mon Sep 17 00:00:00 2001 From: rfelker Date: Mon, 6 Sep 2004 21:25:59 +0000 Subject: pullup docs + new feature for slow cpus :) git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@13268 b3059339-0415-0410-9bf9-f77b7e298cf2 --- DOCS/man/en/mplayer.1 | 14 +++++++++++++- libmpcodecs/vf_pullup.c | 4 ++-- 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/DOCS/man/en/mplayer.1 b/DOCS/man/en/mplayer.1 index 3d4eb1fcfe..983c1ddb5a 100644 --- a/DOCS/man/en/mplayer.1 +++ b/DOCS/man/en/mplayer.1 @@ -3922,7 +3922,7 @@ Further development on ivtc has stopped, as the pullup and filmdint 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 @@ Setting the sb (strict breaks) option to 1 will reduce the chances of 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 diff --git a/libmpcodecs/vf_pullup.c b/libmpcodecs/vf_pullup.c index 710d24e3cd..118ab23f5d 100644 --- a/libmpcodecs/vf_pullup.c +++ b/libmpcodecs/vf_pullup.c @@ -77,7 +77,6 @@ static void init_pullup(struct vf_instance_s* vf, mp_image_t *mpi) 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 @@ static int open(vf_instance_t *vf, char* args) 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; } -- cgit v1.2.3