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.

 

Go Back   Doom9's Forum > Capturing and Editing Video > Avisynth Development

Reply
 
Thread Tools Search this Thread Display Modes
Old 7th July 2020, 09:10   #581  |  Link
Groucho2004
 
Join Date: Mar 2006
Location: Barcelona
Posts: 5,034
My take on this using common sense:

Anyone downloading the files-only package has Avisynth+ already installed either via regular installer or Universal Installer. Either option installs/contains the colors_rgb.avsi file. So, no need to put it in the package unless there were changes to it which I believe happens only once a decade.
__________________
Groucho's Avisynth Stuff
Groucho2004 is offline   Reply With Quote
Old 7th July 2020, 11:18   #582  |  Link
StainlessS
HeartlessS Usurer
 
StainlessS's Avatar
 
Join Date: Dec 2009
Location: Over the rainbow
Posts: 10,980
Last change to colors_rgb.avsi was (2015) removal of a double entry for color_palegoldenrod,
https://forum.doom9.org/showthread.p...65#post1711065

Quote:
Originally Posted by StainlessS View Post
EDIT: The diligent amongst you might notice two copies of "color_palegoldenrod" in the mp4,
this is a duplicate in colors_rgb.avsi as installed by v2.6RC1, you might like to delete duplicate from your copy,
reported in RC1 devs thread.


The double entry is in the image when topmost color is OrangeRed.
EDIT: Only the RGB colors are in colors_rgb.avsi, the other YUV color values are calculated from those, see linked thread.
__________________
I sometimes post sober.
StainlessS@MediaFire ::: AND/OR ::: StainlessS@SendSpace

"Some infinities are bigger than other infinities", but how many of them are infinitely bigger ???

Last edited by StainlessS; 7th July 2020 at 11:32.
StainlessS is offline   Reply With Quote
Old 10th July 2020, 04:28   #583  |  Link
gispos
Registered User
 
Join Date: Oct 2018
Location: Germany
Posts: 996
Avisynth 3.6.2
Have not tried whether it is the same with the 3.6.x versions

If MP_Pipeline is in a script, this script can no longer be loaded with AviSource.
This is a huge problem for me, with Delphi 'AviSource' is the only way to open a script when MCTD is called in that script.

I would like to know why that is with Delphi and 'MCTD', it has been plaguing me for a few months and I just can't figure it out.

Edit:
That with Avisynt 3.6.2 and AviSource was my mistake.
There was a 3.6.1 version in one system directory, after replacement AviSource works again.
__________________
Live and let live

Last edited by gispos; 10th July 2020 at 06:01.
gispos is offline   Reply With Quote
Old 10th July 2020, 10:25   #584  |  Link
wonkey_monkey
Formerly davidh*****
 
wonkey_monkey's Avatar
 
Join Date: Jan 2004
Posts: 2,493
Are we able to apply and read per-frame/per-clip property values these days (in C++)? If so is there documentation?
__________________
My AviSynth filters / I'm the Doctor
wonkey_monkey is offline   Reply With Quote
Old 10th July 2020, 13:05   #585  |  Link
DJATOM
Registered User
 
DJATOM's Avatar
 
Join Date: Sep 2010
Location: Ukraine, Bohuslav
Posts: 377
Probably that can be used as example how to use them in plugins: https://github.com/AviSynth/AviSynth...ader.cpp#L1189
__________________
Me on GitHub
PC Specs: Ryzen 5950X, 64 GB RAM, RTX 2070
DJATOM is offline   Reply With Quote
Old 10th July 2020, 17:13   #586  |  Link
wonkey_monkey
Formerly davidh*****
 
wonkey_monkey's Avatar
 
Join Date: Jan 2004
Posts: 2,493
Thanks, I'll peruse that.

