kbarni / LCCV

LibCamera wrapper library for OpenCV
60 stars 30 forks source link

Failed to queue buffer for large images #33

Open tannergarcia opened 1 week ago

tannergarcia commented 1 week ago

I'm currently trying to use a 64MP Arducam camera. This works perfect with libcamera-still, allowing me to capture 9248x6944 images. However I cannot get it to work with this library.

    cv::Mat frame;

    lccv::PiCamera cam;
    cam.options->photo_width=9248;
    cam.options->photo_height=6944;
    cam.options->verbose=true;

    cam.startPhoto();
    cam.capturePhoto(frame);
    cv::imwrite("test.jpg", frame);

Output:

Opening camera...
[20:19:27.887044409] [27731]  INFO Camera camera_manager.cpp:325 libcamera v0.3.2+27-7330f29b
[20:19:27.898579238] [27735]  INFO RPI pisp.cpp:695 libpisp version v1.0.7 28196ed6edcf 29-08-2024 (16:33:32)
[20:19:27.907644136] [27735]  INFO RPI pisp.cpp:1154 Registered camera /base/axi/pcie@120000/rp1/i2c@88000/ov64a40@36 to CFE device /dev/media2 and ISP device /dev/media0 using PiSP variant BCM2712_C0
[20:19:27.907719247] [27735]  INFO RPI pisp.cpp:695 libpisp version v1.0.7 28196ed6edcf 29-08-2024 (16:33:32)
[20:19:27.917746325] [27735]  INFO RPI pisp.cpp:1154 Registered camera /base/axi/pcie@120000/rp1/i2c@80000/imx708@1a to CFE device /dev/media3 and ISP device /dev/media4 using PiSP variant BCM2712_C0
Acquired camera /base/axi/pcie@120000/rp1/i2c@88000/ov64a40@36
Configuring still capture...
Stream configuration adjusted
[20:19:27.918244174] [27731]  INFO Camera camera.cpp:1197 configuring streams: (0) 9248x6944-RGB888 (1) 9248x6944-RGGB_PISP_COMP1
[20:19:27.918349137] [27735]  INFO RPI pisp.cpp:1450 Sensor: /base/axi/pcie@120000/rp1/i2c@88000/ov64a40@36 - Selected sensor format: 9248x6944-SRGGB10_1X10 - Selected CFE format: 9248x6944-PC1R
Camera streams configured
Buffers allocated and mapped
Still capture setup complete
Requests created
Camera started!
[20:19:32.916934567] [27735] ERROR V4L2 v4l2_videodevice.cpp:1960 /dev/video24[26:cap]: Failed to queue buffer 2: Invalid argument
[20:19:32.916966752] [27735] ERROR RPISTREAM rpi_stream.cpp:276 Failed to queue buffer for ISP Output1

I have found that photos will only work if I lower the size down to 4624x3472.