Skip to content

HDR capture pipeline not resetting on X3 – subsequent normal photo appears dull after HDR capture #77

@ManojAtamai

Description

@ManojAtamai

Description

While implementing HDR capture on Insta360 X3 using the iOS SDK, the camera does not appear to reset the HDR pipeline after capturing an HDR image. When capturing a normal photo immediately afterward, the resulting image appears dull / incorrectly exposed.

SDK reference:
https://github.com/Insta360Develop/iOS-SDK

Attempt 1 (As per documentation)

let options = INSTakePictureOptions()
options.mode = .aeb

INSCameraManager.shared().commandManager.takePicture(with: options) { error, info in
}

This results in the following error:

capture using takeHDRPicture method

Attempt 2

let options = INSTakePictureOptions()
options.mode = .aeb

INSCameraManager.shared().commandManager.takeHDRPicture(with: options) { error, urls, data in
}

This still did not capture HDR correctly.

Working Approach

HDR capture started working only after explicitly setting photoSubMode to HDR.

let options = INSCameraOptions()

let optionTypes: [NSNumber] = [
    NSNumber(value: INSCameraOptionsType.photoSubMode.rawValue)
]

options.photoSubMode = UInt(INSPhotoSubMode.hdr.rawValue)

INSCameraManager.shared().commandManager.setOptions(options, forTypes: optionTypes) { error, _ in
}

Issue After HDR Capture

When switching back to normal capture:

let options = INSTakePictureOptions()
options.mode = .normal

INSCameraManager.shared().commandManager.takePicture(with: options) { error, info in
}

Even after resetting:

options.photoSubMode = UInt(INSPhotoSubMode.single.rawValue)

the captured image appears dull / incorrectly exposed, suggesting the HDR pipeline is not resetting internally.

Steps to Reproduce

  1. Set photoSubMode = hdr
  2. Capture HDR using takeHDRPicture
  3. Set photoSubMode = single
  4. Capture normal photo using takePicture

Expected Behavior

Normal photos should return to standard exposure after HDR capture.

Actual Behavior

The photo appears dull / incorrectly exposed.

Device

Camera: Insta360 X3
SDK: iOS SDK from GitHub

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