Quantcast KDVD: to Denoise or Not to Denoise (Split) - digitalFAQ.com Forums [Archives]
  #1  
09-08-2005, 01:33 PM
nicksteel nicksteel is offline
Free Member
 
Join Date: Nov 2002
Posts: 863
Thanks: 0
Thanked 0 Times in 0 Posts
Thanks as usual, Boulder. I've been using your scripts for a long time. Will try this tonight.

Is this exactly what you mean?

LoadPlugin("C:\video\moviestacker\Filters\MPEG2Dec 3dg.dll")
LoadPlugin("C:\video\moviestacker\Filters\RepairSS E3.dll")
LoadPlugin("C:\video\moviestacker\Filters\RemoveGr ainSSE3.dll")
LoadPlugin("C:\video\moviestacker\Filters\SSE3Tool s.dll")

Mpeg2Source("C:\film\film.d2v",idct=7)

Crop(8, 60, 704, 360)# 60_60

LRemoveDust_YV12(17,2)

Addborders(0,60,0,60) # 60_60

ConverttoRGB24()
function LRemoveDust_YV12(clip input, int clmode, int "limit")
{
limit=default(limit,1)
clmode=default(clmode,17)
repmode = 2
clensed = Clense(input)
rep = Repair(clensed, input, mode=repmode)
rg = RemoveGrain(rep, mode=clmode)
return LimitChange(rg, input, limit, limitU=255)
}
Reply With Quote
Someday, 12:01 PM
admin's Avatar
Site Staff / Ad Manager
 
Join Date: Dec 2002
Posts: 42
Thanks: ∞
Thanked 42 Times in 42 Posts
  #2  
09-08-2005, 02:42 PM
Boulder Boulder is offline
Free Member
 
Join Date: Sep 2002
Location: Lahti, Finland
Posts: 1,652
Thanks: 0
Thanked 0 Times in 0 Posts
Nope, change LRemoveDust_YV12(17,2) to LRemoveDust_YV12(17,1). Other than that it's ok. I would also use Crop(8,60,704,360,true) as kassandro's filters might benefit speed-wise from it. Moving the colorspace conversion before AddBorders might also give some more performance.
Reply With Quote
  #3  
09-09-2005, 07:23 AM
supermule supermule is offline
Free Member
 
Join Date: Sep 2005
Location: Donkeyland
Posts: 210
Thanks: 0
Thanked 0 Times in 0 Posts
Interesting article..............only one avs function works as superfilter and gives good results.

I was wondering if this superscript can be used for putting multiple movies in one DVD also......will it work ????
Reply With Quote
  #4  
09-09-2005, 08:24 AM
supermule supermule is offline
Free Member
 
Join Date: Sep 2005
Location: Donkeyland
Posts: 210
Thanks: 0
Thanked 0 Times in 0 Posts
Quote:
Originally Posted by nicksteel
Thanks as usual, Boulder. I've been using your scripts for a long time. Will try this tonight.

Is this exactly what you mean?

LoadPlugin("C:\video\moviestacker\Filters\MPEG2Dec 3dg.dll")
LoadPlugin("C:\video\moviestacker\Filters\RepairSS E3.dll")
LoadPlugin("C:\video\moviestacker\Filters\RemoveGr ainSSE3.dll")
LoadPlugin("C:\video\moviestacker\Filters\SSE3Tool s.dll")

Mpeg2Source("C:\film\film.d2v",idct=7)

Crop(8, 60, 704, 360)# 60_60

LRemoveDust_YV12(17,2)

Addborders(0,60,0,60) # 60_60

ConverttoRGB24()
function LRemoveDust_YV12(clip input, int clmode, int "limit")
{
limit=default(limit,1)
clmode=default(clmode,17)
repmode = 2
clensed = Clense(input)
rep = Repair(clensed, input, mode=repmode)
rg = RemoveGrain(rep, mode=clmode)
return LimitChange(rg, input, limit, limitU=255)
}
First of all if I run this script I realized there is no mode 17 for removegrain causing an error and also which function runs limitchange() ???
Reply With Quote
  #5  
09-09-2005, 08:58 AM
nicksteel nicksteel is offline
Free Member
 
Join Date: Nov 2002
Posts: 863
Thanks: 0
Thanked 0 Times in 0 Posts
Quote:
Originally Posted by supermule
LoadPlugin("C:\video\moviestacker\Filters\MPEG2Dec 3dg.dll")
LoadPlugin("C:\video\moviestacker\Filters\RepairSS E3.dll")
LoadPlugin("C:\video\moviestacker\Filters\RemoveGr ainSSE3.dll")
LoadPlugin("C:\video\moviestacker\Filters\SSE3Tool s.dll")


First of all if I run this script I realized there is no mode 17 for removegrain causing an error and also which function runs limitchange() ???
I think limitchange is part of "SSE3Tools.dll". Also note that I am using the "SSE3" versions due to my processor. I assume you are using the correct ones for your system.
Reply With Quote
  #6  
09-09-2005, 09:11 AM
nicksteel nicksteel is offline
Free Member
 
Join Date: Nov 2002
Posts: 863
Thanks: 0
Thanked 0 Times in 0 Posts
Quote:
Originally Posted by Boulder
Quote:
Originally Posted by nicksteel
Think I will start with Boulder's routine (above). I don't know if my 2.8 Gateway 820 dual-core is Prescott P4 or not, so will try different SSE versions.
Try CPU-Z, it will tell you which instruction set your CPU can deal with. I'm quite sure you can use the SSE3 versions of Repair and RemoveGrain and SSETools.

I would also recommend you try tsp's MT plugin, it adds some multithreading capability to Avisynth. If you have a dual-core CPU which also supports hyperthreading, you could run 4 threads. Try MT("LRemoveDust(17,1)",4) and see if you notice any difference in the performance.

http://forum.doom9.org/showthread.php?t=94996

Remember to use the latest Avisynth, now at release candidate stage.
I'm going to try this this weekend with two complete encodes. I think my system will only run with 2 as a MT parameter as it supposedly doesn't hyperthread. Also, I still have XP Home Media running (not Pro), as I want to add a HDTV capture board and some of those require XP Media. We'll see.

Will use:

LoadPlugin("C:\video\moviestacker\Filters\MPEG2Dec 3dg.dll")
LoadPlugin("C:\video\moviestacker\Filters\RepairSS E3.dll")
LoadPlugin("C:\video\moviestacker\Filters\RemoveGr ainSSE3.dll")
LoadPlugin("C:\video\moviestacker\Filters\SSE3Tool s.dll")

Mpeg2Source("C:\film\film.d2v",idct=7)
Crop(8,60,704,360) # 60_60

LRemoveDust_YV12(17,1) # First test

and

MT("LRemoveDust_YV12(17,1)",2) # Second Test

ConverttoRGB24()
Addborders(0,60,0,60) # 60_60

function LRemoveDust_YV12(clip input, int clmode, int "limit")
{
limit=default(limit,2)
clmode=default(clmode,17)
repmode = 2
clensed = Clense(input)
rep = Repair(clensed, input, mode=repmode)
rg = RemoveGrain(rep, mode=clmode)
return LimitChange(rg, input, limit, limitU=255)
}
Reply With Quote
  #7  
09-09-2005, 09:17 AM
Boulder Boulder is offline
Free Member
 
Join Date: Sep 2002
Location: Lahti, Finland
Posts: 1,652
Thanks: 0
Thanked 0 Times in 0 Posts
Quote:
Originally Posted by supermule
Interesting article..............only one avs function works as superfilter and gives good results.
One function which contains many parts that affect the output.
Quote:
I was wondering if this superscript can be used for putting multiple movies in one DVD also......will it work ????
I put 2-3 movies per disc most of the time, note that I haven't used LRemoveDust with DVD sources much so it's not "the missing key". Everything depends on the complexity of the movie and the aspect ratio too.
Reply With Quote
  #8  
09-09-2005, 09:20 AM
Boulder Boulder is offline
Free Member
 
Join Date: Sep 2002
Location: Lahti, Finland
Posts: 1,652
Thanks: 0
Thanked 0 Times in 0 Posts
Quote:
Originally Posted by nicksteel
I'm going to try this this weekend with two complete encodes. I think my system will only run with 2 as a MT parameter as it supposedly doesn't hyperthread. Also, I still have XP Home Media running (not Pro), as I want to add a HDTV capture board and some of those require XP Media. We'll see.
I think any newer Intel processor should have HT capability..but you can check it in Task Manager. See how many CPU usage history boxes you've got, that many CPUs the OS sees. If you haven't installed Windows while hyperthreading has been enabled, it won't show up IIRC. Nevertheless, two threads should already give a nice boost.
Reply With Quote
  #9  
09-09-2005, 09:22 AM
Boulder Boulder is offline
Free Member
 
Join Date: Sep 2002
Location: Lahti, Finland
Posts: 1,652
Thanks: 0
Thanked 0 Times in 0 Posts
Quote:
Originally Posted by supermule
First of all if I run this script I realized there is no mode 17 for removegrain causing an error and also which function runs limitchange() ???
You'll need the latest RemoveGrain package, www.removegrain.de.tf .
Reply With Quote
  #10  
09-09-2005, 09:22 AM
nicksteel nicksteel is offline
Free Member
 
