Quantcast Avisynth: Guide to Dealing with Interlaced Sources - Page 5 - digitalFAQ.com Forums [Archives]
  #81  
10-02-2006, 06:54 AM
Dialhot Dialhot is offline
Free Member
 
Join Date: May 2003
Posts: 10,463
Thanks: 0
Thanked 0 Times in 0 Posts
He wants to have the smallest video, perhaps it could be good to filter a little. What do you think ? It's not mandatory, but can be helpfull.
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
  #82  
10-02-2006, 10:34 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
Using LRemoveDust should help. I wouldn't use the MA script because it will surely get all confused with the amount of motion workout videos tend to have.

Maybe this script:
Code:
MPEG2Source("path\clip.d2v",cpu=4,idct=7)
TDeint(mode=1)
LRemoveDust(17,1)
Limiter()
AssumeTFF()
SeparateFields()
SelectEvery(4,0,3)
Weave()

function LRemoveDust(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)
rd = TemporalRepair(rg, rep)
return LimitChange(rd, input, limit, limitU=255)
}
TDeint, RemoveGrain, Repair and SSETools are needed. I don't have the URLs for them so you'll have to try finding them yourself. There are probably links to them buried somewhere in the kvcd.net forums.
Reply With Quote
  #83  
10-05-2006, 07:32 AM
rds_correia rds_correia is offline
Free Member
 
