From the source code we can tell if a plugin works in 32 bit float or 8/10 bit integer? I don't know, maybe by searching for the string "float" in the code or something like that? Or the normalized range (0-1.0) instead of the range (0-255), etc. It would be important to put this information in the manual because, for example, I know that Histogram works with integers and this can lead to clipping (with loss of information) in highlights or deep blacks. In contrast, Blue Banana works in floats.
Maybe Andrew knows how to detect this -- if it is just a matter of looking at each plugin to see if it looks like the word "float" is in effect for the majority of variables, that is something I could do. Or if Andrew has another way? On Sun, Nov 5, 2023 at 12:10 PM Andrea paz via Cin < [email protected]> wrote:
From the source code we can tell if a plugin works in 32 bit float or 8/10 bit integer? I don't know, maybe by searching for the string "float" in the code or something like that? Or the normalized range (0-1.0) instead of the range (0-255), etc. It would be important to put this information in the manual because, for example, I know that Histogram works with integers and this can lead to clipping (with loss of information) in highlights or deep blacks. In contrast, Blue Banana works in floats. -- Cin mailing list [email protected] https://lists.cinelerra-gg.org/mailman/listinfo/cin
вс, 5 нояб. 2023 г., 23:16 Phyllis Smith via Cin <[email protected]
:
Maybe Andrew knows how to detect this -- if it is just a matter of looking at each plugin to see if it looks like the word "float" is in effect for the majority of variables, that is something I could do. Or if Andrew has another way?
may be look for lines like case BC_RGB_FLOAT case BC_RGBA_FLOAT with grep -r in plugins directory?
On Sun, Nov 5, 2023 at 12:10 PM Andrea paz via Cin < [email protected]> wrote:
From the source code we can tell if a plugin works in 32 bit float or 8/10 bit integer? I don't know, maybe by searching for the string "float" in the code or something like that? Or the normalized range (0-1.0) instead of the range (0-255), etc. It would be important to put this information in the manual because, for example, I know that Histogram works with integers and this can lead to clipping (with loss of information) in highlights or deep blacks. In contrast, Blue Banana works in floats. -- Cin mailing list [email protected] https://lists.cinelerra-gg.org/mailman/listinfo/cin
-- Cin mailing list [email protected] https://lists.cinelerra-gg.org/mailman/listinfo/cin
пн, 6 нояб. 2023 г., 00:00 Andrew Randrianasulu <[email protected]>:
вс, 5 нояб. 2023 г., 23:16 Phyllis Smith via Cin < [email protected]>:
Maybe Andrew knows how to detect this -- if it is just a matter of looking at each plugin to see if it looks like the word "float" is in effect for the majority of variables, that is something I could do. Or if Andrew has another way?
may be look for lines like
case BC_RGB_FLOAT case BC_RGBA_FLOAT
with grep -r in plugins directory?
it looks like they all support at least input in float colorspace but histogram for example calculates curves with 8/16 bit precision, may be this is that gives clamping at the end? Does it exist if you output to native tiff? also, you can look for grep "CLAMP" -r plugins/ clamp macro itself, but you need some code reading for understand what exactly it clamps ... for example all display output still 8bit, so there is no sense yet to keep full range of channel values for in-plugin drawing ... sorry for absence of easy answer ...
On Sun, Nov 5, 2023 at 12:10 PM Andrea paz via Cin < [email protected]> wrote:
From the source code we can tell if a plugin works in 32 bit float or 8/10 bit integer? I don't know, maybe by searching for the string "float" in the code or something like that? Or the normalized range (0-1.0) instead of the range (0-255), etc. It would be important to put this information in the manual because, for example, I know that Histogram works with integers and this can lead to clipping (with loss of information) in highlights or deep blacks. In contrast, Blue Banana works in floats. -- Cin mailing list [email protected] https://lists.cinelerra-gg.org/mailman/listinfo/cin
-- Cin mailing list [email protected] https://lists.cinelerra-gg.org/mailman/listinfo/cin
sorry for absence of easy answer ... You are right: I cannot understand the operation by superficial reading of the code. Each plugin has all the strings that I thought could discriminate their operation. Trying to read the code of histogram.C I found:
CLAMP(output, 0, 1.0); case BC_RGBA_FLOAT // uint8 rgb is 8 bit, all others are converted to 16 bit RGB The first CLAMP might indicate the normalized range (0, 1.0); The comment seems to indicate that these are integer calculations (8 or 16 bits); etc. Plus in the mailing-list (later reported in the manual) GG was talking about 8- or 10-bit calculations, not 16-bit. In short, I don't have the ability to discriminate how plugins work. I thank you for the explanations and the tests you have pointed out.
пн, 6 нояб. 2023 г., 01:53 Andrea paz <[email protected]>:
sorry for absence of easy answer ... You are right: I cannot understand the operation by superficial reading of the code. Each plugin has all the strings that I thought could discriminate their operation. Trying to read the code of histogram.C I found:
CLAMP(output, 0, 1.0); case BC_RGBA_FLOAT // uint8 rgb is 8 bit, all others are converted to 16 bit RGB
The first CLAMP might indicate the normalized range (0, 1.0); The comment seems to indicate that these are integer calculations (8 or 16 bits); etc. Plus in the mailing-list (later reported in the manual) GG was talking about 8- or 10-bit calculations, not 16-bit.
well, does histogram beizer works better? do you have simple test file we can load, add plugin in rgba_float), output and easily see that it clipped?
In short, I don't have the ability to discriminate how plugins work. I thank you for the explanations and the tests you have pointed out.
do you have simple test file we can load, add plugin in rgba_float), output and easily see that it clipped? It would take an HDR image, however without an HDR screen we would always see the clip. To see the content beyond the clip one would have to do tone mapping (e.g. divide all values by 2 so that even those above the 0-1.0 range would come back within the range and then we could see details where we had burning whites before). I will try some tests tomorrow. If histogram does clip, the tone mapping should not work, and instead of burning whites a gray with no detail should appear. If it uses floats the details should appear.
I did some tests to see which of the major CC plugins use floats and which use integers. It turns out that only Blue Banana and Gamma support values above the range (0-1.0). Histogram Bezier reads values above 1.0 but does not use them, returning the usual clip. I start by showing the original image (png) where we can see details in the brightly lit window. In Compositor we don't see those details, getting only pure whites. So CinGG does not support HDR, as we already know (project setting to RGBA-FLOAT). However, even if we don't see them the details are there. To see them we have to do Tone Mapping, for example by decreasing the brightness levels until the values above 1.0 are back inside the range. With the Histogram plugin you can easily do this by lowering the white point along the vertical. No plugins show the details hidden in the white point except Blue Banana and Gamma. Since HDR is handled only in floating point (there are no values outside the range 0-255 or 0-1023, etc.), then I believe that all plugins work on integers except the two mentioned above. The test video can be found here: https://streamable.com/rh62t9
пн, 6 нояб. 2023 г., 11:49 Andrea paz <[email protected]>:
I did some tests to see which of the major CC plugins use floats and which use integers. It turns out that only Blue Banana and Gamma support values above the range (0-1.0). Histogram Bezier reads values above 1.0 but does not use them, returning the usual clip. I start by showing the original image (png) where we can see details in the brightly lit window. In Compositor we don't see those details, getting only pure whites. So CinGG does not support HDR, as we already know (project setting to RGBA-FLOAT). However, even if we don't see them the details are there. To see them we have to do Tone Mapping, for example by decreasing the brightness levels until the values above 1.0 are back inside the range. With the Histogram plugin you can easily do this by lowering the white point along the vertical. No plugins show the details hidden in the white point except Blue Banana and Gamma. Since HDR is handled only in floating point (there are no values outside the range 0-255 or 0-1023, etc.), then I believe that all plugins work on integers except the two mentioned above.
this is a bit strange because I remember Adam's page showing raw file processing where difference was there, in hv 2.x era .... https://web.archive.org/web/20100501142034/http://www.heroinewarrior.com/cin... oh, even 1.x era! https://web.archive.org/web/20100526091542/http://www.heroinewarrior.com/mov... are you sure you have 16 bit per channel png as input, with levels going up above 255? same with exr, from, for example Blender or Natron as input? or may be you run into fact that values clips when processed by any but those two plugins? Then there must be some bug preventing negotiation of float colorbuffers for plugins somewhere ... can you try another "lowering" tecnique, like creating 0.75 exr and subtract it from overbright image as layer/track mode? The test video can be found here:
пн, 6 нояб. 2023 г., 18:02 Andrew Randrianasulu <[email protected]>:
пн, 6 нояб. 2023 г., 11:49 Andrea paz <[email protected]>:
I did some tests to see which of the major CC plugins use floats and which use integers. It turns out that only Blue Banana and Gamma support values above the range (0-1.0). Histogram Bezier reads values above 1.0 but does not use them, returning the usual clip. I start by showing the original image (png) where we can see details in the brightly lit window. In Compositor we don't see those details, getting only pure whites. So CinGG does not support HDR, as we already know (project setting to RGBA-FLOAT). However, even if we don't see them the details are there. To see them we have to do Tone Mapping, for example by decreasing the brightness levels until the values above 1.0 are back inside the range. With the Histogram plugin you can easily do this by lowering the white point along the vertical. No plugins show the details hidden in the white point except Blue Banana and Gamma. Since HDR is handled only in floating point (there are no values outside the range 0-255 or 0-1023, etc.), then I believe that all plugins work on integers except the two mentioned above.
this is a bit strange because I remember Adam's page showing raw file processing where difference was there, in hv 2.x era ....
https://web.archive.org/web/20100501142034/http://www.heroinewarrior.com/cin...
oh, even 1.x era!
https://web.archive.org/web/20100526091542/http://www.heroinewarrior.com/mov...
https://web.archive.org/web/20040529041549/http://heroinewarrior.com/cineler... but yeah, this one talks about 10 vs 8 bit per channel output and 16 bit per channel (not float) processing in cinelerra 1.x
are you sure you have 16 bit per channel png as input, with levels going up above 255?
same with exr, from, for example Blender or Natron as input?
or may be you run into fact that values clips when processed by any but those two plugins? Then there must be some bug preventing negotiation of float colorbuffers for plugins somewhere ...
can you try another "lowering" tecnique, like creating 0.75 exr and subtract it from overbright image as layer/track mode?
The test video can be found here:
It seems to me that Adam's examples always involve integers, 8-, 10- or 16-bit, but always integers. Interesting that Adam's Histogram also shows data above 1.0, while in CinGG it happens with Histogram Bezier but not with Histogram (nor with Histogram of Scopes). Adam's waveform also shows data above 100% while CinGG's does not. See attached image. The png is just a screenshot captured to show what the original image looks like, since the contents of the window are not visible in CinGG. The original exr image gives the following result with ffprobe: Stream #0:0: Video: exr, gbrpf32le, 4096x2048 [SAR 1:1 DAR 2:1], 25 fps, 25 tbr, 25 tbn Such an image I simply downloaded from a free archive; I did not build it in Blender or Natron. If you want to try it out it can be found here: https://polyhaven.com/a/small_empty_room_1 I didn't quite understand how to do another "lowering technique" test.
пн, 6 нояб. 2023 г., 20:03 Andrea paz <[email protected]>:
It seems to me that Adam's examples always involve integers, 8-, 10- or 16-bit, but always integers. Interesting that Adam's Histogram also shows data above 1.0, while in CinGG it happens with Histogram Bezier but not with Histogram (nor with Histogram of Scopes). Adam's waveform also shows data above 100% while CinGG's does not. See attached image.
I tried cingg from dec 2017 and scope there also does not go above 100 ..... quite a bummer!
The png is just a screenshot captured to show what the original image looks like, since the contents of the window are not visible in CinGG.
The original exr image gives the following result with ffprobe: Stream #0:0: Video: exr, gbrpf32le, 4096x2048 [SAR 1:1 DAR 2:1], 25 fps, 25 tbr, 25 tbn
Such an image I simply downloaded from a free archive; I did not build it in Blender or Natron. If you want to try it out it can be found here: https://polyhaven.com/a/small_empty_room_1
I didn't quite understand how to do another "lowering technique" test.
A change on Histogram dates back to May 2021. See: https://cinelerra-gg.org/download/testing/
On Mon, Nov 6, 2023 at 10:10 PM Andrea paz <[email protected]> wrote:
A change on Histogram dates back to May 2021. See: https://cinelerra-gg.org/download/testing/
interesting, thanks ..... Right now I see that Cingg compiled at may 2017 was showing over 100 values in scopes (with just videoscope and not any additional plugin) so ... may be it was broken, fixed, and broke again ....
On Mon, Nov 6, 2023 at 10:07 PM Andrew Randrianasulu <[email protected]> wrote:
On Mon, Nov 6, 2023 at 10:10 PM Andrea paz <[email protected]> wrote:
A change on Histogram dates back to May 2021. See: https://cinelerra-gg.org/download/testing/
interesting, thanks .....
Right now I see that Cingg compiled at may 2017 was showing over 100 values in scopes (with just videoscope and not any additional plugin)
so ... may be it was broken, fixed, and broke again ....
so, lol, disabling SMOOTH in scopes makes them go over 100 ......
пн, 6 нояб. 2023 г., 23:13 Andrea paz <[email protected]>:
In any case, using any plugin (even BlueBanana or Gamma) returns the clip...
in scope from Compositor? yes .. but attaching videoscope to track still shows them go over 100 even with plugin(s) attached ... not sure how output values suppose to go over 100… something then must define max white level some 10% below max. representable value .... how photo software deals with this?
participants (3)
-
Andrea paz -
Andrew Randrianasulu -
Phyllis Smith