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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions