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 6th July 2016, 13:45   #2001  |  Link
Groucho2004
 
Join Date: Mar 2006
Posts: 3,498
Quote:
Originally Posted by sl1pkn07 View Post
any installer for dummies?
Here. This installer does not include the VC runtimes. If you need them, use the ones from ultim's dl location. I highly recommend to use ricktendo's All In One runtime installer, very compact and all versions you'll ever need included.
Groucho2004 is offline   Reply With Quote
Old 6th July 2016, 14:01   #2002  |  Link
sl1pkn07
Pajas Mentales...
 
Join Date: Dec 2004
Location: Spanishtán
Posts: 435
thanks for the installer, but don't work with XP. no need the runtimes, because i want to install throught wine (vc2015 is installed by winetricks)

the workground is set wine to windows7, install avs+ and back to winxp

greetings
__________________
[AUR] Vapoursynth Stuff
sl1pkn07 is offline   Reply With Quote
Old 6th July 2016, 14:05   #2003  |  Link
Groucho2004
 
Join Date: Mar 2006
Posts: 3,498
Quote:
Originally Posted by sl1pkn07 View Post
thanks for the installer, but don't work with XP.
The installer doesn't work on XP?
Groucho2004 is offline   Reply With Quote
Old 6th July 2016, 14:10   #2004  |  Link
Reel.Deel
Registered User
 
Join Date: Mar 2012
Location: Texas
Posts: 1,079
Maybe this?

Quote:
Originally Posted by qyot27 View Post
Sidenote: similar to what happened a couple years ago with VS 2013 builds, Wine 1.9.x (i.e. the current dev branch) cannot use binaries built with VS 2015 yet. Even if you do have all the correct redist dlls available.
Reel.Deel is offline   Reply With Quote
Old 6th July 2016, 14:16   #2005  |  Link
sl1pkn07
Pajas Mentales...
 
Join Date: Dec 2004
Location: Spanishtán
Posts: 435
what the hell. in the first time i run the installer don't work. spawn a installer error window about the version of the windows. then switch to win7, install it and back to windows xp

now with winxp again, the installer works ok :?


shi......


sorry for the noise
__________________
[AUR] Vapoursynth Stuff
sl1pkn07 is offline   Reply With Quote
Old 6th July 2016, 14:32   #2006  |  Link
pinterf
Registered User
 
Join Date: Jan 2014
Posts: 753
Quote:
Originally Posted by Groucho2004 View Post
I'm aware of how much memory these frame sizes need (more or less).
I'm not sure if you realize that the point of that script is simply to force Avisynth to run out of memory and see how it behaves.

So, the only question is why the new version behaves differently.
Meanwhile the resizer memory question solved (why it seemed to use so big intermediate frame)

And I have learned that these are not the same
Code:
setmemorymax(16000)
setmemorymax(16000)
n = 5
colorbars(width = 1920 * n, height = 1080 * n, pixel_type = "rgb32").killaudio().assumefps(25, 1)
turnleft().pointresize(width() - 1920, height() - 1080)
result is 7680x4320

Flow: orig 9600x5400
-> turnleft 5400x9600
-> resize to 7680x4320 =
resize_horiz 5400x9600->7680x9600 (huge!)
resize_vert 7680x9600->7680x4320

or

Code:
turnleft()
pointresize(width() - 1920, height() - 1080)
result is 3480x8520
pinterf is online now   Reply With Quote
Old 6th July 2016, 14:39   #2007  |  Link
pinterf
Registered User
 
Join Date: Jan 2014
Posts: 753
Quote:
Originally Posted by Groucho2004 View Post
I'm aware of how much memory these frame sizes need (more or less).
I'm not sure if you realize that the point of that script is simply to force Avisynth to run out of memory and see how it behaves.

So, the only question is why the new version behaves differently.
Accidental.
Now (maybe the running programs changed the memory consumption a bit) my test even did not return from a simple malloc.
While there is intensive memory swapping in the background.

So frame reservation error is caught, C++ object reservations and internals can cause C0000005 in the VC runtime, or other buffer reservations (Avisynth BufferPool for temporary buffers) can result in silent death in malloc when it cannot reserve e.g. a 2G memory area.
pinterf is online now   Reply With Quote
Old 6th July 2016, 15:21   #2008  |  Link
ultim
AVS+ Dev
 
ultim's Avatar
 
Join Date: Aug 2013
Posts: 359
Quote:
Originally Posted by pinterf View Post

Quote:
Originally Posted by Groucho2004 View Post
I'm aware of how much memory these frame sizes need (more or less).
I'm not sure if you realize that the point of that script is simply to force Avisynth to run out of memory and see how it behaves.

