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. |
5th April 2017, 01:02 | #3201 | Link |
Useful n00b
Join Date: Jul 2014
Posts: 1,667
|
I have Avisynth+ 1576 in my SysWOW64 directory. I open a script with just Version() in it in VirtualDub. It opens fine. I replace Avisynth.dll with the x86 DLL from Avisnth+ 2455. Now VirtualDub says import error. What stupid mistake am I making?
Win10 64 Thank you. |
5th April 2017, 02:09 | #3202 | Link | |
Registered User
Join Date: Mar 2012
Location: Texas
Posts: 1,666
|
Quote:
|
|
5th April 2017, 11:44 | #3204 | Link |
Useful n00b
Join Date: Jul 2014
Posts: 1,667
|
I cleaned everything out and installed Groucho's last installer for 2294, checking both x32 and x64. Loading version.avs in VirtualDub 64 works, loading it in VirtualDub 32 fails. Then, just replacing the x32 avisynth.dll with the r1576 makes x32 work again. Any ideas?
Last edited by videoh; 5th April 2017 at 11:47. |
5th April 2017, 18:13 | #3208 | Link |
HeartlessS Usurer
Join Date: Dec 2009
Location: Over the rainbow
Posts: 10,980
|
@videoh, you might want to thank Groucho2004 too, is theguy that provided the app that sorted you, and same guy that you not so long ago barred from your forum for no concrete reason.
Mobile.
__________________
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 ??? |
5th April 2017, 19:12 | #3209 | Link |
Registered User
Join Date: Feb 2003
Location: Russia, Moscow
Posts: 854
|
I try load 16 bit image (grey scale) to Avisynth+.
1. I prepare stacked version of image: Code:
"C:\Program Files\ImageMagick-7.0.5-Q16\magick" "film7 1.tif" -depth 16 ( +clone -evaluate and 255 -evaluate multiply 256 ) -append stacked001.png Code:
ImageSource("stacked001.png", start=1, end=1, use_DevIL=true, pixel_type ="RGB24") ConvertToYV24() ConvertFromStacked() yup. |
6th April 2017, 07:56 | #3210 | Link |
German doom9/Gleitz SuMo
Join Date: Oct 2001
Location: Germany, rural Altmark
Posts: 6,782
|
Converting each significant bit part in RGB representation to YUV does not result in each significant bits for the YUV representation. This is caused by the specific PC-affine color representation in different YUV color space matrices (8 bit integer per component, instead of floating point values).
Trivial case: You create an RGB image in 8 bit depth for the more significant half, and the less significant half is kept at $000000 (black in RGB). Converting this to YCbCr (Rec.601, TV scale) will return (16, 128, 128) as "TV black". Combining LSB and MSB to a 16-bit value now will result in garbage colors. To do the conversion correctly, I believe you would first need to ConvertFromStacked(), and then ConvertToYUV... with 16 bit depth. But I am not sure if that is supported, and which functions are available if. Last edited by LigH; 6th April 2017 at 08:00. |
6th April 2017, 11:16 | #3211 | Link | |
Registered User
Join Date: Feb 2003
Location: Russia, Moscow
Posts: 854
|
Quote:
Right? New Devil.dll, ImageSeq.dll in last avs+ builds do not support 16 bit? yup. |
|
6th April 2017, 12:09 | #3212 | Link | |
Registered User
Join Date: Jan 2014
Posts: 2,314
|
Quote:
At this stage we have the original 16 bit RGB, in planar RGB format (RGBP16). You can convert it further if you wish. This works for me Code:
stacked_rgb24 = ImageSource("stacked001.png", start=1, end=1, use_DevIL=true, pixel_type ="RGB24") stacked_fakeyuv = CombinePlanes(stacked_rgb24,"YUV","RGB","YV24") fakeyuv16 = ConvertFromStacked(stacked_fakeyuv) rgbp_16=CombinePlanes(fakeyuv16,"RGB","YUV","RGBP16") #here we have 16 bit planar RGB rgbp_16.ConvertToYUV444() # convert to YUV444P16 # or rgbp_16.ConvertToRGB64() # convert to packed RGB64 |
|
6th April 2017, 12:14 | #3213 | Link |
Registered User
Join Date: Jan 2012
Location: Mesopotamia
Posts: 2,587
|
FFImageSource should load HBD without hack
__________________
See My Avisynth Stuff |
6th April 2017, 14:23 | #3214 | Link |
Registered User
Join Date: Mar 2012
Location: Texas
Posts: 1,666
|
Not necessarily, FFMS2 v2.23.1 used SWScale and could not load HBD images. This issue affected both AVS+ and VS. I told Myrloik about it some time ago: https://github.com/FFMS/ffms2/issues/277
I have not tried it yet but the latest test version of FFMS2000 might support it since it has FFmpeg compiled with zlib. @pinterf Any plans to add HDB support to ImageReader/Writer? If I understand correctly Wilbert said he had already written the code for that: http://forum.doom9.org/showthread.ph...88#post1773088 |
6th April 2017, 15:49 | #3215 | Link | |
Registered User
Join Date: Jan 2014
Posts: 2,314
|
Quote:
Wilbert's link needs authentication, anyway I have tried something quickly and this works fine for my 48 bit tiff sample. Code:
ImageSource("img010.tif", start=1, end=1, use_DevIL=true, pixel_type ="RGB64") # or RGB48 |
|
6th April 2017, 17:51 | #3216 | Link |
Registered User
Join Date: Feb 2003
Location: Russia, Moscow
Posts: 854
|
pinterf!
I try Your first script: Code:
stacked_rgb24 = ImageSource("stacked001.png", start=1, end=1, use_DevIL=true, pixel_type ="RGB24") stacked_fakeyuv = CombinePlanes(stacked_rgb24,"YUV","RGB","YV24") fakeyuv16 = ConvertFromStacked(stacked_fakeyuv) rgbp_16=CombinePlanes(fakeyuv16,"RGB","YUV","RGBP16") #here we have 16 bit planar RGB rgbp_16.ConvertToYUV444() # convert to YUV444P16 # or rgbp_16.ConvertToRGB64() # convert to packed RGB64 Second also not work, error about not support RGB48. yup. Last edited by yup; 6th April 2017 at 18:29. |
6th April 2017, 18:28 | #3217 | Link | |
Registered User
Join Date: Jan 2014
Posts: 2,314
|
Quote:
One final frame (as RGB64) needs almost 500 MBytes. I had to raise the default memory for 32 bit Avisynth+ (because Avisynth+ complained for low memory, default is 1GBytes), and when I have set it to 3000, then 32 bit Virtualdub was showing memory error (could not allocate x bytes) In 64 bit virtualdub (and thus 64 bit Avisynth+), I was able to open and view the script (see below) producing rgb64 image. Code:
SetMemoryMax(3000) stacked_rgb24 = ImageSource("stacked001.png", start=1, end=1, use_DevIL=true, pixel_type ="RGB24").Loop(100) stacked_fakeyuv = CombinePlanes(stacked_rgb24,"YUV","RGB","YV24") fakeyuv16 = ConvertFromStacked(stacked_fakeyuv) rgbp_16=CombinePlanes(fakeyuv16,"RGB","YUV","RGBP16")#.Histogram("levels",bits=11) #here we have 16 bit planar RGB rgbp_16.ConvertToRGB64() #just to have a big input for virtualdub Spline64Resize(6640,8062) |
|
6th April 2017, 18:52 | #3219 | Link | |
Registered User
Join Date: Jan 2014
Posts: 2,314
|
Quote:
Once you have the 16 bit/channel RGB clip, you can convert it to YUV444P16 with ConvertToYUV444(), then use ConvertToStacked, and you can feed it into KNLMeansCL (in YUV mode only Y channel is denoised by default). Or you can leave the RGB clip in a fake_yuv format, convert to stacked, and request processing all Y, U and V planes. Then back to non-stacked, and back to RGB with CombinePlanes. Remember that when using CombinePlanes we avoid the real RGB->YUV->RGB conversions (only format is changed), still we can feed the clip to the filter. (I don't know if there is any difference in processing, depending on plane origin (Y or U or G, anything)) |
|
7th April 2017, 04:54 | #3220 | Link |
Registered User
Join Date: Feb 2003
Location: Russia, Moscow
Posts: 854
|
Hi pinterf!
I am add code Code:
ConvertToYUV444() ConvertToStacked() KNLMeansCL(device_type="GPU",h=6, lsb_inout=true) ConvertFromStacked() ConvertToRGB64() yup. |
|
|