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. |
22nd January 2010, 23:39 | #1201 | Link |
Sleepy overworked fellow
Join Date: Feb 2008
Location: Maple syrup's homeland
Posts: 933
|
Could you add a feature in tdecimate to handle 23.976, 29.97 and 59.94?
Hm, just thought about this: Can I manually edit the timecodes to look like this - I mean, will it work? (I know I could test, but it's faster to get an answer here ) # timecode format v1 Assume 29.970030 0,39,23.976024 775,778,59,940060 994,997,23.976024
__________________
AnimeIVTC() - v2.00 -http://boinc.berkeley.edu/- Let all geeks use their incredibly powerful comps for the greater good (no, no, it won't slow your filtering/encoding :p) |
25th January 2010, 21:59 | #1202 | Link |
Registered User
Join Date: Dec 2003
Location: MO, US
Posts: 999
|
It's possible, but I don't have the time or desire to do it. It isn't a simple modification, at least an easy method isn't coming to mind. The code for tfm/tdecimate is a big mess. It might actually be easier to create a separate filter/program to do it based off tfm stat file and tdecimate stat files from tfm output and bobbed output.
I don't know why manually editing the timecodes file wouldn't work... assuming you splice sections (add the 60p video in the right place)/modify frame numbers as needed. |
26th January 2010, 17:13 | #1203 | Link |
Sleepy overworked fellow
Join Date: Feb 2008
Location: Maple syrup's homeland
Posts: 933
|
Alrighty, thanks for the answer.
__________________
AnimeIVTC() - v2.00 -http://boinc.berkeley.edu/- Let all geeks use their incredibly powerful comps for the greater good (no, no, it won't slow your filtering/encoding :p) |
16th February 2010, 04:07 | #1205 | Link |
Registered User
Join Date: Feb 2002
Location: California
Posts: 2,695
|
Is there a way to force TDecimate to decimate all combed frames? I have a source where TFM flags really bad frames as combed frames. I want to decimate these first, and then remove the remaining duplicates to achieve a given frame rate. The MIC metric in TFM shows 255 on these bad frames, so TFM is providing the information I need. I don't mind doing a two-pass, but I cannot figure out how to pass a file back into TDecimate that will force it to decimate these "255" frames first, and then use the metrics from TFM to further decimate by removing the true duplicates.
[edit] I figured it out. This does what I want: Code:
tfm(display=false,mode=1,pp=1,cthresh=25,micmatching=3,mmsco=false) tdecimate(mode=7,display=false, rate=23.976) Last edited by johnmeyer; 16th February 2010 at 20:13. |
22nd February 2010, 14:17 | #1206 | Link | |
Registered User
Join Date: Apr 2008
Posts: 546
|
Quote:
|
|
1st March 2010, 23:55 | #1207 | Link |
Registered User
Join Date: May 2008
Posts: 1,840
|
Hi, is there any chance adding support for reading frame type (film or ntsc) from dgi files to TFM like the d2v function?
Here's an example of a dgi file that has both ntsc and film frames. |
7th May 2010, 11:35 | #1208 | Link |
Registered User
Join Date: Mar 2010
Location: Ukraine
Posts: 50
|
i've use TIVTC couple of years. it amazing filter pack.
I've found serious memory leak (about 1MB-2MB per second) when use tdecimate mode=5 (2nd pass of hybrid) with serious filter chain - couple of them writted by tritical too )) *BIG RESPECT* i've placed this chain before and fter tDecimate, but leak is still appear I even remove some memory & cpu most hungry filters but it seems doesnt depend from type of filters and it position in script. my settings Code:
tdecimate(mode=5, hybrid=2, vfrDec=1,mkvOut=mkvTimeCodeOut,input=metricStats, vidThresh=15,dupThresh=10, vidDetect=1, cycleR = 1, cycle=2) I didnt use TFM to do output="matches.txt" at first pass. I haven't use TFM at all, only TDecimate - to remove duplicates in progressive stream. In mode=3 all works fine, but mode=3 produces blackness at the end of stream and dont change count of frames. But I wanna use 2-pass (mode=4 stats -> mode=5 work) because i run batch and dont want to crop end of every file manually Maybe exists some option that I havn't set or i've found a bug?
__________________
blendhater |
7th May 2010, 15:55 | #1209 | Link |
Registered User
Join Date: Dec 2003
Location: MO, US
Posts: 999
|
Could you provide an exact full script that causes the issue? I'm not sure how tdecimate could be leaking memory since in mode 5 it doesn't allocate any memory during frame requests... only during script initialization. Does the memory issue happen if you add setmemorymax(64) to the script (i.e. is this 1-2MB per second just due to avisynth's cache filling up at the beginning).
Last edited by tritical; 7th May 2010 at 16:01. |
11th May 2010, 11:50 | #1210 | Link |
Registered User
Join Date: Mar 2010
Location: Ukraine
Posts: 50
|
>>setmemorymax(64)
yes, i did it at immediately when i found this leak. didnt help. >>> (i.e. is this 1-2MB per second just due to avisynth's cache filling up at the beginning). no, it grows all time during encode and finally eat all 3Gb and throw Exception here my a bit simplified script that causes leak common init part Code:
src = "s02e01.avi" metricStats = "metrics_01.txt" mkvTimeCodeOut = "mkv-timecodesfile_01.txt" SetMemoryMax(80) LoadVirtualDubPlugin("MSU_cartoon_restore.vdf","MSUCartoonRestore", 0) AviSource(src,audio=false) Lanczos4Resize(width*2, height*2) ConvertToRGB32() MSUCartoonRestore("bilateral", 1, 56, 36, 1) spline64resize(width/2, height/2) ConvertToYUY2() Code:
tdecimate(mode=4, output=metricStats) crop(0,0,8,8) Code:
tdecimate(mode=5, hybrid=2, vfrDec=1,input=metricStats, mkvOut=mkvTimeCodeOut, vidThresh=15,dupThresh=10, vidDetect=1, cycleR = 1, cycle=2)
__________________
blendhater Last edited by D3C0D3R; 12th May 2010 at 13:20. |
24th September 2010, 18:28 | #1211 | Link |
Registered User
Join Date: Jul 2002
Posts: 587
|
Tdecimate bug?
1280 x 720p source
Set MT build 2.5.8 ================================= mpeg2source("D:\whatever.d2v",idct=5) ChangeFPS(last,last,true) 116 FPS ================================= mpeg2source("D:\whatever.d2v",idct=5) ChangeFPS(last,last,true) Selecteven() 58 FPS ================================= mpeg2source("D:\whatever.d2v",idct=5) ChangeFPS(last,last,true) Selecteven() TDecimate(mode=0,cycleR=1,cycle=5) 39 FPS ================================= mpeg2source("D:\whatever.d2v",idct=5) ChangeFPS(last,last,true) Selecteven() BilinearResize(320,180) TDecimate(mode=0,cycleR=1,cycle=5) 28 FPS More time used to resize down than decimate at full size. interesting! Though 47 FPS if I MT() the resize but that is for another thread. ================================= mpeg2source("D:\whatever.d2v",idct=5) ChangeFPS(last,last,true) Selecteven() ResizedVideo=BilinearResize(320,180) TDecimate(ResizedVideo,mode=0,cycleR=1,cycle=5,clip2=last) 3.1 FPS I thought it would be around 28 FPS like the previous example. Is this a bug? Did i do something wrong? Thanks |
24th September 2010, 21:40 | #1212 | Link |
Registered User
Join Date: Dec 2003
Location: MO, US
Posts: 999
|
Without looking into it in depth, I'd guess it's a cache issue. Try:
mpeg2source("D:\whatever.d2v",idct=5) ChangeFPS(last,last,true) Selecteven() ResizedVideo=BilinearResize(320,180) TDecimate(ResizedVideo,mode=0,cycleR=1,cycle=5,clip2=last.blur(1.0,0)) Or replace blur(1.0,0) with some other fast filter. |
25th September 2010, 14:19 | #1213 | Link | |
Registered User
Join Date: Jul 2002
Posts: 587
|
Quote:
I tried your suggestion and a few other filters and no improvement thanks Last edited by Zep; 26th September 2010 at 20:26. |
|
25th September 2010, 14:28 | #1214 | Link |
Registered User
Join Date: Jul 2002
Posts: 587
|
ok just now i tried
TDecimate(ResizedVideo,mode=0,cycleR=1,cycle=5,clip2=ChangeFPS(last,last,true)) and FPS is at 9 FPS that is the only filter I have passed thus far that has helped. Since that filter grabs 10 frames and caches them it appears it is as you said a cache issue. |
9th July 2011, 11:41 | #1217 | Link |
Registered User
Join Date: Sep 2008
Posts: 365
|
Not meaning as a source filter, off course that works. TFM has the parameter called d2v="filename", which aids in the IVTC process, currently it only seems to support the format from DVD2Avi and DGIndex d2v files.
From the manual: Code:
d2v - This option is intended to be used if you are using an mpeg2source() with a d2v file. It sets the name and path to a d2v file, which TFM will analyze to see if there are any illegal field order changes and optionally set the order parameter using the field order of the d2v file. If the d2v file is found to have illegal field order transitions, TFM will create a fixed d2v file with the string "-FIXED" attached to the end of the file name. The new file will be located in the same directory as the original. You can then use this fixed d2v file for processing. If the order parameter is set to "-1" then TFM will detect the field order from the d2v file and set the order parameter to match. Depending on the value of the "flags" parameter, TFM will also use the d2v info for field matching and will pass info from the d2v on to tdecimate to help aid duplicate detection and hybrid detection. *NOTE: This option currently supports all d2v formats that I am aware of... which include: dvd2avi 1.76, 1.77.3 and its variants, all dvd2avidg versions, and all dgindex versions. example => TFM(d2v="myd2v.d2v") Default: "" (String) flags - Controls how much of the info from the d2v file is used when the "d2v" parameter is set. Possible options: 0 - Check the d2v file for illegal transitions and set the order parameter if it is not already manually set. Also, pass on rff flag duplicate info to tdecimate. 1 - Same as 0, plus use the trf flags for field matching in film sections (sections where the trf flags follow the 012301... pattern) 2 - Same as 1, but use the trf flags for field matching in all areas (doesn't have to be in 0123 pattern) (very much not recommended!) 3 - Same as 0, but don't pass on any info to tdecimate (i.e. only set order and check for illegal transitions) 4 - Same as 1, but d2v matches are checked for being combed. If a d2v match is detected as combed then tfm uses its own matching routine for that frame. 5 - Same as 4, but d2v matches are only checked for being combed around scenechanges. VERY IMPORTANT (MUST READ): For options 0, 1, 2, 4, and 5 to work correctly, tfm/tdecimate must either immediately follow the mpeg2source() command or any filters inbetween them must not modify the order or number of fields in the stream in any way. Or use a trimIn file to tell TFM what frames have been discarded. Default: 4 (int) Last edited by mastrboy; 9th July 2011 at 11:43. Reason: added manual entry |
27th November 2011, 23:58 | #1218 | Link |
Registered User
Join Date: Dec 2002
Location: Region 0
Posts: 1,436
|
I just wanted to post a thank you here for tritical for the great work on TIVC (tfm / tdecimate). The ability to use one clip as the basis for another's decimation with TDecimate ( clip2= ) really helped out my workflow on a few clips I was working on getting back to p24.
Thanks! |
28th November 2011, 00:38 | #1219 | Link |
Registered User
Join Date: Sep 2003
Location: Berlin, Germany
Posts: 3,079
|
Deinterlacing optimum bang for the buck
I.E. optimum quality vs. speed solution
Just want to find out if this line (posted by tritical a few years ago) is still state of the art: Code:
yadifmod(edeint=tdeint(mthreshL=0,mthreshC=0)) Cheers manolito Last edited by manolito; 28th November 2011 at 00:44. |
28th November 2011, 19:55 | #1220 | Link | |
Registered User
Join Date: Dec 2003
Location: MO, US
Posts: 999
|
Quote:
|
|
Tags |
tdeint, tivtc |
|
|