So, the only question is why the new version behaves differently.
Accidental.
Now (maybe the running programs changed the memory consumption a bit) my test even did not return from a simple malloc.
While there is intensive memory swapping in the background.

So frame reservation error is caught, C++ object reservations and internals can cause C0000005 in the VC runtime, or other buffer reservations (Avisynth BufferPool for temporary buffers) can result in silent death in malloc when it cannot reserve e.g. a 2G memory area.
Here is a quick guess, but I will only be able to check it later in the evening.

The new resizers in the MT-branch use the IScriptEnv2->Allocate() to request temporary storage instead of requesting frame buffers (this is both faster and more memory-efficient). But if I remember correctly, Allocate() returns a NULL pointer when it runs out of memory instead of throwing an exception. My bet is that the resizers don't inspect the return value for error and so you get an access violation due to NULL-pointer dereference. If this guess is correct, the fix is to check the return value of allocate inside the resizer for NULL, and if NULL, call env->Throw().
__________________
AviSynth+

Last edited by ultim; 6th July 2016 at 15:25.
ultim is offline   Reply With Quote
Old 6th July 2016, 15:22   #2009  |  Link
MysteryX
Soul Architect
 
MysteryX's Avatar
 
Join Date: Apr 2014
Posts: 1,991
AviSynthShader released with updated headers + cleaned up the files mess

Last edited by MysteryX; 6th July 2016 at 15:34.
MysteryX is offline   Reply With Quote
Old 6th July 2016, 15:30   #2010  |  Link
real.finder
Registered User
 
Join Date: Jan 2012
Location: Mesopotamia
Posts: 802
Quote:
Originally Posted by tormento View Post
@real.finder

Can you please explain me the following changes?
  1. add Prefilter auto 16 (lsb) support
  2. add TV_range bool
  3. less lsb if not use lsb things and get ready for yv16 and yv24
Thanks
"add Prefilter auto 16 (lsb) support" mean you can use 16bit (stack) not just the 8 bit normal one in external Prefilter

"add TV_range bool" see this http://avisynth.nl/index.php/Limiter and this http://avisynth.nl/index.php/Luminan...ance_levels.3F

anyway, TV_range is true by default, that will use Dither_Luma_Rebuild(S0=1.0,c=0.0625) see here http://avisynth.nl/index.php/SMDegrain#Introduction

if set TV_range to false then Dither_Luma_Rebuild will not be used

"less lsb if not use lsb things and get ready for yv16 and yv24"

SMDegrain was using KNLmeans with lsb (16bit) even without using lsb in setting, and "get ready for yv16 and yv24" this is for the future
__________________
My Avisynth Stuff
real.finder is offline   Reply With Quote
Old 6th July 2016, 15:34   #2011  |  Link
tormento
Acid fr0g
 
tormento's Avatar
 
Join Date: May 2002
Location: Italy
Posts: 785
Quote:
Originally Posted by real.finder View Post
anyway, TV_range is true by default, that will use Dither_Luma_Rebuild(S0=1.0,c=0.0625) see here http://avisynth.nl/index.php/SMDegrain#Introduction

if set TV_range to false then Dither_Luma_Rebuild will not be used
Let TV_range true is good or evil?
__________________
@turment on Telegram
tormento is offline   Reply With Quote
Old 6th July 2016, 15:38   #2012  |  Link
real.finder
Registered User
 
Join Date: Jan 2012
Location: Mesopotamia
Posts: 802
Quote:
Originally Posted by tormento View Post
Let TV_range true is good or evil?
good for DVD and BD and tv things
__________________
My Avisynth Stuff
real.finder is offline   Reply With Quote
Old 6th July 2016, 15:40   #2013  |  Link
tormento
Acid fr0g
 
tormento's Avatar
 
Join Date: May 2002
Location: Italy
Posts: 785
Quote:
Originally Posted by real.finder View Post
good for DVD and BD and tv things
And, I imagine, evil for computer generated things and photos, correct?
__________________
@turment on Telegram
tormento is offline   Reply With Quote
Old 6th July 2016, 15:43   #2014  |  Link
real.finder
Registered User
 
Join Date: Jan 2012
Location: Mesopotamia
Posts: 802
Quote:
Originally Posted by tormento View Post
And, I imagine, evil for computer generated things and photos, correct?
didn't try, but yes, it's wrong in these cases
__________________
My Avisynth Stuff
real.finder is offline   Reply With Quote
Old 6th July 2016, 15:51   #2015  |  Link
Groucho2004
 