I still think a true inter-filter communication system would be awesome... at least for the kind of filters I keep finding myself writing...
__________________
My AviSynth filters / I'm the Doctor
wonkey_monkey is offline   Reply With Quote
Old 11th July 2020, 11:55   #587  |  Link
wonkey_monkey
Formerly davidh*****
 
wonkey_monkey's Avatar
 
Join Date: Jan 2004
Posts: 2,493
This isn't really sinking very well, so... if a frame or clip is given a property, but is then passed through another filter, are all the properties lost?
__________________
My AviSynth filters / I'm the Doctor
wonkey_monkey is offline   Reply With Quote
Old 11th July 2020, 12:46   #588  |  Link
StainlessS
HeartlessS Usurer
 
StainlessS's Avatar
 
Join Date: Dec 2009
Location: Over the rainbow
Posts: 10,980
Quote:
Originally Posted by wonkey_monkey View Post
This isn't really sinking very well, so... if a frame or clip is given a property, but is then passed through another filter, are all the properties lost?
Something here:- https://forum.doom9.org/showthread.p...60#post1913860

Suggest Search on:- keyword "Properties", Show result as Posts, user name Pinterf, search in forum(s) Capturing & Editing Video/Avisynth Developement.
__________________
I sometimes post sober.
StainlessS@MediaFire ::: AND/OR ::: StainlessS@SendSpace

"Some infinities are bigger than other infinities", but how many of them are infinitely bigger ???
StainlessS is offline   Reply With Quote
Old 13th July 2020, 07:38   #589  |  Link
LigH
German doom9/Gleitz SuMo
 
LigH's Avatar
 
Join Date: Oct 2001
Location: Germany, rural Altmark
Posts: 6,753
There is a report in the German Gleitz forum about audio issues with MeGUI (it locks up, no progress) when SuperEQ is used to upmix stereo to 6Ch. MeGUI prepares an AviSynth script and a subdirectory with SuperEQ parameter files per channel. But the conversion apparently gets stuck. This happens also when the script is fed directly into ffmpeg. I did not yet test this myself. But I guess it could be worth an investigation whether any regression was introduced in the audio part (depending on the exact AviSynth+ DLL version)...

MeGUI: 2924 x86
AviSynth+ 3.5 (r3106, 3.5, i386)
__________________

New German Gleitz board
MediaFire: x264 | x265 | VPx | AOM | Xvid
LigH is offline   Reply With Quote
Old 13th July 2020, 20:58   #590  |  Link
manolito
Registered User
 
manolito's Avatar
 
Join Date: Sep 2003
Location: Berlin, Germany
Posts: 3,078
This is a follow-up to this older post:
https://forum.doom9.org/showthread.p...19#post1916219

I have no idea what to make of it, but after a few days of testing with different HD sources (only testing 32-bit AVS+) I can clearly reproduce that version 3.6.1 Test 8 is by far more stable in MT mode than the later versions 3.6.1 stable (tested only the "standard" non-XP version) and also the latest 3.6.2 Test 1 version.

Test platform:
ThinkPad T530 with a Core i5-3230M (Ivy Bridge, 3rd generation)
8 GB of RAM
Win7 Pro 64-bit
AVS+ Prefetch value was set to 4 threads

I converted HD sources (AVC or HEVC video at 50 fps, AAC, AAC-LATM or E-AC3 audio) to SD with AVC video and AAC audio. I used older 2.6 and 2.5 plugins. MT settings from the mtmodes.avsi taken from the AVS+ Wiki page, additions taken from this post by almosely:
https://forum.doom9.org/showthread.p...79#post1865279
The changes are in the 3rd paragraph of the post.

These tweaks made AVS+ 3.5.x quite stable already, but with some exceptions. After establishing a job in StaxRip (latest stable 32-version) it turned out that it was mostly necessary to save the job first, reboot and then start the job. Also Web browsing during the X264 encode was not really safe. If I did not take these precautions, X264 would crash randomly, mostly near the end of the conversion.

