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. |
17th December 2016, 18:59 | #201 | Link | |
Registered User
Join Date: Dec 2010
Posts: 23
|
Quote:
AviSynth 2.6 MT - Athlon II x4 640 OC'd to 3.6 GHz 500 frame 720x480 60i - 1000 frames of output MT Mode not used, EdiThreads=1 to force single threaded performance for testing 3.33 2016-12-06 mod YUY2 4.608 fps YV16 5.591 fps 3.34 YV16 5.608 fps The YV16 numbers are very close, but the old YUY2 code is slow. The main benefits are always using the YV16 path when possible and having less code to maintain (3.33 2016-12-06 mod is 91.4 KB, 3.34 is 77.1 KB). As I said in a previous post, YUY2 support could easily be added back to QTGMC by immediately converting to YV16 and converting back to YUY2 before returning at the end. Last edited by ravewulf; 17th December 2016 at 19:24. |
|
17th December 2016, 19:04 | #202 | Link | |
Registered User
Join Date: Dec 2010
Posts: 23
|
Quote:
MaskTools2 Supports YV16, doesn't support YUY2 MVTools supports YV16, YUY2 requires SSE2Tools hack so YV16 is preferable RgTools supports YV16, YUY2 requires SSE2Tools hack so YV16 is preferable Nnedi3 supports both YV16 and YUY2 Optional Support both YV16 and YUY2 - AddGrainC, Dfttest Supports YV16, doesn't support YUY2 - yadifmod2, KNLMeansCL Don't support YV16, but support YUY2 directly without SSETools hack - FFT3DFilter, NNEDI2, NNEDI, EEDI3, EEDI2, TDeint Going with YV16 by default is simpler than YUY2 by default. Certainly a lot simpler than previous versions. If any of the older plugins do get updated with YV16 support, the conditional conversions for that specific plugin can easily be removed. Also, as pointed out in my post directly above, using YV16 instead of YUY2 wherever possible is faster and uses less code. |
|
17th December 2016, 19:22 | #203 | Link | |
Registered User
Join Date: Dec 2010
Posts: 23
|
Quote:
I'm having trouble with MvTools2 2.7.7.22 (20161215) stalling at the end, but MvTools2 2.7.0.22d seems to be ok. Edit: I'll work on a version of QTGMC 3.34 that uses the 3.33 2016-04-11 version as a base instead of the 3.33 2016-12-06 version as it seems to be more stable. Last edited by ravewulf; 17th December 2016 at 19:59. |
|
17th December 2016, 23:52 | #204 | Link |
Registered User
Join Date: Jan 2012
Location: Mesopotamia
Posts: 2,599
|
here is my mod with ravewulf idea http://pastebin.com/1rdYVVKq
note: not tested enough, test it with cautiously
__________________
See My Avisynth Stuff Last edited by real.finder; 18th December 2016 at 03:30. |
17th December 2016, 23:55 | #205 | Link | |
Registered User
Join Date: Dec 2010
Posts: 23
|
Qtgmc 3.34 2016-12-17
Now based on real.finder's QTGMC 3.33 2016-04-11 mod and should be more stable.
v3.34 2016-12-17
AddGrainC, dfttest, MaskTools2, MvTools2, NNEDI3, KNLMeansCL, RgTools, and yadifmod2 support YV16 FFT3DFilter, NNEDI2, NNEDI, EEDI3, EEDI2, TDeint still rely on YUY2, but accept it directly without SSE2Tools. Quote:
Please let me know if there's something I missed or if you find a problem with my changes. Last edited by tebasuna51; 21st April 2017 at 12:43. Reason: code -> quote |
|
18th December 2016, 02:31 | #206 | Link | |
Registered User
Join Date: Sep 2012
Posts: 366
|
Quote:
Code:
ssispmt = Findstr(VersionString(), "AviSynth+") != 0 && Findstr(VersionString(), "r1576") == 0 Which I'm thinking at the moment means any version of AviSynth+ other than "r1576" will attempt to use ExtractU, even though the filter was only added to the most recent build and there were many releases between the two. Does that sound about right? I'm thinking it would have to figure out some way of converting the revision number to an integer in order to be viable in the short term and avoid this particular bug, but what do I know. |
|
18th December 2016, 03:12 | #207 | Link | |
Registered User
Join Date: Dec 2010
Posts: 23
|
Quote:
Code:
BlankClip() str = VersionString() #get version string strPos = FindStr(str,"(r") #find start of (r#### str = MidStr(str,strPos+2) #get substring that starts with the number vn = Value(str) #convert to a number value str = String(vn > 1576) #check against a known version Subtitle(str) Edit: Better idea - take a leaf out of my web dev book and avoid version detection Code:
BlankClip(pixel_type="YV12") try { c420 = Is420(last) #code which may fail if the functions don't exist } catch (errStr) { c420 = IsYV12(last) #fallback code } Subtitle(String(c420)) Last edited by ravewulf; 18th December 2016 at 03:36. |
|
18th December 2016, 03:45 | #208 | Link |
Registered User
Join Date: Jan 2012
Location: Mesopotamia
Posts: 2,599
|
ok new edit in the same post here http://forum.doom9.org/showpost.php?...postcount=2041
don't forget SMDegrain if you use tv_range=true (Default for now) and if you use avs+mt (not the r1576 that has no mt, r1576 is work like any normal avs 2.6) use the most last updated here or newer
__________________
See My Avisynth Stuff Last edited by real.finder; 3rd April 2017 at 01:50. |
18th December 2016, 12:55 | #209 | Link | |
Registered User
Join Date: Jan 2014
Posts: 2,349
|
Quote:
|
|
19th December 2016, 09:05 | #210 | Link |
Registered User
Join Date: Dec 2016
Posts: 2
|
công ty chúng tôi chuyên về lắp https://internetvietnam.net/dang-ky-lap-dat-internet-tai-huyen-binh-chanh.html và https://forum.audacityteam.org/viewtopic.php?t=93857 và https://band.us/@dulichviet và tiếp thị kỹ thuật số cho khách hàng.
Ngoài ra đây là điểm đến lư tương để khách hàng nhu cầu về cho mọi doanh nghiệp và hộ gia đ́nh.
__________________
G9! Last edited by thanhvanchi; 16th February 2020 at 08:35. |
21st December 2016, 10:02 | #211 | Link |
Registered User
Join Date: Dec 2003
Posts: 155
|
What's the best way to eliminate crashes when using MT?
I'm currently down to this, but it still crashes quite frequently, while encoding with x264 (source is PAL DVD): SetMTMode(5, 5) SetMemoryMax(700) DGDecode_mpeg2source(...) AssumeTFF() ColorMatrix(hints=true, threads=0) SetMTMode(2) QTGMC(Preset="Slow", EdiThreads=1) Distributor() I get about 30fps which I think is pretty decent (on i7-6700K stock settings). I've got 32GB memory, so that shouldn't be a problem, but it could be that thing needs to be fine tuned better. A few things I've noticed: - Often when it crashes, the x264 file was encoded much bigger than it should (???) - When I encoded a tv-series from a mostly progressive source, to remove bad deinterlacing artifacts, keeping the fps at 25, it did not crash at all. |
21st December 2016, 10:14 | #213 | Link |
Registered User
Join Date: Mar 2011
Posts: 4,965
|
odyssey, try this:
DGDecode_mpeg2source(...) AssumeTFF() ColorMatrix(hints=true, threads=0) QTGMC(Preset="Slow", EdiThreads=1) Trim(0,4999) #or whatever frame range encodes half the video Then create another script to encode the second half and run them simultaneously. Even if they both only run at 15fps, it's be 2x15fps and should be far more stable. Add --stitchable to the x264 command line and append the encoded video with MKVToolnix (assume an MKV output is fine). |
21st December 2016, 11:02 | #214 | Link |
Registered User
Join Date: Sep 2012
Posts: 366
|
Code:
Parts=2 Part=1 Trim(floor(framecount/Parts)*(Part-1), (floor(framecount/Parts)*Part)-1) Multithreading is working fine for me though. |
21st December 2016, 11:44 | #215 | Link | |||
Registered User
Join Date: Dec 2003
Posts: 155
|
Quote:
Quote:
Quote:
Not a bad idea, and may even give better fps. One major drawback is however that it complicates scripting this I'm encoding shows, so I could probably make it easier by just encoding multiple episodes at the same time. Also I would probably join them using ffmpeg afterwards. Gotta play a bit with this Thanks for the suggestions so far! |
|||
21st December 2016, 12:13 | #216 | Link | |
Join Date: Mar 2006
Location: Barcelona
Posts: 5,034
|
Quote:
Lastly, how are you feeding the script to x264?
__________________
Groucho's Avisynth Stuff |
|
21st December 2016, 12:53 | #217 | Link | |
Registered User
Join Date: Dec 2003
Posts: 155
|
Quote:
I started out with memory at about 3200 AFAIR, but then read that it may be too high. I'll try the Avisynth+ Thanks for the suggestion. x264_8bit_x86.exe --crf 16 --preset slower --level 4.1 --fps 50 --sar !sar! --output "!h264file!" "!avsfile!" |
|
21st December 2016, 13:06 | #218 | Link |
Registered User
Join Date: Sep 2012
Posts: 366
|
Hmmm. I told a lie... I AM having problems multi-threading but only when denoising is turned on (which is used by default in placebo mode). It doesn't crash but it does fill the frame with crap occasionally... I tracked it down to the dnWindow stage... maybe I'll try a different version of fft3dfilter...
Grr, I'm trying got figure out what's causing it but... Grr: http://forum.doom9.org/showpost.php?...postcount=2041 http://pastebin.com/raw/r4esUcVF Whoever last edited that used the variable name "EdiMode" in SourceMatch rather than MatchEdi... |
21st December 2016, 13:09 | #219 | Link | |
Join Date: Mar 2006
Location: Barcelona
Posts: 5,034
|
Quote:
Posting the AVSMeter log would avoid a lot of questions, for example what OS you're running. You can also use AVSMeter to check the memory consumption of your script.
__________________
Groucho's Avisynth Stuff |
|
21st December 2016, 13:29 | #220 | Link |
Registered User
Join Date: Sep 2012
Posts: 366
|
There's no equivalent to ChromaEdi inside SourceMatch, so I have no idea what the hell to do with that.
Were EdiMode and ChromaEdi supposed to have been passed to SourceMatch or should that bit of code be in the main function? *sigh* I'll go back to my modified version and go back to what I was doing, maybe I'll be able to "update to the latest version" for testing tomorrow. |
Thread Tools | Search this Thread |
Display Modes | |
|
|