View Full Version : ImageWriter ebmp
Alexkral
8th September 2019, 00:52
I'm getting "ImageWriter: ebmp requires 8 bits / component images" error when I try to save a RGB64 frame. The documentation says that the internal image format "ebmp" supports all color spaces, so I don't understand what happens. I'm using AviSynth+ r2728.
Reel.Deel
8th September 2019, 01:04
I'm getting "ImageWriter: ebmp requires 8 bits / component images" error when I try to save a RGB64 frame. The documentation says that the internal image format "ebmp" supports all color spaces, so I don't understand what happens. I'm using AviSynth+ r2728.
Just, my guess, the documentation for the ebmp was probably never updated from the original avs docs (or the wiki, if you are reading that) so the statement is true for original avisynth but not avs+. Or maybe a bug.
Why are you using ebmp? Why not tiff or png?
Alexkral
8th September 2019, 01:37
Thanks for the reply. I was reading the documentation on the web, the docs in the installation folder say this:
"Format "ebmp" supports all colorspaces (RGB24, RGB32, YUY2, YV12)."
But it also says:
"For all other formats the input colorspace must be RGB24 or RGB32 (when the alpha channel is supported by the format and you want to include it)."
So is there another way to save a RGB64 frame?
poisondeathray
8th September 2019, 01:43
So is there another way to save a RGB64 frame?
ffmpeg; most commonly distributed binaries are compiled with avisynth support including 16bpc for avs+
eg.
ffmpeg -i input.avs output%05d.png
Alexkral
8th September 2019, 01:52
Hi thanks, I will try that.
Alexkral
8th September 2019, 03:43
ffmpeg; most commonly distributed binaries are compiled with avisynth support including 16bpc for avs+
Are you sure about that? Last ffmpeg Windows build returns "unknown AviSynth colorspace" for all avs+ formats.
ImageWriter seems to be working anyway with type = png.
Reel.Deel
8th September 2019, 03:56
ImageWriter seems to be working anyway with type = png.
Yes, ImageWriter works fine wit hbd png/tiff. You can also use VirtualDub2.
poisondeathray
8th September 2019, 04:07
Are you sure about that? Last ffmpeg Windows build returns "unknown AviSynth colorspace" for all avs+ formats.
Yes I'm sure . Maybe you are using an older binary ? Check the date; any within the last 1-2 years should work
Try any ffmpeg binary posted by members in this forum, or zeraone's autobuilds
https://ffmpeg.zeranoe.com/builds/
e.g. for 16bit RGB,
packed rgb48 or rgb64(alpha) will be sent as ffmpeg's bgr48le or bgr64le
planar rgb48 or rgb64(alpha) will be sent as ffmpeg's gbrp16le or gbrpa16le
All the avisynth pixel formats are "understood" by ffmpeg . The exception is 32bit / float formats because ffmpeg doesn't support it . You can use vapoursynth's writer to export 32b TIFF , or 16b EXR float
Alexkral
8th September 2019, 05:24
You're right, it was an old ImageMagick build. Anyway, I'm not sure if this can help. What I am trying to do is save/load a half float frame from/to AviSynth Shader. Do you have any idea how this could be done?
Edit: AviSynth Shader doesn't support 32 bit formats so I guess I have to convert between between half float and uint16 in the shader, what I don't understand is what the half float input and output is for.
poisondeathray
8th September 2019, 06:20
What I am trying to do is save/load a half float frame from/to AviSynth Shader. Do you have any idea how this could be done?
Not with avisynth; you can't import (no source filters) or export float formats currently
You can import/export float formats with vapoursynth with imwri - but avisynthshader hasn't been ported to vapoursynth . There is an avsproxy that can run x86 avs functions and plugins in a vapoursynth host, but it's really a pain to use IMO, not sure if it would even work for avisynthshader
https://forum.doom9.org/showthread.php?t=175141
Edit: AviSynth Shader doesn't support 32 bit formats so I guess I have to convert between between half float and uint16 in the shader, what I don't understand is what the half float input and output is for.
Probably for higher precision and greater range in image processing (e.g. negative rgb values, also values > 1 on a normalized 0-1 scale) . So this means higher dynamic range and some conversions have less loss instead of being clipped
Vapoursynth supports RGBH natively, and can import/export RGBH as well . The plugin was already requested, but the author was busy with other stuff
MeteorRain
8th September 2019, 07:02
As a side note, avoid X-Y problem, saying your original intention sooner could make people help you easier.
Alexkral
8th September 2019, 07:45
Thanks but my original intention is not possible, so I will have to use RGB64 as I suspected.
Thanks again for the help and info about Vapoursynth and avsproxy.
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.