After experimenting with the AVS+ 3.6.1 test builds I found that the MT behavior had improved. Especially with Test 8 it was possible to browse the Web, even streaming a YouTube clip during the encode. Also a reboot before starting the actual encode was no longer required.

But the joy stopped after installing the stable version 3.6.1. The old occasional crashes were back again. I used the "standard" non-XP build.

And last I tested 3.6.2 Test 1, this build is XP-compatible again. So I hoped that the stability of 3.6.1 Test 8 would reappear, but it did not. Same random crashes as with 3.5.x and 3.6.1 stable.

The conclusion is that these differences in MT stability have nothing to do with the fact if the build is XP compatible or not. It looks more like something in the code itself has changed after 3.6.1 Test 8, and this change affects memory handling in multitasking mode. No way for a user to debug this, only pinterf or qyot27 could possibly find out what is going on here.

I am back to version 3.6.1 Test 8 for the time being...


Cheers
manolito

Last edited by manolito; 14th July 2020 at 02:58.
manolito is offline   Reply With Quote
Old 14th July 2020, 11:37   #591  |  Link
tebasuna51
Moderator
 
tebasuna51's Avatar
 
Join Date: Feb 2005
Location: Spain
Posts: 6,890
Quote:
Originally Posted by LigH View Post
...audio issues with MeGUI (it locks up, no progress) when SuperEQ is used to upmix stereo to 6Ch. MeGUI prepares an AviSynth script and a subdirectory with SuperEQ parameter files per channel. But the conversion apparently gets stuck.
...any regression was introduced in the audio part (depending on the exact AviSynth+ DLL version)...
AviSynth+ 3.5 (r3106, 3.5, i386)
Of course the regression is here:
Quote:
SuperEQ(clip, string filename)

Audio is always converted to Float.
AVS+ no conversion is performed. Accepts Float audio only.
The script created by MeGUI must include a ConvertAudioToFloat() before call SuperEQ in Avs+
__________________
BeHappy, AviSynth audio transcoder.
tebasuna51 is offline   Reply With Quote
Old 14th July 2020, 12:35   #592  |  Link
LigH
German doom9/Gleitz SuMo
 
LigH's Avatar
 
Join Date: Oct 2001
Location: Germany, rural Altmark
Posts: 6,753
Thanks, I will report that there.
__________________

New German Gleitz board
MediaFire: x264 | x265 | VPx | AOM | Xvid
LigH is offline   Reply With Quote
Old 15th July 2020, 03:16   #593  |  Link
qyot27
...?
 
qyot27's Avatar
 
Join Date: Nov 2005
Location: Florida
Posts: 1,419
Quote:
Originally Posted by manolito View Post
This is a follow-up to this older post:
https://forum.doom9.org/showthread.p...19#post1916219

I have no idea what to make of it, but after a few days of testing with different HD sources (only testing 32-bit AVS+) I can clearly reproduce that version 3.6.1 Test 8 is by far more stable in MT mode than the later versions 3.6.1 stable (tested only the "standard" non-XP version) and also the latest 3.6.2 Test 1 version.

Test platform:
ThinkPad T530 with a Core i5-3230M (Ivy Bridge, 3rd generation)
8 GB of RAM
Win7 Pro 64-bit
AVS+ Prefetch value was set to 4 threads

I converted HD sources (AVC or HEVC video at 50 fps, AAC, AAC-LATM or E-AC3 audio) to SD with AVC video and AAC audio. I used older 2.6 and 2.5 plugins. MT settings from the mtmodes.avsi taken from the AVS+ Wiki page, additions taken from this post by almosely:
https://forum.doom9.org/showthread.p...79#post1865279
The changes are in the 3rd paragraph of the post.

These tweaks made AVS+ 3.5.x quite stable already, but with some exceptions. After establishing a job in StaxRip (latest stable 32-version) it turned out that it was mostly necessary to save the job first, reboot and then start the job. Also Web browsing during the X264 encode was not really safe. If I did not take these precautions, X264 would crash randomly, mostly near the end of the conversion.

