image_types.h
has the following pixel formats for color images:
// color layouts
ASTRA_PIXEL_FORMAT_RGB888 = 200,
ASTRA_PIXEL_FORMAT_YUV422 = 201,
ASTRA_PIXEL_FORMAT_YUYV = 202,
ASTRA_PIXEL_FORMAT_RGBA = 203,
ASTRA_PIXEL_FORMAT_NV21 = 204,
ASTRA_PIXEL_FORMAT_GRAY8 = 300,
ASTRA_PIXEL_FORMAT_GRAY16 = 301,
However, if I specify anything other than RGB888 or RGBA for a color stream, I get the following error:
ERROR [orbbec.ni.LibuvcColorStream] unable to copy frame(640x480 pf:3): Out of memory
Using RGB888 with depth at 640x480 cannot keep up at 30fps on the Persee, so I’d like to use either YUV422 or NV21 as pixel formats to have better temporal resolution. Is this possible to do?
If not, I am considering just saving the depth stream from the Astra SDK and using V4L2 to get the color stream, but then there is a question of synchronizing the 2 streams. Has anyone been successful at recording or streaming a synchronized color and depth stream at 30fps?