Join Date: Nov 2002
Posts: 863
Thanks: 0
Thanked 0 Times in 0 Posts
Quote:
Originally Posted by Boulder
Quote:
Originally Posted by supermule
Interesting article..............only one avs function works as superfilter and gives good results.
One function which contains many parts that affect the output.
Quote:
I was wondering if this superscript can be used for putting multiple movies in one DVD also......will it work ????
I put 2-3 movies per disc most of the time, note that I haven't used LRemoveDust with DVD sources much so it's not "the missing key". Everything depends on the complexity of the movie and the aspect ratio too.
Boulder,

I am still mostly into PVR-250 captures. What exact modifications should I do to my above avs to use for testing. I get very clear analog cable captures as source. Also, what will be affect of changing size to 352x480 (half DVD) instead of cropping? I capture at 720x480 DVD Full.
Reply With Quote
  #11  
09-09-2005, 09:30 AM
Boulder Boulder is offline
Free Member
 
Join Date: Sep 2002
Location: Lahti, Finland
Posts: 1,652
Thanks: 0
Thanked 0 Times in 0 Posts
Quote:
Originally Posted by nicksteel
I am still mostly into PVR-250 captures. What exact modifications should I do to my above avs to use for testing. I get very clear analog cable captures as source. Also, what will be affect of changing size to 352x480 (half DVD) instead of cropping? I capture at 720x480 DVD Full.
I probably wouldn't change the script, possibly add CPU=4 to MPEG2Source for slight deblocking. If you decide to do the postprocessing, you should definitely update to the latest DGIndex/DGDecode package as there were some bugs fixed in the deblocking routines.

Do all the cleaning before downsizing to avoid any oversmoothing.

When I used the card, I disabled all internal denoising.
Reply With Quote
  #12  
09-09-2005, 09:42 AM
nicksteel nicksteel is offline
Free Member
 
Join Date: Nov 2002
Posts: 863
Thanks: 0
Thanked 0 Times in 0 Posts
So, I should

Mpeg2Source("C:\capture\capture.d2v",idct=7)

Telecide/Decimate

LRemoveDust_YV12(17,1)

Resize
ConverttoRGB24()
Addborders()
Reply With Quote
  #13  
09-09-2005, 09:46 AM
supermule supermule is offline
Free Member
 
Join Date: Sep 2005
Location: Donkeyland
Posts: 210
Thanks: 0
Thanked 0 Times in 0 Posts
Quote:
Originally Posted by nicksteel
Quote:
Originally Posted by supermule
LoadPlugin("C:\video\moviestacker\Filters\MPEG2Dec 3dg.dll")
LoadPlugin("C:\video\moviestacker\Filters\RepairSS E3.dll")
LoadPlugin("C:\video\moviestacker\Filters\RemoveGr ainSSE3.dll")
LoadPlugin("C:\video\moviestacker\Filters\SSE3Tool s.dll")


First of all if I run this script I realized there is no mode 17 for removegrain causing an error and also which function runs limitchange() ???
I think limitchange is part of "SSE3Tools.dll". Also note that I am using the "SSE3" versions due to my processor. I assume you are using the correct ones for your system.
From where can I download it, I searched without success.

EDIT: Got it....Its part of removegrain 0.9

Also I use SSE2 version for removegrain since the document says

Code:
The binary package contains four versions of RemoveGrain, two small dynamically linked versions RemoveGrain.dll, RemoveGrainSSE2.dll, RemoveGrainSSE3.dll  and the big staticly linked RemoveGrainS.dll. The first one only requires integer SSE (Athlon and Pentium 3 design), the second requires a SSE2 capable cpu (Pentium 4 or Athlon 64) and the third is for Prescott P4s only
I have pentium machine.
Reply With Quote
  #14  
09-09-2005, 09:49 AM
Boulder Boulder is offline
Free Member
 
Join Date: Sep 2002
Location: Lahti, Finland
Posts: 1,652
Thanks: 0
Thanked 0 Times in 0 Posts
Quote:
Originally Posted by nicksteel
So, I should

Mpeg2Source("C:\capture\capture.d2v",idct=7)

Telecide/Decimate

LRemoveDust_YV12(17,1)

Resize
ConverttoRGB24()
Addborders()
Yes.
Reply With Quote
  #15  
09-09-2005, 09:52 AM
Boulder Boulder is offline
Free Member
 
Join Date: Sep 2002
Location: Lahti, Finland
Posts: 1,652
Thanks: 0
Thanked 0 Times in 0 Posts
Quote:
Originally Posted by supermule
Quote:
I think limitchange is part of "SSE3Tools.dll". Also note that I am using the "SSE3" versions due to my processor. I assume you are using the correct ones for your system.
From where can I download it, I searched without success.
It's in the latest RemoveGrain package as well.
Quote:
Also I use SSE2 version for removegrain since the document says
Use it if your CPU supports it. Use CPU-Z to determine which instruction sets are available.
Reply With Quote
  #16  