After experimenting with the AVS+ 3.6.1 test builds I found that the MT behavior had improved. Especially with Test 8 it was possible to browse the Web, even streaming a YouTube clip during the encode. Also a reboot before starting the actual encode was no longer required.

But the joy stopped after installing the stable version 3.6.1. The old occasional crashes were back again. I used the "standard" non-XP build.

And last I tested 3.6.2 Test 1, this build is XP-compatible again. So I hoped that the stability of 3.6.1 Test 8 would reappear, but it did not. Same random crashes as with 3.5.x and 3.6.1 stable.

The conclusion is that these differences in MT stability have nothing to do with the fact if the build is XP compatible or not. It looks more like something in the code itself has changed after 3.6.1 Test 8, and this change affects memory handling in multitasking mode. No way for a user to debug this, only pinterf or qyot27 could possibly find out what is going on here.

I am back to version 3.6.1 Test 8 for the time being...
All of the changes between test8 and the final version of 3.6.1 were on June 15th. There are seven of them to investigate.

http://www.mediafire.com/file/xzjmyb...bisect.7z/file

That's a pack of five of those commits (two of them don't compile on their own, but require the following commit). You can test those and see if one of them is where the issue was introduced.
qyot27 is offline   Reply With Quote
Old 15th July 2020, 16:23   #594  |  Link
manolito
Registered User
 
manolito's Avatar
 
Join Date: Sep 2003
Location: Berlin, Germany
Posts: 3,078
Thanks very much for this upload, should be very helpful...
Will start testing tonight.
manolito is offline   Reply With Quote
Old 15th July 2020, 23:14   #595  |  Link
magnetite
Registered User
 
Join Date: May 2010
Posts: 64
So I was experimenting with the CUDA version of Avisynth+ which was merged into the main Avisynth+ branch. It seems that it results in a memory leak. While using MeGUI, it gets stuck on the pre-processing phase, then the memory usage goes through the roof (99% RAM usage with 16 GB installed) before the app locks up.

Code:
LoadPlugin("C:\MeGUI 64-bit\tools\lsmash\LSMASHSource.dll")
LWLibavVideoSource("Z:\Outer Limits\Season 3\Disc 4\Dead Man's Switch.mkv", cachefile="D:\Temp\eksmcibs.nc1\Dead Man's Switch.mkv.lwi")
#crop
#resize
OnCPU(2)
KTGMC(Preset="Slow")
OnCUDA(6)
The same script run under the Nekopanda version of Avisynth (r2827) is able to run just fine. The memory usage was around 1 GB or so on average.

Last edited by magnetite; 16th July 2020 at 06:04.
magnetite is offline   Reply With Quote
Old 16th July 2020, 00:47   #596  |  Link
Nuihc88
Registered User
 
Nuihc88's Avatar
 
Join Date: Oct 2016
Location: Tellus, Milky Way Galaxy
Posts: 21
Quote:
Originally Posted by qyot27 View Post
All of the changes between test8 and the final version of 3.6.1 were on June 15th. There are seven of them to investigate.

http://www.mediafire.com/file/xzjmyb...bisect.7z/file

That's a pack of five of those commits (two of them don't compile on their own, but require the following commit). You can test those and see if one of them is where the issue was introduced.
Nevermind posted too quickly... These three of the problems i reported earlier appear to be gone in the build from the 'r3298f-git_82a06eee'-folder:
Quote:
Originally Posted by Nuihc88 View Post
2. Sometimes realtime playback never recovers on it's own after presentation queue drops to zero, despite there being enough computational power for it. Seems to have about 50% chance of occurring.
3. After test6, playback recovery behavior has changed for the worse, if a script is too heavy, instead of just dropping interpolated frame(s), video sometimes starts lagging behind the audio.
4. Final 3.6.1 build (r3300) and later are causing hard lockups with PotPlayer.
I'll keep testing these builds and reporting my findings (by editing this post) as well...
...looks like the problem #3 is still there, but much harder to trigger with these new test builds compared to test8...
...nevermind, i forgot to test them without Prefetch, it was masking both problems #2 & #3, both of which are still present...
...Still haven't encountered problem #4 with any of these builds yet, however i noticed that without Prefetch both builds 'r3297f-git_0c09510f' & 'r3298f-git_82a06eee' are much slower than the rest and 'r3294f-git_7a0aa2f3' is a little bit slower than the ones before it.