Join Date: Mar 2006
Posts: 3,498
Quote:
Originally Posted by MysteryX View Post
Why do you post this here? Trying to get your post count up? You already announced it in your own thread.
Is this now becoming a permanent thing that you fill almost every thread on this forum with your random ramblings?
Groucho2004 is offline   Reply With Quote
Old 6th July 2016, 16:01   #2016  |  Link
pinterf
Registered User
 
Join Date: Jan 2014
Posts: 753
Resizers do not check allocation result. But in my test, they even dont reach the checking point. Provided if the OS is in low memory situation too. In this case I do not care the meaningful error report when even task manager response time is some minutes because of swapping
pinterf is online now   Reply With Quote
Old 6th July 2016, 16:18   #2017  |  Link
Groucho2004
 
Join Date: Mar 2006
Posts: 3,498
Here's a funny one:

Script:
Code:
setmemorymax(16000)
n = 30
colorbars(width = 1920 * n, height = 1080 * n, pixel_type = "yv12").killaudio().assumefps(25, 1)
temporalsoften(4,4,8,15,2)
Error:
Code:
AVSMeter 2.3.0 (x64) - Copyright (c) 2012-2016 Groucho2004
AviSynth+ 0.1 (r2022, MT, x86_64) (0.1.0.0)

Requested buffer size of 18446744072213944351 is too large
(F:\Test\test.avs, line 3)
Avisynth want's to allocate 18 exabytes

Looks like 2^64 - 18446744072213944351 would be the correct value.

Last edited by Groucho2004; 6th July 2016 at 16:26.
Groucho2004 is offline   Reply With Quote
Old 6th July 2016, 18:21   #2018  |  Link
ultim
AVS+ Dev
 
ultim's Avatar
 
Join Date: Aug 2013
Posts: 359
Quote:
Originally Posted by pinterf View Post
Resizers do not check allocation result. But in my test, they even dont reach the checking point. Provided if the OS is in low memory situation too. In this case I do not care the meaningful error report when even task manager response time is some minutes because of swapping
That doesn't always happen. Groucho reported he got an access violation at least once, and those with fast swap (SSD) or no swap at all because they turned it off would also crash. Anyway, I'm calling dibs on this fix.

On a different topic: I've got a private branch with some stuff not in MT, because it changes ScriptEnv2, so I don't want to mix it in unless it's ready. This way others can still merge from me or builds can be issued without breaking stuff too early. I think I've got a way to go about the MT-related issues, but I need to try it out to see if the theory works. Other unrelated fixes I will try to put in MT directly.
__________________
AviSynth+
ultim is offline   Reply With Quote
Old 6th July 2016, 18:30   #2019  |  Link
Wilbert
Moderator
 
Join Date: Nov 2001
Location: Netherlands
Posts: 6,295
feature requests:

1) ConvertToYUV400 (same naming as ConvertYUV444, instead of ConvertToY16/32),
2a) PRGB colorformats (for the new bit-depths)
2b) ConvertToPRGB (planar RGB: PRGB <-> YUV420/YUV422 via in between format YUV444),
3) script functions which give the bit-depth.

Question: what happens when doing for example ConvertToYV12(available options) on a 16/32 bit YUV source? Is that implemented already?
Wilbert is offline   Reply With Quote
Old 6th July 2016, 19:17   #2020  |  Link
ultim
AVS+ Dev
 
ultim's Avatar
 
Join Date: Aug 2013
Posts: 359
Quote:
Originally Posted by Wilbert View Post
feature requests:

1) ConvertToYUV400 (same naming as ConvertYUV444, instead of ConvertToY16/32),
2a) PRGB colorformats (for the new bit-depths)
2b) ConvertToPRGB (planar RGB: PRGB <-> YUV420/YUV422 via in between format YUV444),
3) script functions which give the bit-depth.
1) There is already ConvertToY() (without bit depth specification), but ConvertToYUV400() can be added as an alias for consistency with the other functions.
2) There are multiple RGB and multiple YUV color spaces, so at least >1 need to be supported to give correct results in most cases, if one wants to convert RGB<->YUV. When and if at all this will be done is better asked to pinterf, unless someone else steps up to implement it.
3) Sure.

EDIT:
Quote:
Originally Posted by Wilbert View Post
Question: what happens when doing for example ConvertToYV12(available options) on a 16/32 bit YUV source? Is that implemented already?
IMHO those functions with exact bit depth specification should stay true to their name. For me it would be weird and unexpected if ConvertToYV24() produces float pixels at one point, since that is not YV24. So my stand on this is that ConvertToYV24() should be a shortcut for ConvertToYUV444().ConvertTo8Bits() (and similarly for other old functions).
__________________
AviSynth+

Last edited by ultim; 6th July 2016 at 19:24.
ultim 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 06:55.


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