I have a question about image bit depth or color space converter when using CSI camera.
My platform is Jetson Nano, JetPack 4.6.1, CSI Camera: IMX219/IMX477/Imx412.
And refer this example and modify for execise:
/usr/src/jetson_multimedia_ap/argus/samples/oneShot
When using iSensorMode to get sensor image information as:
getBayerPhase is BAYER_PHASE_RGGB
getInputBitDepth is 10
getOutputBitDepth is 10
And line 128 in main.cpp, it seems set output pixel format as YCbCr_420_888
iEGLStreamSettings->setPixelFormat(Argus::PIXEL_FMT_YCbCr_420_888);
In my thinking, EGL Stream will converter Bayer pattern(10-bit) to YCbCr_420_888 automatically after iSession->capture() and get image from iFrame->getImage()
Is it correct?
And how does it convet 10bit to 8bit? Reserve high 8 bits and ignore others?
So let me confirm it :
The image captured by CSI camera is raw bayer format and be sent to internal ISP to do demosaic to RGB and convert to YUV output?
Format State
======================= ==========
PIXEL_FMT_Y8 Not Supported
PIXEL_FMT_Y16 Not Supported
PIXEL_FMT_YCbCr_420_888 Works with all consumers.
PIXEL_FMT_YCbCr_422_888 Not Supported
PIXEL_FMT_YCbCr_444_888 Not Supported
PIXEL_FMT_JPEG_BLOB Not Supported (TODO: Remove format)
PIXEL_FMT_RAW16 Works with all consumers.