Last edited by Nuihc88; 16th July 2020 at 15:09. Reason: More Information & Corrections...
Nuihc88 is offline   Reply With Quote
Old 17th July 2020, 23:29   #597  |  Link
qyot27
...?
 
qyot27's Avatar
 
Join Date: Nov 2005
Location: Florida
Posts: 1,419
r3298f is the same as the final release of 3.6.1. There are absolutely zero code differences between them. The two commits that separate 3298 from 3300 are docs and comments only. The only practical difference is that I did update to the latest version of VS2019 before running off all these test builds.
qyot27 is offline   Reply With Quote
Old 18th July 2020, 00:48   #598  |  Link
manolito
Registered User
 
manolito's Avatar
 
Join Date: Sep 2003
Location: Berlin, Germany
Posts: 3,078
I am still in the middle of my tests, it turned out to be a little more difficult than I anticipated...

It turned out that the random crashes only occur with long source files (duration of more than 2 hours). Makes testing very time consuming.

My results so far are that r3290 (Test 8) up to r3292 have no problems with MT, but r3294 caused crashes again. I will test r3297 later tonight and report back.
manolito is offline   Reply With Quote
Old 18th July 2020, 01:42   #599  |  Link
qyot27
...?
 
qyot27's Avatar
 
Join Date: Nov 2005
Location: Florida
Posts: 1,419
Quote:
Originally Posted by Myrsloik View Post
Quote:
Originally Posted by pinterf View Post
Quote:
Originally Posted by Myrsloik View Post
Does avs+ work on big endian cpus now?
I would be surprised if it would work seamlessly. I'm totally uneducated on big endian CPUs other that once I was programming POS terminals with Motorola 68000.
If you didn't test it then the answer is definitely no with all that old code lying around...
"Which BE CPUs?" would be the more important question, I think. I mean, I did run a test on a qemu-system-ppc VM emulating a G4¹ and it could compile and run:


(Void Linux ppc glibc; musl chokes on something in AviSynth+, or something in the loader in avs2yuv or FFmpeg, probably the atexit handler)

Although I think that's a bit over-the-top; all it required was adding the predefined macros for PPC into avs/config.h. A Talos II or Blackbird setup would make more sense, but unless it's significantly trickier to do, POWER9-based CPUs supposedly can operate in ppc64le mode.

Some of the filters may produce unexpected results - Version().ConvertTo444() was okay, the resulting output from x264 played with correct colors using the media player in the live session, but ConvertToYV12().BilinearResize(640,352) caused incorrect colors (not sure if it was the conversion to YV12 or the resizer). To actually test efficiently, I'd have to do a real install so I can test FFmpeg/FFplay directly instead of piping in.

¹only because the G3 iBook I have access to didn't want to boot from either CD or USB so that I could test with a modern Linux that still supports that platform. And there's no way I was going to try to figure out how to get a suitably-modern version of GCC or Clang running on OS X 10.2.
qyot27 is offline   Reply With Quote
Old 18th July 2020, 02:15   #600  |  Link
real.finder
Registered User
 
Join Date: Jan 2012
Location: Mesopotamia
Posts: 2,587
Quote:
ppc
maybe someone will make a cell (ps3 cpu) port for avs+ some day :P
__________________
See My Avisynth Stuff
real.finder is offline   Reply With Quote
Reply

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +1. The time now is 20:07.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.