09-09-2005, 10:26 AM
supermule supermule is offline
Free Member
 
Join Date: Sep 2005
Location: Donkeyland
Posts: 210
Thanks: 0
Thanked 0 Times in 0 Posts
Quote:
Originally Posted by Boulder
Nope, change LRemoveDust_YV12(17,2) to LRemoveDust_YV12(17,1).
Thanks for your help "Boulder". But how does reducing the limit from 2 to 1 help. just for my understanding, how to handle the parameters for this function and how do they effect the picture quality/size by their Increase or decrease. ???
Reply With Quote
  #17  
09-09-2005, 10:51 AM
Boulder Boulder is offline
Free Member
 
Join Date: Sep 2002
Location: Lahti, Finland
Posts: 1,652
Thanks: 0
Thanked 0 Times in 0 Posts
Quote:
Originally Posted by supermule
Thanks for your help "Boulder". But how does reducing the limit from 2 to 1 help. just for my understanding, how to handle the parameters for this function and how do they effect the picture quality/size by their Increase or decrease. ???
The first parameter is the mode from RemoveGrain. Mode 17 is my favourite as it preserves thin lines much better than many other modes. Limit means the maximum amount of change per pixel.

The higher the limit, the closer the output gets to a regular RemoveGrain(mode=17), which is way too blurry for my taste.

Try this:
Code:
xxxSource()
a=last.subtitle("original")
b=LRemoveDust_YV12(17,1).subtitle("17,1")
c=LRemoveDust_YV12(17,2).subtitle("17,2")
d=LRemoveDust_YV12(17,3).subtitle("17,3")
e=LRemoveDust_YV12(17,4).subtitle("17,4")
Interleave(a,b,c,d,e)
Open it in VDub and advance frame-by-frame. You can clearly see how changing the limit affects the output.
Reply With Quote
  #18  
09-09-2005, 12:33 PM
supermule supermule is offline
Free Member
 
Join Date: Sep 2005
Location: Donkeyland
Posts: 210
Thanks: 0
Thanked 0 Times in 0 Posts
Quote:
Originally Posted by Boulder
Quote:
Originally Posted by supermule
Thanks for your help "Boulder". But how does reducing the limit from 2 to 1 help. just for my understanding, how to handle the parameters for this function and how do they effect the picture quality/size by their Increase or decrease. ???
The first parameter is the mode from RemoveGrain. Mode 17 is my favourite as it preserves thin lines much better than many other modes. Limit means the maximum amount of change per pixel.

The higher the limit, the closer the output gets to a regular RemoveGrain(mode=17), which is way too blurry for my taste.

Try this:
Code:
xxxSource()
a=last.subtitle("original")
b=LRemoveDust_YV12(17,1).subtitle("17,1")
c=LRemoveDust_YV12(17,2).subtitle("17,2")
d=LRemoveDust_YV12(17,3).subtitle("17,3")
e=LRemoveDust_YV12(17,4).subtitle("17,4")
Interleave(a,b,c,d,e)
Open it in VDub and advance frame-by-frame. You can clearly see how changing the limit affects the output.
Hmmmm....which basically means that the higher the limit the more softer the picture will become and so more compression can be performed and lesser file size, right and vice versa.
Reply With Quote
  #19  
09-09-2005, 12:41 PM
Boulder Boulder is offline
Free Member
 
Join Date: Sep 2002
Location: Lahti, Finland
Posts: 1,652
Thanks: 0
Thanked 0 Times in 0 Posts
Exactly.
Reply With Quote
  #20  
09-09-2005, 02:42 PM
Dialhot Dialhot is offline
Free Member
 
Join Date: May 2003
Posts: 10,463
Thanks: 0
Thanked 0 Times in 0 Posts
Boulder, your little demo script is somehow erroneous.

like you did c is not LremoveDust(17,2), it is LremoveDust(17,1).LremoveDust(17,2) !

I don't know if this was what you supposed (but this demultiplicate the power of the lesson)).
Reply With Quote
Reply




Similar Threads
Thread Thread Starter Forum Replies Last Post
How Do You Split A KVCD? aryia Video Encoding and Conversion 8 07-21-2004 04:42 PM
DVD2SVCD: how to split one mpeg file onto two cds ? keigan1888 Video Encoding and Conversion 5 09-07-2003 05:45 AM
Vob to divx split for better bitrate? Adder Video Encoding and Conversion 2 02-12-2003 08:31 AM
Best way to split a KVCD? Gaudi Video Encoding and Conversion 3 02-01-2003 07:53 PM
Software to Split and Cut MPEGs? Jellygoose Video Encoding and Conversion 1 07-16-2002 08:33 PM

Thread Tools



 
All times are GMT -5. The time now is 02:20 PM  —  vBulletin © Jelsoft Enterprises Ltd