Skip to content

Severe pose jitter on OPPO/Realme devices with IMX766 sensor due to camera HAL DOL-HDR exposure errors #1760

@aazzxin

Description

@aazzxin

SPECIFIC ISSUE ENCOUNTERED

Severe pose tracking jitter on OPPO/Realme devices with Sony IMX766 sensor. ARCore's VIO (Visual-Inertial Odometry) continuously loses tracking and resets the map, causing AR content to flicker/jump erratically.

Root cause: Camera HAL layer errors related to DOL3 (Digital Overlap) HDR mode produce invalid exposure parameters (inf/nan values), which cause ARCore feature matching to fail on every frame.

VERSIONS USED

Android Studio: Android Studio Ladybug | 2024.2.1
ARCore SDK for Android: 1.44.0
Device manufacturer, model, and O/S: Realme GT Neo5, Realme UI 5.0 (Android 14)
Google Play Services for AR (ARCore): 1.44
Output of adb shell getprop ro.build.fingerprint: realme/RMX3706/RE58C2L1:14/UP1A.231005.007/T.RQ3.1234567:user/release-keys

STEPS TO REPRODUCE THE ISSUE

1.Install hello_ar_java sample on Realme GT Neo5 (or other OPPO/Realme device with IMX766 sensor)
2.Launch the app and start AR session
3.Observe severe pose jitter - AR objects flicker and jump continuously, even when device is held still

WORKAROUNDS (IF ANY)

None found. Attempted the following without success:

Reduce camera resolution to 720p or 480p
Lock display refresh rate to 60Hz
Disable depth sensor usage

ADDITIONAL COMMENTS

Camera HAL Error Logs (occurring on every frame ~30fps):
E vendor.qti.camera.provider@2.7-service_64: IMX766 ExposureInfo(Short, Middle, Long) -
Analog Gain(1.000000, 0.000000, 64.000000),
Digital Gain(1.000000, 0.000000, 1.000000),
Linecount(8, 0, 3262),
ISP Digital Gain(0.000000, 0.000000, 2.000680),
Exposure Ratio (LM, MS, LS) = (inf, nan, inf)

E vendor.qti.camera.provider@2.7-service_64: oppo_imx set wrong dolnum:-1

ARCore VIO Failure Logs:
W vio_fault_detector.cc: VIO is moving fast with speed (m/s): 0.58 but RANSAC failed to provide valid frame to frame translation by reporting degeneracy
I patch_estimator.cc: Failed to get valid matched features: NOT_FOUND: No matching features between frames.
W tracking.cc: Tracking error status: BOX_NO_FEATURES
I data_manager.cc: VisualInertialState is kNotTracking. Reset the map.

Analysis: The camera HAL's DOL3 HDR mode is misconfigured (dolnum:-1), causing Middle frame exposure to be zero and exposure ratios to compute as inf/nan. This produces degraded image frames that ARCore cannot extract stable features from.

Potentially affected devices: All OPPO/Realme devices using Sony IMX766 sensor (Realme GT Neo5, OPPO Find X5, Realme GT2 Pro, etc.)

ar_tracking.log
camera_params.log

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions