When capturing still images using Argus (nvarguscamerasrc, nvgstcapture-1.0, etc), the black levels are set incorrectly to video levels (16-235) rather than PC levels (0-255). I tested this with my Nano + IMX477 camera in a dark room with the lens cap on. The following commands all produce the same washed out / low contrast images.
Is there any way to correct this in the Gstreamer pipeline? Let me know if I’m doing something incorrect in my pipeline setup. Regardless, nvgstcapture-1.0 will likely need a code fix. Thanks!
However, JPEG in YUV is entirely valid and should contain the necessary color space metadata so a viewer knows how to display it correctly. It seems that piece may be missing. And while the above does provide a workaround, nvgstcapture-1.0 is only able to output JPEG in YUV.
Hi,
In default release YUV420 limited range is supported. You would need to check the source code and do customization to support YUV420 extended range. Please download source code package and check nvarguscamerasrc and nvvidconv plugin. The buffers are all in NvBufferColorFormat_YUV420 . For supporting YUV420 extended range, would need to modify the format to NvBufferColorFormat_YUV420_ER , and rebuild/replace the plugins.
Ok, thanks for the info. I’ll give that a try, but in my opinion, Nvidia should strongly consider providing a way to support both Studio Luminance Range and Extended Range (ie. Full Luminance Range) in nvarguscamerasrc and nvvidconv as a user configurable parameter. One could try to infer this setting by whether the user is capturing 1 frame (ie. still photo which definitely should be in Extended Range), or multiple frames (may want to be in Extended Range or Studio Luminance Range). But the choice should really be left to the user. Further, Extended Range should likely be the default as it offers statistically significant additional dynamic range. Studio Luminance Range has a long and somewhat strange history, but it is mainly only used / desired in professional video production. I imagine most people / companies using cameras on Jetson would prefer to to have the extra bits available for increased dynamic range, especially when working with 8bit formats.