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 8th September 2017, 21:20   #3601  |  Link
Groucho2004
 
Groucho2004's Avatar
 
Join Date: Mar 2006
Posts: 4,148
Quote:
Originally Posted by MysteryX View Post
This isn't working with Avisynth 2.6
Code:
if (!vi.IsY() && !vi.Is420() && !vi.Is422() && !vi.Is444() && !vi.IsRGB())
    env->ThrowError("ConvertToShader: Source format is not supported.");
Is420 returns false, but IsYV12 works. I made sure to update headers to the latest version.
From avisynth.h:
Code:
    //  YV12 must be 0xA000008 2.5 Baked API will see all new planar as YV12
    //  I420 must be 0xA000010
Run the debugger and check the actual value that is returned.
Groucho2004 is offline   Reply With Quote
Old 8th September 2017, 22:32   #3602  |  Link
MysteryX
Soul Architect
 
MysteryX's Avatar
 
Join Date: Apr 2014
Posts: 2,138
hum... now it works. Perhaps it didn't recompile properly after updating the headers.
MysteryX is offline   Reply With Quote
Old 10th September 2017, 13:30   #3603  |  Link
burfadel
Registered User
 
Join Date: Aug 2006
Posts: 2,235
I made a post regarding an issue with Avisynth and pixel types in combination with different bit depths here:
https://forum.doom9.org/showpost.php...&postcount=160

Quote:
Updated the first post with version 1.6.

If you extract the luminance channel such it is just the Y channel, obviously it is a different format to the YUV clip such as output from the chroma filtering. You first have to convert back to the same format before combining. This is fine, however when you are in more than 8 bits, the commands such as isYV12() etc do not work since it is expecting a YUV420Y8 clip for it to be true. Since it is a YUV420P10 clip (for example) the command isYV12() seems to give back false. If you run convertToYV12(), it keeps the higher bitdepth of 10 etc, so isYV12() still doesn't work. This, and possibly other little issues, are problematic when you want to have the output clip the same format as the input clip and it isn't 8-bit etc. This is why I put back the 'do not process' flags to the luma commands, it was either that or dropping support for YV16 and YV24, which obviously isn't desirable.

It works fine as is because the bit depths can be matched easily and the pixel type hasn't changed. I could do a convertbits() just so isYV12() etc works, but then it's an extra unnecessary bit of processing that will probably affect speed more than what was gained by converting it to Y8 and going back to the desired pixel type.
Imagine a source of YV16 and 10 bit. If you extract the Y channel, process it, to merge it back to the original clip you need to first convert it (can't do a direct merge chroma). To do this, you need to know the format of the original clip, which is problematic because isYUV() works, but isYV16() doesn't because in this case, it is really asking , effectively isYUV422P8(). The result therefore is false. Am I missing something, or do you really have to go isYV16(Convertbits(8)) first so it answers true if a bit depth other than 8 for YUV4224Px? If this is true, then it is NOT consistent with convertYV16(), since that keeps the bit depth. You can literally go ConvertToYV16() followed by isYV16(), and it will return false if it isn't 8 bit.

Last edited by burfadel; 10th September 2017 at 13:33.
burfadel is offline   Reply With Quote
Old 10th September 2017, 14:45   #3604  |  Link
MysteryX
Soul Architect
 
MysteryX's Avatar
 
Join Date: Apr 2014
Posts: 2,138
Quote:
Originally Posted by burfadel View Post
Imagine a source of YV16 and 10 bit. If you extract the Y channel, process it, to merge it back to the original clip you need to first convert it (can't do a direct merge chroma). To do this, you need to know the format of the original clip, which is problematic because isYUV() works, but isYV16() doesn't because in this case, it is really asking , effectively isYUV422P8(). The result therefore is false. Am I missing something, or do you really have to go isYV16(Convertbits(8)) first so it answers true if a bit depth other than 8 for YUV4224Px? If this is true, then it is NOT consistent with convertYV16(), since that keeps the bit depth. You can literally go ConvertToYV16() followed by isYV16(), and it will return false if it isn't 8 bit.
Use IsYUV420(), IsYUV422() and IsYUV444()

Was looking for a link but can't find those commands in the docs!

EDIT: Is420 in clip properties

Last edited by MysteryX; 10th September 2017 at 14:49.
MysteryX is offline   Reply With Quote
Old 10th September 2017, 14:46   #3605  |  Link
raffriff42
Retried Guesser
 
raffriff42's Avatar
 
Join Date: Jun 2012
Posts: 1,377
Quote:
Originally Posted by burfadel View Post
I made a post regarding an issue with Avisynth and pixel types in combination with different bit depths here:
https://forum.doom9.org/showpost.php...&postcount=160



Imagine a source of YV16 and 10 bit. If you extract the Y channel, process it, to merge it back to the original clip you need to first convert it (can't do a direct merge chroma). To do this, you need to know the format of the original clip, which is problematic because isYUV() works, but isYV16() doesn't because in this case, it is really asking , effectively isYUV422P8(). The result therefore is false. Am I missing something, or do you really have to go isYV16(Convertbits(8)) first so it answers true if a bit depth other than 8 for YUV4224Px? If this is true, then it is NOT consistent with convertYV16(), since that keeps the bit depth. You can literally go ConvertToYV16() followed by isYV16(), and it will return false if it isn't 8 bit.
See my response to your first issue here. (oh hi MysteryX)
Yes, you can do a direct merge chroma, with CombinePlanes (MergeChroma should also work)
To get the format of the original clip, use Is420, Is444 etc, with BitsPerComponent.

Last edited by raffriff42; 10th September 2017 at 14:58.
raffriff42 is offline   Reply With Quote
Old 10th September 2017, 18:36   #3606  |  Link
burfadel
Registered User
 
Join Date: Aug 2006
Posts: 2,235
Mergechroma didn't work, since one clip is Y8 and the other YV12 , formats have to match. Combineplanes should work though. I should have realised about the is422() etc! I'll fix this later today my time and hopefully works. Thanks for the info!
burfadel is offline   Reply With Quote
Old 12th September 2017, 13:04   #3607  |  Link
george84
Registered User
 
Join Date: Jan 2012
Posts: 94
Readme file for r2508 has wrong instructions

The Readme says

Quote:
- 64 bit OS:
copy Avisynth.dll from x86 folder to the windows SysWOW64 folder
copy Avisynth.dll from x64 folder to the windows System32 folder
I think x86 goes to System32 and x64 goes to SysWOW64
george84 is offline   Reply With Quote
Old 12th September 2017, 13:13   #3608  |  Link
LigH
German doom9/Gleitz SuMo
 
LigH's Avatar
 
Join Date: Oct 2001
Location: Germany, rural Altmark
Posts: 5,827
No, that's the common mis-assumption. For every Windows flavour, "system32" is the place where the DLL for the native architecture goes. For compatibility reasons.

If you have a 32-bit Windows, the 32-bit DLL goes to system32. Logical.
If you have a 64-bit Windows, the 64-bit DLL goes to system32. Because of compatibility reasons.

And because a 32-bit DLL is not native to a 64-bit Windows, it goes to a special directory "SysWOW64", which is mapped to "system32" for 32-bit applications running on a 64-bit Windows in a compatibility layer.

Germans would comment: "Klingt komisch, ist aber so." (Sounds strange but is true.)
__________________

New German Gleitz board
MediaFire: x264 | x265 | VPx | AOM | Xvid

Last edited by LigH; 12th September 2017 at 13:31.
LigH is offline   Reply With Quote
Old 12th September 2017, 13:55   #3609  |  Link
george84
Registered User
 
Join Date: Jan 2012
Posts: 94
Quote:
Originally Posted by LigH View Post
Germans would comment: "Klingt komisch, ist aber so." (Sounds strange but is true.)
Also swiss would comment this.

Is it right to deduce (When looking at referenced installer for r2294) that this installer will handle things correctly, so no manual copying of dll is needed, and it even includes newest version of avisynth?
george84 is offline   Reply With Quote
Old 12th September 2017, 14:31   #3610  |  Link
Groucho2004
 
Groucho2004's Avatar
 
Join Date: Mar 2006
Posts: 4,148
Quote:
Originally Posted by george84 View Post
Is it right to deduce (When looking at referenced installer for r2294) that this installer will handle things correctly, so no manual copying of dll is needed, and it even includes newest version of avisynth?
No, it does not have the latest version so you would have to copy the DLLs and plugins.
I suggest you use my universal installer, it has the latest version of AVS+.
Groucho2004 is offline   Reply With Quote
Old 12th September 2017, 15:18   #3611  |  Link
george84
Registered User
 
Join Date: Jan 2012
Posts: 94
Thank you. But on the download page http://avisynth.nl/index.php/Avisynthplus/Downloads, yours is referenced. So I had the correct one.
george84 is offline   Reply With Quote
Old 12th September 2017, 15:26   #3612  |  Link
Groucho2004
 
Groucho2004's Avatar
 
Join Date: Mar 2006
Posts: 4,148
Quote:
Originally Posted by george84 View Post
Thank you. But on the download page http://avisynth.nl/index.php/Avisynthplus/Downloads, yours is referenced. So I had the correct one.
As I mentioned, if you use the r2294 installer you'll have to copy the DLLs (r2408) manually.
Groucho2004 is offline   Reply With Quote
Old 12th September 2017, 15:41   #3613  |  Link
george84
Registered User
 
Join Date: Jan 2012
Posts: 94
Yes, but of course one would use
Quote:
AvisynthUniversalInstaller_2017-09-02.7z 4.79 MB
which is in same directory.
george84 is offline   Reply With Quote
Old 12th September 2017, 15:44   #3614  |  Link
george84
Registered User
 
Join Date: Jan 2012
Posts: 94
Plugins for high bit depth support.
Here in Forum I find docs on support of high bit depth. How can I know which plugins support this feature. In http://avisynth.nl/index.php/AviSynth%2B I find the newest version but no mention of bitdepth support.
george84 is offline   Reply With Quote
Old 12th September 2017, 15:46   #3615  |  Link
sneaker_ger
Registered User
 
Join Date: Dec 2002
Posts: 5,337
Test if they support such input. Look into their changelogs/documentation. If they are old you know they don't.
sneaker_ger is offline   Reply With Quote
Old 12th September 2017, 15:49   #3616  |  Link
george84
Registered User
 
Join Date: Jan 2012
Posts: 94
Quote:
If they are old you know they don't.
What is old? Older than first Avisynth+ version which had high bit depth support?
george84 is offline   Reply With Quote
Old 12th September 2017, 15:56   #3617  |  Link
sneaker_ger
Registered User
 
Join Date: Dec 2002
Posts: 5,337
Yes, that's what I meant. (I didn't mention an actual date because I don't know it from the top of my head. Maybe someone else knows.)
sneaker_ger is offline   Reply With Quote
Old 12th September 2017, 16:06   #3618  |  Link
Groucho2004
 
Groucho2004's Avatar
 
Join Date: Mar 2006
Posts: 4,148
Quote:
Originally Posted by george84 View Post
Yes, but of course one would use AvisynthUniversalInstaller_2017-09-02.7z which is in same directory.
That's a different kind of installer. I suggest you read the first post in the thread to which I linked in post #3611.
Groucho2004 is offline   Reply With Quote
Old 12th September 2017, 16:38   #3619  |  Link
george84
Registered User
 
Join Date: Jan 2012
Posts: 94
I need
Quote:
TransAll.dll
vsfilter.dll
zoom.dll
freeframe.dll
ffms2.dll
NicAudio.dll
FFMS2.avs
vsfilter and NicAudio are probably independent of bit depth.
ffms2 seems to be the only one working, but for transall there seems to exist an alternative on vcmohans page.
freeframe is not mandatory
zoom is available as source and it should be easy to adapt it.

So I might give it a try.
george84 is offline   Reply With Quote
Old 12th September 2017, 16:44   #3620  |  Link
george84
Registered User
 
Join Date: Jan 2012
Posts: 94
@Groucho2004
Your link via post 3611 goes to https://www.dropbox.com/sh/oxx5cm9hk...jEdSjenHa?dl=0

The link on page http://avisynth.nl/index.php/Avisynthplus/Downloads goes to https://www.dropbox.com/sh/oxx5cm9hk...jEdSjenHa?dl=0

So where is the difference? Anyway, thank you for the installer. It works well.
george84 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 00:59.


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