Welcome to Doom9's Forum, THE in-place to be for everyone interested in DVD conversion. Before you start posting please read the forum rules. By posting to this forum you agree to abide by the rules. |
|
28th June 2003, 10:14 | #1 | Link |
Registered User
Join Date: Feb 2002
Location: Charlotte, NC USA
Posts: 1,984
|
How to make a color-friendly grayscale?
I have some DV of analog source which alternates from color to greyscale and back a few times.
I'd really like to completely remove the chroma noise in the B&W sections. Manually cutting these segments, filtering, and reassembling is acceptable if it's the only way. The problem is I haven't figured out how to make a proper greyscale. The VirtualDub and AviSynth built-in filters yield clips which VirtualDub will refuse to append to color segments, claiming the formats are incompatible. How can chroma be effectively removed yet the clip still "play friendly" with color clips? Also, is there a way to do this conditionally within a script such that multiple sections would be converted to greyscale within the same stream, based on frame number?
__________________
Reclusive fart. Collecting Military, Trains, Cooking, Woodworking, Fighting Illini, Auburn Tigers |
28th June 2003, 12:35 | #2 | Link | ||
Moderator
Join Date: Nov 2001
Location: Netherlands
Posts: 6,364
|
Quote:
Quote:
|
||
28th June 2003, 16:39 | #3 | Link |
Registered User
Join Date: Feb 2002
Location: Charlotte, NC USA
Posts: 1,984
|
Ah, insight
Another approach I thought of last night is to force the chroma range to very low, say 1-10, and let it get removed by Limiter(). Don't know how to re-scale it but this should be more append-friendly. Last edited by FredThompson; 29th June 2003 at 06:13. |
29th June 2003, 20:42 | #6 | Link | |
AviSynth Enthusiast
Join Date: Jul 2002
Location: California, U.S.
Posts: 1,267
|
Quote:
Code:
function GreyscaleWrapper(clip c, string unused) { return c.Greyscale() } ApplyRange(1416, 1801, "GreyscaleWrapper", "") Code:
function NoArgFunctionWrapper(clip c, string f) { c return Eval(filter + "()") } ApplyRange(1416, 1801, "NoArgFunctionWrapper", "Greyscale") Last edited by stickboy; 30th September 2006 at 20:01. |
|
|
|