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. |
|
|
Thread Tools | Search this Thread | Display Modes |
6th August 2011, 05:26 | #1 | Link |
Registered User
Join Date: Oct 2009
Location: crow-land
Posts: 540
|
old topic, latest thinking ? sharpening an interlaced source
I have PAL 576i TV captures which are fast sports action. I want to convert these to DVD and also to MP4.
Recently, a lot of them seem blurry. What are the latest function(s) which you would use to sharpen the captures (including de-interlacing, if that's part of it) ? Something like this ? Code:
DGMultiSource("file.dgi",deinterlace=2) #deinterlace=2 means double rate deinterlacing trim(1,-999999) # fix a double-framerate bug in NV per http://forum.doom9.org/showthread.php?p=1391556#post1391556 #LimitedSharpenFaster(smode=4,strength=100) UnFilter(15,15) # Re-Interlace and halve framerate, back to 25i AssumeTFF() Blur(0,1).SeparateFields().SelectEvery(4,0,3).Weave() #reinterlace - ASSUMED TFF HERE # BLUR(0,1) per http://forum.doom9.org/showthread.php?p=1488308#post1488308 AssumeTFF() |
6th August 2011, 10:24 | #2 | Link |
Registered User
Join Date: Dec 2007
Location: Germany
Posts: 632
|
Yeah, that's how to sharpen an interlaced source (well, if you activate LSF ). You should throw out the Blur(0,1) this is not neccessary for a SD source. This is a suggestion for downscaling high definition to DVD to avoid extreme line twittering.
|
6th August 2011, 14:13 | #4 | Link |
Avisynth language lover
Join Date: Dec 2007
Location: Spain
Posts: 3,431
|
SelectEvery(4,0,3), when used as above, preserves whatever field parity you have before the call to SeparateFields(). So here (because of the preceding AssumeTFF) it gives TFF. (The second call to AssumeTFF() is unnecessary.)
|
6th August 2011, 17:31 | #5 | Link |
Registered User
Join Date: Jan 2011
Posts: 121
|
Everyone else already seems to have the parity covered for reinterlacing. What I would suggest though is to try QTGMC(preset = "super fast", lossless = 1) for deinterlacing in place of DGMultiSource. It might be a bit more temporally stable, which should help prevent temporal aliasing as a result of the sharpening operation.
|
6th August 2011, 19:41 | #6 | Link | |
Formerly davidh*****
Join Date: Jan 2004
Posts: 2,496
|
Quote:
David |
|
6th August 2011, 23:48 | #7 | Link |
Registered User
Join Date: Oct 2009
Location: crow-land
Posts: 540
|
David, does that mean I should not bother sharpening ?
I recall testing QTGMC with the highest of hopes. Per http://forum.doom9.org/showthread.ph...08#post1488308 it was with HD->SD to find in the end that I was not comfortable with bang for the cpu-cycle as it was comparatively slow. Maybe the cost/benefit will be better here with 576i source. Suggestions for QTGMC settings (or a link to them) to use on large grassed arena/fast ball sports action 567i TV captures welcomed. (Was it QTGMC that required a plugin with a special non-standard MS C runtime ?) |
7th August 2011, 10:33 | #8 | Link | |
Registered User
Join Date: Dec 2007
Location: Germany
Posts: 632
|
Quote:
Why should there be a vertical blur before boadcast, this is not neccessary if the video is filmed with SD cameras (which is probably not so likely, instead it is a blurry downscaled HD video with too much vertical blur I guess). Since you're going to reinterlace the video there is no need for a very elaborate bob-deinterlacing. You just need to "fill in the missing lines" with something stable to give the sharpener a reasonable video to chew on. What Mini-Me suggested is what I would suggest as well, QTGMC(preset="super fast", lossless=1). Lossless=1 keeps the original fields untouched, "super fast" will give sufficient quality interpolated lines. Those will be thrown away with the final reinterlace (as long as you don't change the field order in between; if the source is TFF then it should stay TFF to keep the original and sharpened, not interpolated, lines when reinterlacing). Last edited by TheSkiller; 7th August 2011 at 17:31. |
|
7th August 2011, 17:50 | #9 | Link | |
Registered User
Join Date: Jan 2011
Posts: 121
|
Quote:
If you're deinterlacing for final rendering, everyone has their own subjective preferences for the best settings, and there's a lot of discussion over that. However, if you're deinterlacing just to apply a filter to interlaced input, and you're planning on interlacing again, I would definitely use: Code:
source.QTGMC(preset = "super fast", lossless = 1) I would also use those same settings for real-time playback deinterlacing. Unlike some other presets, "super fast" is fast enough for single-threaded real-time playback on most recent processors. At the same time, I've never seen any faster deinterlacer look as good, but you can try yourself by interleaving and comparing frames! That's the short version. For a bit of justification, lossless = 1 is important for both use cases for different reasons:
Deinterlacing->filtering->reinterlacing is a great general technique for using spatial filters on interlaced content. As others said, using sharpening filters in particular is not always the best idea when your final output will be interlaced...but I'd like to think that in your case it will probably be alright: Your source lines are probably soft enough for it, since a.) they're the result of interlacing and may have been low-passed beforehand (and you're not downscaling), and b.) you seem to think the source could use sharpening, so I'm assuming it's softer than usual. If you have problems with the sharpened output, perhaps you could sharpen only in stationary areas (similar to what Didee suggests here about low-passing only areas with motion). *To be precise, you do have to careful with a few other settings for lossless mode 1 to work perfectly: If you're using NoiseProcess = 1, you should set NoiseRestore to 1.0, GrainRestore to 0.0, and StabilizeNoise to False. If you're using NoiseProcess = 2, you should set NoiseRestore to 0.0 instead. You don't want to use EZDenoise or EZKeepGrain for lossless, because they set those values differently. Last edited by Mini-Me; 7th August 2011 at 20:09. |
|
|
|