I'm using the almost exact Java code in an Android project to obtain the depth frame for the Astra Embedded S as I have done before with the Astra Mini, however the depth data looks wrong when I dump it from the Embedded S.
byte depthSensorByteArray = new byte[DEPTH_WIDTH * DEPTH_HEIGHT * 2];
VideoFrameRef depthFrame = mDepthStream.readFrame();
ByteBuffer frameDataDepth = depthFrame.getData();
Is there some kind of pre-processing that the Orbbec-UVC sample Android project does to the uint16 depth frame before it is rendered?