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. |
30th March 2020, 14:11 | #121 | Link | |
Registered User
Join Date: Mar 2011
Posts: 4,823
|
Quote:
Do most household only have a single PC? There's four used regularly here, one of which is an old Pentium 3. I've procrastinated replacing my PC because I can't bring myself to install Windows Spyware 10, and switching to Linux would require more effort and a learning curve, although as Linux Avisynth appears to be a thing now it's probably time, but this PC will keep running XP because I use some old Windows-only software, including a program that was abandoned after the upgrade for Windows 2000. There's a fair chance I'll still use this PC to encode video occasionally too. Old PCs might be slow, but you can still encode faster using them alongside a new computer running the latest hardware than you can if you don't. Last edited by hello_hello; 30th March 2020 at 14:21. |
|
30th March 2020, 15:36 | #122 | Link | |
Registered User
Join Date: Dec 2002
Location: Region 0
Posts: 1,436
|
Quote:
4 of them run Windows 10, the HTPC runs Windows 8.1. Every P3, P4, & Core2 duo/quad system have long been put out to pasture. With x265 the Ryzen 9 system is ~4x faster than the 2nd E5 Xeon. Everything else is much slower* (technically the 8th gen i7 laptop [Dell XPS 13] is about as fast as the 2nd E5 Xeon in x265 thanks to AVX2 and other core enhancements but it sits in the high 90C's encoding thermally throttling the whole time with the internal fans cranked and I don't think that's good for the system for hours on end). Sure, I could get slightly more throughput using all the systems or even including old retired systems collecting dust, but it doesn't make sense. 1) It's a pain to split encodes if you want to use a qpfile file and have full control of the encoding process. The more pieces the bigger the hassle. Do I want to be messing with getting yet another system encoding it's tiny part of the job for another 5% of encoding throughput? Nope... 2) Even if not splitting single encodes, power efficiency is a thing. Electricity isn't super expensive here and I'm not exactly a treehugger, but doubling my power usage to get another 5% of total encoding throughput by using an old system hardly seems prudent. Last edited by Stereodude; 30th March 2020 at 17:53. |
|
30th March 2020, 16:09 | #123 | Link |
Registered User
Join Date: Mar 2011
Posts: 4,823
|
So you're the person using QPFiles. I figured someone must... but I didn't know who....
I'm OCD about a lot of things, but my enthusiasm for driving myself insane hasn't extended to QPFiles. I did consider it.... as there's software for converting QPFiles from chapters etc, but if you remove the studio promos from the beginning of a movie, which I generally do, they become too much trouble for me. And of course it makes splitting scripts harder, which I do more than I'd like to. Usually to fix a problem I missed, such as cropping or because a word in the hard-coded subs wasn't spelled correctly.... Edit: thinking about it, I could always encode the studio promos and cut them out later if I was using a QPFile created from chapters, although I'd need to split the script or use a QPFile to make sure there's a keyframe in the splitting position. Actually, I might need to rethink my entire position on QPFiles, now I'm talking about them. In order to edit the crap from the beginning or end of movies and because I'm lazy, I usually encode them separately after splitting the script to ensure there's a keyframe where one needs to be, then I append the split output, add the other streams and tell MKVToolNix to split the output at the same point, so it splits off the audio and subtitles etc too and I don't have to think about it. Instead of splitting the script to ensure there's a keyframe at the split point, I assume I could be using a QPFile. I'll give it a spin to see if it's quicker than copying the script and adding Trim() to the end. Although I would have to remember to add the QPFile to the command line, which I'm sure I'll regularly forget to do for at least the first 100 encodes . Last edited by hello_hello; 30th March 2020 at 16:30. |
30th March 2020, 17:26 | #124 | Link |
Registered User
Join Date: May 2006
Posts: 3,997
|
Interlaced source.
script 1: Code:
AVIsource("source").ConverttoYV12(interlaced=true).AssumeTFF() separatefields() e=selecteven().fft3Dfilter(interlaced=false) o=selectodd().fft3Dfilter(interlaced=false) interleave(e,o) weave() Code:
AVIsource("source").ConverttoYV12(interlaced=true).AssumeTFF() fft3Dfilter(interlaced=true) When separating the fields only 1 field is the same, the other field is different for the 2 scripts |
30th March 2020, 18:05 | #125 | Link | |
Registered User
Join Date: Dec 2002
Location: Region 0
Posts: 1,436
|
Quote:
I made a fairly simple spreadsheet to sort it all out when splitting. It suggests what frames to split the files (length / number of pieces). I open it in VD2 and use the closest scene change to the suggested number, enter those new frame numbers in a different row of the spreadsheet and then based on the original frame numbers of keyframes for chapter stops will tell me what frame number they need to be in each segment with only a little manual manipulation. It's then a copy paste fiesta to put the appropriate trim command into 8 avs files based on the spreadsheet and copy and paste to make 8 .chp files. It's not hard to do, but i'd estimate it still takes 20-30 minutes from start to finish. |
|
30th March 2020, 18:58 | #126 | Link |
結城有紀
Join Date: Dec 2003
Location: NJ; OR; Shanghai
Posts: 894
|
I wrote scripts to split AVS into multiple segments by converting chapter files, and then send them to different servers to encode, and later join the GOP files together.
Usually I only have to eac3to the chapters and prepare a universal avsi file to be imported, and all other works are for loop with scripts. Code:
function p(string c, int fstart, int fend) { MP_Pipeline(""" lwlibavvideosource(""" + chr(34) + c + ".m2ts" + chr(34) + """, threads=1) ### prefetch: 32, 16 ### lock threads to cores 4 ### ### QTGMC(Preset="fast") ### prefetch: 32, 16 ### lock threads to cores 6 ### ### left = crop(0,0,976,0).MCTD().crop(0,0,960,0) crop(944,0,0,0) ### export clip: left ### prefetch: 32, 16 ### lock threads to cores 8 ### ### right = MCTD().crop(16,0,0,0) stackhorizontal(left, right) ### prefetch: 32, 16 ### lock threads to cores 10 ### ### """) trim(fstart,fend) f3kdb(output_depth=10,y=48,cb=48,cr=48,grainy=0,grainc=0) } Code:
import("mm.avsi") p("01", 141600, 157957) |
30th March 2020, 23:11 | #127 | Link |
結城有紀
Join Date: Dec 2003
Location: NJ; OR; Shanghai
Posts: 894
|
I have uploaded the very first formal version here at GitHub.
141XP is included. msvc-x86 and -x64 are for daily drive. SSE and AVX routine is included for all core functions. Let me know how it works for ya. |
30th March 2020, 23:47 | #128 | Link |
Registered User
Join Date: Dec 2005
Location: Germany
Posts: 1,795
|
I guess VS suport is still WIP? The function name is DelogoHD for VS
__________________
AVSRepoGUI // VSRepoGUI - Package Manager for AviSynth // VapourSynth VapourSynth Portable FATPACK || VapourSynth Database |
31st March 2020, 00:24 | #129 | Link |
結城有紀
Join Date: Dec 2003
Location: NJ; OR; Shanghai
Posts: 894
|
Oops, that was a copy paste mistake. Please re-download and try.
FYI, I don't have VapourSynth environment here so I only made sure it compiles. If it's convenient for you to test on VS please let me know any issue. |
31st March 2020, 00:59 | #130 | Link |
Registered User
Join Date: Dec 2005
Location: Germany
Posts: 1,795
|
hmm, it seems like the filter does nothing. I even tried very high sigma values, but the image is unchanged: clip.neo_fft3d.FFT3D(sigma=90)
__________________
AVSRepoGUI // VSRepoGUI - Package Manager for AviSynth // VapourSynth VapourSynth Portable FATPACK || VapourSynth Database |
31st March 2020, 01:32 | #131 | Link |
結城有紀
Join Date: Dec 2003
Location: NJ; OR; Shanghai
Posts: 894
|
I shall find a way to make planes default to [0,1,2]. Also reading some unfreed memory blocks, needs investigating.
Try v3.
__________________
Projects x265 - Yuuki-Asuna-mod Download / GitHub TS - ADTS AAC Splitter | LATM AAC Splitter | BS4K-ASS Neo AviSynth+ filters - F3KDB | FFT3D | DFTTest | MiniDeen | Temporal Median Last edited by MeteorRain; 31st March 2020 at 01:52. |
31st March 2020, 08:37 | #132 | Link |
Registered User
Join Date: Dec 2005
Location: Germany
Posts: 1,795
|
v3 clang x64 gets "stuck" in vsedit if more then 1 frame is requested simultaneously. If I hit the play button or benchmark (tested it also with blankclip just to be sure it's not the source)
msvc looks a bit better, it gets only stuck sometimes Tested with R48 / R49 x64, win10, ryzen 2600 oh and sigma works now in v3 Edit: core.std.SetMaxCPU("none") did not help
__________________
AVSRepoGUI // VSRepoGUI - Package Manager for AviSynth // VapourSynth VapourSynth Portable FATPACK || VapourSynth Database Last edited by ChaosKing; 31st March 2020 at 08:46. |
31st March 2020, 09:02 | #133 | Link |
結城有紀
Join Date: Dec 2003
Location: NJ; OR; Shanghai
Posts: 894
|
SetMaxCPU changes the instruction set to VapourSynth, so I don't think that matters.
I tried clang x64 and msvc x64 with VirtualDub2, both look pretty normal. Does it only break on VSEdit? Mind pasting the full script? Are you on YUV420P8 or some more "advanced" pixel format? |
31st March 2020, 09:20 | #134 | Link |
Registered User
Join Date: Dec 2005
Location: Germany
Posts: 1,795
|
Same thing happens in vdub
Code:
import vapoursynth as vs core = vs.core clip = core.std.BlankClip(format=vs.YUV420P8) clip = clip.neo_fft3d.FFT3D() clip.set_output()
__________________
AVSRepoGUI // VSRepoGUI - Package Manager for AviSynth // VapourSynth VapourSynth Portable FATPACK || VapourSynth Database |
31st March 2020, 10:07 | #135 | Link |
結城有紀
Join Date: Dec 2003
Location: NJ; OR; Shanghai
Posts: 894
|
Reproduced.
When I copy paste to create my VPY script it had set threads to 1 already, which is why I didn't reproduce it. Multi-threading upstream request needs some special routine and I've fixed it accordingly (hopefully!). Try v4.
__________________
Projects x265 - Yuuki-Asuna-mod Download / GitHub TS - ADTS AAC Splitter | LATM AAC Splitter | BS4K-ASS Neo AviSynth+ filters - F3KDB | FFT3D | DFTTest | MiniDeen | Temporal Median Last edited by MeteorRain; 31st March 2020 at 11:10. |
31st March 2020, 18:26 | #136 | Link |
Registered User
Join Date: Dec 2005
Location: Germany
Posts: 1,795
|
v4 is looking good
A quick speed test (x64) with a ntsc DVD, default values: - neo fft clang ~ 71.8 fps - neo fft msvc ~73.9 fps - neo fft msvc-xp ~74.1 fps - "old" fft ~ 67.4 fps run multiple times 1500 frames in vsedit
__________________
AVSRepoGUI // VSRepoGUI - Package Manager for AviSynth // VapourSynth VapourSynth Portable FATPACK || VapourSynth Database Last edited by ChaosKing; 31st March 2020 at 18:28. |
31st March 2020, 23:27 | #137 | Link |
Broadcast Encoder
Join Date: Nov 2013
Location: Royal Borough of Kensington & Chelsea, UK
Posts: 2,883
|
This is weird...
I tried the version from msvc-xp_x86 and Dependency Walker says that everything is fine, however when I try to use the plugin, it prompts me to an "Access Violation". Yet, when I run AVSMeter on my plugin folder, it doesn't complain at all, it just shows me neo-fft3d in my plugin+ folder. Code:
FFVideoSource("test.mkv") neo_FFT3D() Code:
FFVideoSource("test.mkv") neo_FFT3D(sigma=2.0, bt=3, y=3, u=3, v=3) Code:
ColorBars(width=640, height=480, pixel_type="YV12") neo_FFT3D(sigma=2.0, bt=3, y=3, u=3, v=3) However... it works fine on Windows 10 (same PC, same hardware, same Avisynth installation, same fftw3.3.8, same AVS Script, same version of AVSPmod)... The former version made by Ferenc Pinter, however, works like a charm on XP. But I don't understand why... it should work, every dependency is included, the compiler compiled fine and didn't complain about anything and the CPU - although it supports 'till AVX2 - should be able to use the SSE/SSE2/SSSE3/SSE4.1/SSE4.2 on XP... Is there a way to force SSE instead of AVX on Windows 10? Just to make sure that nothing is broken in the code and that it has really something (weird and deeply obscure) to deal with XP? |
31st March 2020, 23:55 | #138 | Link |
結城有紀
Join Date: Dec 2003
Location: NJ; OR; Shanghai
Posts: 894
|
If you can compile it youself, here's the compiling script: https://gist.github.com/msg7086/bb23...cc8c2c49f90c0e
To remove AVX routine, comment this out. |
1st April 2020, 07:06 | #139 | Link |
Registered User
Join Date: Jan 2014
Posts: 2,309
|
It's probably not an AVX problem, for XP you have to build with v141_xp platform toolset (Visual Studio 2017 - Windows XP (v141_xp)) _and_ manually adding
/Zc:threadSafeInit- to the additional options for C/C++ compiler |
Thread Tools | Search this Thread |
Display Modes | |
|
|