Hi there,
I have 2x IMX577 cameras on a OAK-FFC 4P board, and I'm running the new depthai v3 sdk.
I want to run both cameras at max resolution (12MP), but I get:
Camera(1) - Out of memory while creating pool for source frames. Number of frames: 3 each with size: 15412800B
and this does not happen when I run a single camera.
My application requires to have both cameras at 12MP because during stream (low-res) I need to acquire high resolution snapshots (doing that with the Script method).
So I guess a possible solution would be to reduce the camera pool size, but I could not find how I can achieve that. Any suggestion?
For reference, here is how the pipeline looks like:
oak_pipeline_v3 = dai.Pipeline()
cam1 = oak_pipeline_v3.create(dai.node.Camera).build(
dai.CameraBoardSocket.CAM_A,
sensorFps=30
)
cam2 = oak_pipeline_v3.create(dai.node.Camera).build(
dai.CameraBoardSocket.CAM_B,
sensorFps=30
)
stream_highest_res1 = cam1.requestFullResolutionOutput(useHighestResolution=True)
stream_highest_res2 = cam2.requestFullResolutionOutput(useHighestResolution=True)
imgManip1 = oak_pipeline_v3.create(dai.node.ImageManip)
stream_highest_res1.link(imgManip1.inputImage)
imgManip1.setNumFramesPool(2)
imgManip1.initialConfig.setOutputSize(x, y)
imgManip1.initialConfig.setFrameType(dai.ImgFrame.Type.NV12)
imgManip1.setMaxOutputFrameSize(x * y * 3)
downscaled_res_q1 = imgManip1.out.createOutputQueue(1)
imgManip2 = oak_pipeline_v3.create(dai.node.ImageManip)
stream_highest_res2.link(imgManip2.inputImage)
imgManip2.setNumFramesPool(2)
imgManip2.initialConfig.setOutputSize(x, y)
imgManip2.initialConfig.setFrameType(dai.ImgFrame.Type.NV12)
imgManip2.setMaxOutputFrameSize(x * y * 3)
downscaled_res_q2 = imgManip2.out.createOutputQueue(1)
oak_pipeline_v3.start()