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. |
12th May 2011, 03:07 | #1084 | Link |
Registered User
Join Date: Mar 2004
Posts: 889
|
It seems ffindex() from r259-x64 is re-indexing MKV files unnecessarily. I mux a H264 MKV from a M2TS using eac3to. The AVS script is simply:
ffindex("abc.mkv") ffvideosource("abc.mkv") If I open the AVS script in VirtualDub x86, the index file is created once and re-used when opened subsequently. But when opened in VirtualDub x64, the index file is overwritten every time. Does anyone have similar experience? |
12th May 2011, 08:54 | #1085 | Link |
User of free A/V tools
Join Date: Jul 2006
Location: SK
Posts: 826
|
I have never ever used ffindex() in AVS script, what is the point of doing so?
Though I don't have deep knowledge how ffindex() inside Avisynth works I'd assume that what you are experiencing in VD x64 is probably correct behaviour in this case. My assumption is based on the following: ffvideosource() is clever enough to create (when used for non-indexed material yet) the index automatically and will re-use that index as long as the source didn't change. Calling ffindex() explicitly OTOH just does what you are asking it to do = to index the source file over and over again. If my understanding is wrong then feel free to correct me, thanks. |
12th May 2011, 10:39 | #1086 | Link | ||||
Excessively jovial fellow
Join Date: Jun 2004
Location: rude
Posts: 1,100
|
Quote:
Quote:
Quote:
FFIndex() will not overwrite an existing index file if it is considered valid, unless you explicitly pass overwrite=true as a parameter. On the other hand, if it thinks the index file isn't valid it'll be overwritten. FFVideoSource()'s automatic indexing behavior is subtly different. From the manual again: Quote:
Last edited by TheFluff; 12th May 2011 at 10:46. |
||||
13th May 2011, 01:03 | #1087 | Link |
Registered User
Join Date: Mar 2004
Posts: 889
|
Sorry, it's r459, not r259. Silly typo I've done another test.... now it's r462 and the script is simply
ffvideosource("abc.avi") # a normal 500MB AVI I keep opening the same AVS in VirtualDub 1.9.11. When I re-open (again and again) the AVS in VD x86, it loads instantaneously and the index file (file date) is not updated. Then when I try it in VD x64, it pauses for quite a while and the index file (file date) is updated every time. If I open the AVS script in VD x86 and x64 alternately, the index file is always updated. What I observed is: 1) x64 never re-uses the index file it produces. 1) Even both are r462, x86 and x64 do not share their index files. |
13th May 2011, 04:09 | #1088 | Link | |
Compiling Encoder
Join Date: Jan 2007
Posts: 1,348
|
Quote:
This was tested with both ffmpeg-mt and ffmpeg vanilla. |
|
13th May 2011, 17:22 | #1092 | Link | |
Excessively jovial fellow
Join Date: Jun 2004
Location: rude
Posts: 1,100
|
Quote:
Index files are NOT COMPATIBLE between different FFMS binaries. Generally a given index file can ONLY be used with the exact binary it was generated with. No. |
|
14th May 2011, 01:58 | #1093 | Link | |
warpsharpened
Join Date: Feb 2007
Posts: 787
|
Quote:
And it will recreate the index if such an incompatibility is found. ffms2-mt-r464.7z ffms2-mt-r464-avs64.7z Last edited by TheRyuu; 14th May 2011 at 02:04. |
|
16th May 2011, 01:13 | #1095 | Link |
Registered User
Join Date: Mar 2004
Posts: 889
|
Installed r464 and cleaned up my plugin directory and the AVIS script. Now it works as expected. Thank you very much for your help. But it is a bit disappointed that x32 and x64 of the same revision write different index files.
BTW, I am also doing multi-process encodes. 4 parallel single/minimal-threaded pass-0 encodes are really faster (at the time being), especially on a SSD. |
16th May 2011, 09:45 | #1097 | Link |
Excessively jovial fellow
Join Date: Jun 2004
Location: rude
Posts: 1,100
|
Doing multiple encodes of different files in different script environments (i.e. different instances of the encoding program) at the same time cannot possibly affect anything. You're either getting an unrelated crash or you're just doing it wrong. You're not using that silly MT() filter or something, are you? (post your entire script)
|
16th May 2011, 10:22 | #1098 | Link | |
Avisynth Developer
Join Date: Jan 2003
Location: Melbourne, Australia
Posts: 3,167
|
Quote:
Unfortunately both the Avisynth core and many plugins tend to handle memory allocation failures ungracefully, i.e. they crash and burn. |
|
16th May 2011, 11:10 | #1099 | Link | |
Excessively jovial fellow
Join Date: Jun 2004
Location: rude
Posts: 1,100
|
Quote:
Last edited by TheFluff; 16th May 2011 at 11:14. |
|
16th May 2011, 11:17 | #1100 | Link |
Software Developer
Join Date: Jun 2005
Location: Last House on Slunk Street
Posts: 13,248
|
If memory allocation fails, it either means the process has exceeded its maximum virtual memory size (which can easily happen with 32-Bit processes, but is completely unrelated from other processed running on the system) or the operating system really cannot allocate any additional memory pages (i.e. all the physical memory and all the swap-space on the HDD is completely full). The latter case indeed can be influenced by other processes, but its unlikely to happen under normal circumstances. And, if it does happen, it will cause serious trouble for all programs running on the computer. Windows would also pop up a fat warning message in that case...
__________________
Go to https://standforukraine.com/ to find legitimate Ukrainian Charities 🇺🇦✊ Last edited by LoRd_MuldeR; 16th May 2011 at 11:21. |
|
|