Join Date: Apr 2003
Location: Chinese Democracy starts now!
Posts: 2,563
Thanks: 1
Thanked 0 Times in 0 Posts
I don't want to steal this thread but I have noticed that my LRemoveDust script looks slightly different from Boulder's.
Here's mine:
Code:
function LRemoveDust_YV12(clip input, int clmode, int "limit")
{
input=Crop(input,0,0,-0,-0,true)
clmode=default(clmode,17)
limit=default(limit,2)
repmode = 2
clensed = Clense(input)
rep = Repair(clensed, input, mode=repmode)
rg = RemoveGrain(rep, mode=clmode)
return LimitChange(rg, input, limit)
Could somebody explain me the differencies or which one is most accurate/up to date?
BTW I just noticed something strange in mine, the crop 0,0,-0,-0.
What's with that line?
Thanks in advance guys.
Cheers
__________________
Rui
Reply With Quote
  #84  
10-05-2006, 07:42 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
The crop line is to avoid the infamous misalignment "bug" (it's not actually a bug) which can make the filter crawl at a very slow speed.

The only difference is that the function I posted includes TemporalRepair. You can read more about it at the official RemoveGrain page. I'm not sure if it's absolutely necessary when using mode 17 with a rather low limit but it provides some extra artifact protection.
Reply With Quote
  #85  
10-05-2006, 11:49 AM
rds_correia rds_correia is offline
Free Member
 
Join Date: Apr 2003
Location: Chinese Democracy starts now!
Posts: 2,563
Thanks: 1
Thanked 0 Times in 0 Posts
Thanks Boulder .
__________________
Rui
Reply With Quote
  #86  
12-02-2006, 10:10 PM
grodriguez grodriguez is offline
Free Member
 
Join Date: Sep 2006
Posts: 16
Thanks: 0
Thanked 0 Times in 0 Posts
I am so sorry for the really late response (not a lot of spare time) so is this script correct
LoadPlugin("C:\Filters25\MPEG2Dec3.dll")
LoadPlugin("C:\Filters25\TDeint.dll")
LoadPlugin("C:\Filters25\RemoveGrain.dll")
LoadPlugin("C:\Filters25\Repair.dll")
LoadPlugin("C:\Filters25\SSETools.dll")


MPEG2Source("C:\20_MINUTE_WORKOUT\VIDEO_TS\20mwo.d 2v",cpu=4,idct=7)
TDeint(mode=1)
LRemoveDust(17,1)
Limiter()
AssumeTFF()
SeparateFields()
SelectEvery(4,0,3)
Weave()

function LRemoveDust(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)
rd = TemporalRepair(rg, rep)
return LimitChange(rd, input, limit, limitU=255)
}
Reply With Quote
  #87  
12-03-2006, 04:09 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
Yes it is.
Reply With Quote
  #88  
12-03-2006, 04:28 AM
grodriguez grodriguez is offline
Free Member
 
Join Date: Sep 2006
Posts: 16
Thanks: 0
Thanked 0 Times in 0 Posts
whoo hooo thanks boulder for the response and i dont know i am so happy. thanks again
Reply With Quote
  #89  
12-03-2006, 04:39 AM
grodriguez grodriguez is offline
Free Member
 
Join Date: Sep 2006
Posts: 16
Thanks: 0
Thanked 0 Times in 0 Posts
one more thing i did what the first page of the topic said how to determain if it is a top field first or bottem field first and both seam a little jerkie(guessing it is the framerate)and cant tell the difference whitch ones smother
Reply With Quote
  #90  
12-03-2006, 04:44 AM
grodriguez grodriguez is offline
Free Member
 
Join Date: Sep 2006
Posts: 16
Thanks: 0
Thanked 0 Times in 0 Posts
sorry double posted
Reply With Quote
  #91  
12-03-2006, 05:41 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
Try opening this script in VDub or a media player and see what it says about the field order:
Code:
LoadPlugin("C:\Filters25\MPEG2Dec3.dll")
LoadPlugin("C:\Filters25\TDeint.dll")
LoadPlugin("C:\Filters25\RemoveGrain.dll")
LoadPlugin("C:\Filters25\Repair.dll")
LoadPlugin("C:\Filters25\SSETools.dll")
MPEG2Source("C:\20_MINUTE_WORKOUT\VIDEO_TS\20mwo.d2v",cpu=4,idct=7)
Info()
I learnt recently that MPEG2Source always returns the correct field order (if it is set correctly in the source file).

If you can't work it out, post a small sample (a couple of frames should do) of the unprocessed source. I would also upgrade to the latest DGIndex/DGDecode.dll instead of using the obsolete MPEG2Dec3.dll.
Reply With Quote
  #92  
12-03-2006, 06:41 AM
grodriguez grodriguez is offline
Free Member
 
Join Date: Sep 2006
Posts: 16
Thanks: 0
Thanked 0 Times in 0 Posts
vdub says" parity : assuming top field first" and how can i upgrade to the latest DGIndex/DGDecode.dll?
Reply With Quote
  #93  
12-03-2006, 06:55 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
Top field first parity means the script should be correct. I can't say anything about the jerkiness unless I see a sample myself. When you open the VOB file in VirtualDubMod, does it show a pattern of 3 non-combed frames followed by 2 combed frames or are all frames combed?

To upgrade to DGIndex, download the latest DGMPGDec package (v1.4. from http://neuron2.net/dgmpgdec/dgmpgdec.html. Use DGIndex for creating the d2v file and load dgdecode.dll in your script instead of mpeg2dec3.dll.
Reply With Quote
  #94  
12-03-2006, 07:06 AM
rds_correia rds_correia is offline
Free Member
 
Join Date: Apr 2003
Location: Chinese Democracy starts now!
Posts: 2,563
Thanks: 1
Thanked 0 Times in 0 Posts
Pretty simple actually.
Download it here http://neuron2.net/dgmpgdec/dgmpgdec.html .
Extract it to a folder near your other video-related tools.
Copy dedecode.dll into avisynth's plugin folder.
Since D2V projects made with dvd2avi are not compatible with dgindex you will have to rebuild them with dgindex, a tool which is actually very similar to dvd2avi since they both share the same base code.
Now if you plan to keep dvd2avi installed (just in case) and also keep mpeg2dec3.dll in avisynth's plugin folder then all your newly dgindex projects will have to be opened with a dgdecode_mpeg2source("c:\...") in your scripts.
And that's all there is to know.
Cheers

PS:damn, boulder beat me to it .
__________________
Rui
Reply With Quote
  #95  
12-03-2006, 07:50 AM
grodriguez grodriguez is offline
Free Member
 
Join Date: Sep 2006
Posts: 16
Thanks: 0
Thanked 0 Times in 0 Posts
thanks boulder and rds_correia i understand exactly what to do now
and its a little jerkiness but i can live with it i am just very observant (by the way thanks so much for the script boulder looks great) what happens if i encoed with bff instead of tff i have not tried to open the VOB file in VirtualDubMod but when i do i will keep you posted
thanks again guys
p.s. whats the difference between DGDecode.dll and MPEG2Dec3.dll.
Reply With Quote
  #96  
12-03-2006, 07:53 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
If you use an incorrect field order, it's highly likely that it'll be very jerky, going back and forth. You can't miss it.
Reply With Quote
  #97  
12-03-2006, 08:29 AM
rds_correia rds_correia is offline
Free Member
 
Join Date: Apr 2003
Location: Chinese Democracy starts now!
Posts: 2,563
Thanks: 1
Thanked 0 Times in 0 Posts
Quote:
Originally Posted by grodriguez
p.s. whats the difference between DGDecode.dll and MPEG2Dec3.dll.
Yep, MPEG2Dec3 was known to have a little bug that would end up in a smaller video than the sound thus making room for audio desync in some rare occasions.
Nothing too big to worry about but nevertheless better keep it on the safe side, right?
__________________
Rui
Reply With Quote
  #98  
12-03-2006, 07:29 PM
grodriguez grodriguez is offline
Free Member
 
Join Date: Sep 2006
Posts: 16
Thanks: 0
Thanked 0 Times in 0 Posts
i encoded with AssumeTFF() and AssumeBFF() in my scripts and it does not change in tmpgenc. in fact bottom field first seems to be default and does not change with the .avs script unless i change it manualy ( setting \ advance tab \ field order : bottom field first(field B) ) and made sure that ( setting \ advance tab \ video source type : interlace ) and still dont see a noticable difference between the two with it changed in the .avs script or changed manualy in tmpgenc. and the slight jerkieness looks like it is at 16 frames per second. i really dont care about the sight jerkieness but is there any problems or does it really matter if i encode with top field first or bottom field first and dvd2avi1.77.4 says it 4:3,29.97fps,interlaced
so whats my problem and dose this affect me playing on my tv?
Reply With Quote
  #99  
12-03-2006, 08:17 PM
rds_correia rds_correia is offline
Free Member
 
Join Date: Apr 2003
Location: Chinese Democracy starts now!
Posts: 2,563
Thanks: 1
Thanked 0 Times in 0 Posts
I'm certainly not an expert when it comes to interlaced sources but I have had 29.97fps sources and believe me when I say that it really mattered if I was using TFF or BFF.
Load your avs script in VirtualDubMod and watch it frame by frame in TFF and in BFF.
If the jerkyness disappears then you know what was wrong .
Cheers
__________________
Rui
Reply With Quote
  #100  
12-03-2006, 09:18 PM
grodriguez grodriguez is offline
Free Member
 
Join Date: Sep 2006
Posts: 16
Thanks: 0
Thanked 0 Times in 0 Posts
it says this with VirtualDubMod info "fieldbase (separated) video : no " could this be the problem and i loaded me avs script in VirtualDubMod and watch it frame by frame in TFF and in BFF and still did not see any difference
Reply With Quote
Reply




Similar Threads
Thread Thread Starter Forum Replies Last Post
KVCD: Interlaced/29.970 sources? gretagun Video Encoding and Conversion 13 01-08-2005 02:29 PM
Avisynth: Interlaced sources guide? [See pg2] J-Wo Avisynth Scripting 50 04-20-2004 07:41 AM
Avisynth: MA script for interlaced sources? Boulder Avisynth Scripting 52 04-03-2004 02:47 PM
DVD2SVCD: Script for Interlaced sources azel Video Encoding and Conversion 3 11-02-2003 11:29 AM
VirtualDub: Correcting Field Order and Swapping in interlaced sources ozjeff99 Video Encoding and Conversion 9 05-16-2003 02:21 AM

Thread Tools



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