Skip to content

Only 320x240 JPEG works in capture_stream example for OV2640 on ESP32-S3; all higher JPEG resolutions fail with zero-sized frames (AEGHB-1292) #52

@DemTerritory

Description

@DemTerritory

Checklist

  • Checked the issue tracker for similar issues to ensure this is not a duplicate
  • Read the documentation to confirm the issue is not addressed there and your configuration is set correctly
  • Tested with the latest version to ensure the issue hasn't been fixed

How often does this bug occurs?

always

Expected behavior

When using JPEG output format with OV2640 via DVP on ESP32-S3, the capture_stream example should successfully capture frames at all JPEG resolutions, including:

640×480 @ 25 fps
1280×720 @ 12 fps
1600×1200 @ 12 fps

Actual behavior (suspected bug)

Only 320x240 @ 50 fps works correctly.
All higher resolutions fail silently: the camera is initialized, streaming is started, but every captured frame has size=0, and the example ends with "No frame captured".

Error logs or terminal output

Capture format: JPEG, frame size: 640x480, FPS: 25.0

I (70-01-01 00:00:00.438) example_init_video: DVP camera sensor I2C port=0, scl_pin=5, sda_pin=4, freq=100000
D (70-01-01 00:00:00.449) dvp_cam: DVP clock source frequency 240000000Hz
D (70-01-01 00:00:00.455) i2c.common: new bus(0) at 0x3fce9db0
D (70-01-01 00:00:00.461) i2c.common: bus clock source frequency: 40000000hz
D (1211) intr_alloc: Connected src 42 to int 8 (cpu 0)
D (70-01-01 00:00:00.473) sccb_i2c: new io_i2c: 0x3c040970
I (70-01-01 00:00:00.481) ov2640: Detected Camera sensor PID=0x26
D (70-01-01 00:00:00.541) ov2640: write i=160
D (70-01-01 00:00:00.578) ov2640: write i=72
D (70-01-01 00:00:00.580) dvp_video: buffer size=307200
D (70-01-01 00:00:00.581) dvp_video: alignments=32
I (70-01-01 00:00:00.581) example: version: 1.3.1
I (70-01-01 00:00:00.586) example: driver:  DVP
I (70-01-01 00:00:00.591) example: card:    DVP
I (70-01-01 00:00:00.597) example: bus:     esp32s3:DVP
I (70-01-01 00:00:00.603) example: capabilities:
I (70-01-01 00:00:00.608) example:      VIDEO_CAPTURE
I (70-01-01 00:00:00.613) example:      STREAMING
I (70-01-01 00:00:00.618) example: device capabilities:
I (70-01-01 00:00:00.624) example:      VIDEO_CAPTURE
I (70-01-01 00:00:00.630) example:      STREAMING
I (70-01-01 00:00:00.637) example: chip id: 0x26
D (70-01-01 00:00:00.640) esp_video: video->ops->enum_framesizes=NULL
I (70-01-01 00:00:00.657) example: Capture format: JPEG, frame size: 640x480, FPS: 25.0, for 10 seconds:
D (70-01-01 00:00:00.679) dvp_video: alignments=32
D (70-01-01 00:00:00.683) dvp_cam: alignment: 0x20
D (70-01-01 00:00:00.688) gdma: new group (0) at 0x3fcea420
D (70-01-01 00:00:00.693) gdma: new pair (0,0) at 0x3fcea4ac
D (70-01-01 00:00:00.699) gdma: new rx channel (0,0) at 0x3fcea3e4
D (70-01-01 00:00:00.705) dvp_gdma: alignment_size: 1, dma->desc_count: 76, dma->desc_size: 912
D (1456) intr_alloc: Connected src 66 to int 9 (cpu 0)
D (70-01-01 00:00:00.718) gdma: install interrupt service for rx channel (0,0)
D (1533) dvp_video: size=0
D (1573) dvp_video: size=0
D (70-01-01 00:00:00.868) ov2640: Stream=1
...
D (11689) dvp_video: size=0
D (11729) dvp_video: size=0
D (70-01-01 00:00:11.048) ov2640: Stream=0
D (70-01-01 00:00:11.049) gdma: uninstall interrupt service for rx channel (0,0)
D (70-01-01 00:00:11.049) gdma: del rx channel (0,0)
D (70-01-01 00:00:11.053) gdma: del pair (0,0)
D (70-01-01 00:00:11.057) gdma: del group 0
W (70-01-01 00:00:11.061) example: No frame captured
D (70-01-01 00:00:11.067) esp_video: dev_name=DVP
D (70-01-01 00:00:11.071) esp_video: dev_name=DVP
D (70-01-01 00:00:11.076) ov2640: del ov2640 (0x3c0409a4)
D (70-01-01 00:00:11.081) i2c.master: del i2c bus(0)
D (70-01-01 00:00:11.085) i2c.common: delete bus 0
I (70-01-01 00:00:11.090) main_task: Returned from app_main()

Steps to reproduce the behavior

ESP32-S3 DevKitC with OV2640 camera

-- Building ESP-IDF components for target esp32s3
NOTICE: Skipping optional dependency: espressif/esp_h264
NOTICE: Skipping optional dependency: espressif/esp_ipa
NOTICE: Processing 8 dependencies:
NOTICE: [1/8] espressif/cmake_utilities (0.5.3)
NOTICE: [2/8] espressif/esp_cam_sensor (1.5.1)
NOTICE: [3/8] espressif/esp_new_jpeg (1.0.0)
NOTICE: [4/8] espressif/esp_sccb_intf (0.0.5)
NOTICE: [5/8] espressif/esp_video (1.3.1)
NOTICE: [6/8] espressif/usb (1.0.1)
NOTICE: [7/8] espressif/usb_host_uvc (2.3.1)
NOTICE: [8/8] idf (6.1.0)

Project release version

1.3.1

System architecture

Intel/AMD 64-bit (modern PC, older Mac)

Operating system

Windows

Operating system version

Win 10

Shell

CMD

Additional context

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions