Skip to content

Camera::open() takes 5-7s for 1920x1200 SVO files with DEPTH_MODE::NONE (50x slower than 1080p) #745

@caiobarrosv

Description

@caiobarrosv

Preliminary Checks

  • This issue is not a duplicate. Before opening a new issue, please search existing issues.
  • This issue is not a question, feature request, or anything other than a bug report directly related to this project.

Description

Camera::open() takes 5-7 seconds when opening SVO2 files recorded at the ZED X native resolution (1920x1200), even with DEPTH_MODE::NONE and camera_disable_self_calib = true. The same camera serial opening a 1920x1080 SVO file completes in 0.1-0.4 seconds — a ~50x difference with no depth or self-calibration involved.

Steps to Reproduce

import pyzed.sl as sl
import time

# Requires two SVO files from the same ZED X camera:
#   - one recorded at 1920x1080
#   - one recorded at 1920x1200 (native resolution)

FILES = {
    "1080p": "/path/to/recording_1080p.svo2",
    "1200p": "/path/to/recording_1200p.svo2",
}

for label, path in FILES.items():
    zed = sl.Camera()
    init = sl.InitParameters()
    init.set_from_svo_file(path)
    init.depth_mode = sl.DEPTH_MODE.NONE
    init.camera_disable_self_calib = True

    t0 = time.time()
    status = zed.open(init)
    elapsed = time.time() - t0

    if status == sl.ERROR_CODE.SUCCESS:
        info = zed.get_camera_information()
        res = f"{info.camera_configuration.resolution.width}x{info.camera_configuration.resolution.height}"
        print(f"{label}: open={elapsed:.2f}s, res={res}, serial={info.serial_number}")
        zed.close()
    else:
        print(f"{label}: FAILED ({status}) in {elapsed:.2f}s")

Expected Result

Camera::open() with DEPTH_MODE::NONE and camera_disable_self_calib = true should complete in under 1 second regardless of resolution, since no depth computation, neural model loading, or self-calibration is requested.

Actual Result

Camera::open() takes 5-7 seconds for 1920x1200 SVO files, even though:

  • Depth mode is NONE
  • Self-calibration is disabled
  • GPU utilization is 0% during the call
  • The files are smaller than the fast-opening 1080p files

This creates a significant bottleneck in SVO processing pipelines. In our case, processing 4 SVO files (one per camera angle) takes ~20-26 seconds wall time, with open() accounting for nearly all of it.

ZED Camera model

ZED

Environment

- Platform: x86_64 Linux (Ubuntu 22.04)
- GPU: NVIDIA RTX (CUDA 12.8)
- ZED SDK: 5.2
- Python API: pyzed
- Cameras: 4x ZED X (GMSL2), serials 42380488, 45973857, 46164128, 48026452
- Docker base image: `stereolabs/zed:5.2-devel-cuda12.8-ubuntu22.04`
- SVO files: Recorded at 1920x1200 (native), H265 compression, 5 frames, 30 FPS

Anything else?

Observed Behavior

File Resolution Serial Size open() time
test_1frame.svo 1920x1080 46164128 14.5 MB 0.39s
prod_0.svo2 1920x1200 46164128 1.2 MB 5.50s
prod_180.svo2 1920x1200 42380488 1.1 MB 4.84s
prod_270.svo2 1920x1200 45973857 1.4 MB 6.27s
prod_90.svo2 1920x1200 48026452 1.1 MB 5.16s

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions