digitalFAQ.com Forums [Archives]

digitalFAQ.com Forums [Archives] (http://www.digitalfaq.com/archives/)
-   Video Encoding and Conversion (http://www.digitalfaq.com/archives/encode/)
-   -   KDVD: To denoise or not to denoise (split) (http://www.digitalfaq.com/archives/encode/13789-kdvd-denoise-denoise.html)

nicksteel 09-08-2005 01:33 PM

Thanks as usual, Boulder. :D 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)
}

Boulder 09-08-2005 02:42 PM

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.

supermule 09-09-2005 07:23 AM

Interesting article..............only one avs function works as superfilter and gives good results.

:roll: I was wondering if this superscript can be used for putting multiple movies in one DVD also......will it work ????

supermule 09-09-2005 08:24 AM

Quote:

Originally Posted by nicksteel
Thanks as usual, Boulder. :D 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() ???

nicksteel 09-09-2005 08:58 AM

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.

nicksteel 09-09-2005 09:11 AM

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)
}

Boulder 09-09-2005 09:17 AM

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:

:roll: 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 09-09-2005 09:20 AM

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.

Boulder 09-09-2005 09:22 AM

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 .

nicksteel 09-09-2005 09:22 AM

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:

:roll: 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.

Boulder 09-09-2005 09:30 AM

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.

nicksteel 09-09-2005 09:42 AM

So, I should

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

Telecide/Decimate

LRemoveDust_YV12(17,1)

Resize
ConverttoRGB24()
Addborders()

supermule 09-09-2005 09:46 AM

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.

Boulder 09-09-2005 09:49 AM

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.

Boulder 09-09-2005 09:52 AM

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.

supermule 09-09-2005 10:26 AM

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. ???

Boulder 09-09-2005 10:51 AM

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.

supermule 09-09-2005 12:33 PM

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.

Boulder 09-09-2005 12:41 PM

Exactly.

Dialhot 09-09-2005 02:42 PM

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)).


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

Site design, images and content © 2002-2024 The Digital FAQ, www.digitalFAQ.com
Forum Software by vBulletin · Copyright © 2024 Jelsoft Enterprises Ltd.