Mi 10

Android 11 (API 30)

Xiaomi · Qualcomm kona

CameraBench
Codec maxima
AVCverified220 Mbps
HEVCverified160 Mbps
AVC and HEVC both verified at 6016×4512 @ 30fps on Main
Bit depth
10-bit sensor → 8-bit encoder 😒
the encoder does 10-bit, but this Android version exposes no public HDR capture API, so the file is 8-bit
Storage write
3 Gbps (raw)

Cameras

LensFacingFocal lengthSensor sizeMax resModesHW level
Main #0BACK24mm (6.72mm)9.63 × 7.22 mm6016×451225LEVEL_3
1.9mm #2BACK24mm (1.94mm)2.8 × 2.1 mm1600×120013LEVEL_3
Ultrawide #3BACK16mm (2.13mm)4.71 × 3.49 mm3840×216021LEVEL_3
Front #1FRONT26mm (3.12mm)4.15 × 3.1 mm1940×194019LEVEL_3

Focal lengths show the 35mm equivalent first; the sensor's native focal length is in parentheses. Only the equivalent is comparable between phones.

Max res is the largest frame this lens was proven to record: a real clip written to disk and read back with frames in it.

Encoder frame ceilings

CodecLargest frameMacroblocksAdvertised max
HEVC8192×4320138,2408192 × 8192 262,144 MB
AVC8192×4320138,2408192 × 8192 262,144 MB

One macroblock is 16×16 pixels. The macroblock count is the encoder's real ceiling — a budget every frame has to fit, landscape or portrait — and the largest frame beside it is simply the biggest shape that spends it. The advertised maximum width and height are struck through where their product exceeds that budget. They are independent limits that cannot be used together, so the figure they imply is not a resolution this encoder will accept: design against the macroblock count, not the advertised pair.

Thermal Throttling Tests

The soak test records continuously from a cold start and tracks the frame rate as the device heats up — a phone that can't shed the heat starts dropping frames and throttling before the run is done.

Each run below was soaked on its own, with a cooldown between runs, so their heat curves compare fairly — the one that climbs fastest and throttles soonest is working the silicon hardest.

Performance: HEVC 6016×4512

Sustained frame rate
30 fps
average across 60 clips · 100% of the 30fps target
Frames dropped
32 / 18027 total
against a steady 30fps
Peak temperature
37.7°C
battery sensor, during the run
Throttling reached
NONE
highest status the OS reported

Recorded for the full 10min — the time limit stopped it, nothing else — shedding only a handful of frames (under 1%) and holding rate throughout. This device has thermal headroom to spare.

Encoded with HEVC at this device's maximum hardware bitrate for it.

Frame rate 30.1 fps → 30.1 fps

30.1 fps

Clip 1: 30.1 fpsClip 2: 30.1 fpsClip 3: 29.9 fpsClip 4: 30.1 fpsClip 5: 30.1 fpsClip 6: 30 fpsClip 7: 29.8 fpsClip 8: 30 fpsClip 9: 30.1 fpsClip 10: 30 fpsClip 11: 30.1 fpsClip 12: 30.1 fpsClip 13: 30 fpsClip 14: 30.1 fpsClip 15: 30 fpsClip 16: 29.9 fpsClip 17: 29.8 fpsClip 18: 30.1 fpsClip 19: 30 fpsClip 20: 30 fpsClip 21: 30.1 fpsClip 22: 29.8 fpsClip 23: 30.1 fpsClip 24: 30 fpsClip 25: 30.1 fpsClip 26: 30.1 fpsClip 27: 30 fpsClip 28: 30.1 fpsClip 29: 30 fpsClip 30: 30.1 fpsClip 31: 30 fpsClip 32: 30.1 fpsClip 33: 30.1 fpsClip 34: 30 fpsClip 35: 30.1 fpsClip 36: 30 fpsClip 37: 30.1 fpsClip 38: 30 fpsClip 39: 30.1 fpsClip 40: 30.1 fpsClip 41: 30 fpsClip 42: 29.9 fpsClip 43: 30 fpsClip 44: 30 fpsClip 45: 30 fpsClip 46: 29.8 fpsClip 47: 30.1 fpsClip 48: 30 fpsClip 49: 30.1 fpsClip 50: 29.4 fpsClip 51: 29.3 fpsClip 52: 30 fpsClip 53: 30.1 fpsClip 54: 30.1 fpsClip 55: 30 fpsClip 56: 30.1 fpsClip 57: 29.6 fpsClip 58: 30 fpsClip 59: 29.6 fpsClip 60: 30.1 fps

0 fps

Encoded per 10s clip 156 Mbps → 158 Mbps

175 Mbps

Clip 1: 156 MbpsClip 2: 152 MbpsClip 3: 159 MbpsClip 4: 162 MbpsClip 5: 160 MbpsClip 6: 159 MbpsClip 7: 170 MbpsClip 8: 156 MbpsClip 9: 155 MbpsClip 10: 160 MbpsClip 11: 162 MbpsClip 12: 159 MbpsClip 13: 159 MbpsClip 14: 166 MbpsClip 15: 161 MbpsClip 16: 154 MbpsClip 17: 158 MbpsClip 18: 162 MbpsClip 19: 157 MbpsClip 20: 161 MbpsClip 21: 157 MbpsClip 22: 169 MbpsClip 23: 153 MbpsClip 24: 168 MbpsClip 25: 152 MbpsClip 26: 157 MbpsClip 27: 160 MbpsClip 28: 158 MbpsClip 29: 160 MbpsClip 30: 159 MbpsClip 31: 157 MbpsClip 32: 162 MbpsClip 33: 158 MbpsClip 34: 160 MbpsClip 35: 163 MbpsClip 36: 159 MbpsClip 37: 170 MbpsClip 38: 151 MbpsClip 39: 167 MbpsClip 40: 155 MbpsClip 41: 160 MbpsClip 42: 173 MbpsClip 43: 153 MbpsClip 44: 161 MbpsClip 45: 156 MbpsClip 46: 172 MbpsClip 47: 151 MbpsClip 48: 167 MbpsClip 49: 159 MbpsClip 50: 163 MbpsClip 51: 157 MbpsClip 52: 144 MbpsClip 53: 161 MbpsClip 54: 163 MbpsClip 55: 167 MbpsClip 56: 153 MbpsClip 57: 175 MbpsClip 58: 150 MbpsClip 59: 163 MbpsClip 60: 158 Mbps

0.0 Mbps

Battery temperature Estimates: 45°C in ~23min 1s · 60°C in ~81min 4s (exponential fit)

45°C

10s: 31°C 20s: 31°C 30s: 31°C 40s: 31°C 50s: 31.2°C 1min: 31.2°C 1min 10s: 31.5°C 1min 20s: 31.5°C 1min 30s: 31.5°C 1min 40s: 31.7°C 1min 50s: 32°C 2min: 32°C 2min 10s: 32°C 2min 20s: 32.2°C 2min 30s: 32.5°C 2min 40s: 32.5°C 2min 50s: 32.7°C 3min: 32.7°C 3min 10s: 33°C 3min 20s: 33.2°C 3min 30s: 33.2°C 3min 40s: 33.2°C 3min 50s: 33.5°C 4min: 33.7°C 4min 10s: 33.7°C 4min 20s: 33.7°C 4min 30s: 34°C 4min 40s: 34.2°C 4min 50s: 34.2°C 5min: 34.5°C 5min 10s: 34.5°C 5min 20s: 34.7°C 5min 30s: 35°C 5min 40s: 35°C 5min 50s: 35°C 6min: 35°C 6min 10s: 35.2°C 6min 20s: 35.2°C 6min 30s: 35.5°C 6min 40s: 35.5°C 6min 50s: 35.7°C 7min: 35.7°C 7min 10s: 36°C 7min 20s: 36°C 7min 30s: 36.2°C 7min 40s: 36.2°C 7min 50s: 36.5°C 8min: 36.5°C 8min 10s: 36.5°C 8min 20s: 36.7°C 8min 30s: 36.7°C 8min 40s: 37°C 8min 50s: 37°C 9min: 37.2°C 9min 10s: 37.2°C 9min 20s: 37.2°C 9min 30s: 37.5°C 9min 40s: 37.5°C 9min 50s: 37.5°C 10min: 37.7°C 45°C in ~23min 1s

30°C

010min recorded23min 1s

Throttling status NONE → NONE

MODERATE

Clip 1: NONEClip 2: NONEClip 3: NONEClip 4: NONEClip 5: NONEClip 6: NONEClip 7: NONEClip 8: NONEClip 9: NONEClip 10: NONEClip 11: NONEClip 12: NONEClip 13: NONEClip 14: NONEClip 15: NONEClip 16: NONEClip 17: NONEClip 18: NONEClip 19: NONEClip 20: NONEClip 21: NONEClip 22: NONEClip 23: NONEClip 24: NONEClip 25: NONEClip 26: NONEClip 27: NONEClip 28: NONEClip 29: NONEClip 30: NONEClip 31: NONEClip 32: NONEClip 33: NONEClip 34: NONEClip 35: NONEClip 36: NONEClip 37: NONEClip 38: NONEClip 39: NONEClip 40: NONEClip 41: NONEClip 42: NONEClip 43: NONEClip 44: NONEClip 45: NONEClip 46: NONEClip 47: NONEClip 48: NONEClip 49: NONEClip 50: NONEClip 51: NONEClip 52: NONEClip 53: NONEClip 54: NONEClip 55: NONEClip 56: NONEClip 57: NONEClip 58: NONEClip 59: NONEClip 60: NONE

NONE

clip 110min 2sclip 60

Each point is one 10-second recording, in order, sampled as it began. Nothing was written to storage: the video was encoded and measured, never saved.

Performance: AVC 6016×4512

Sustained frame rate
30.1 fps
average across 60 clips · 100% of the 30fps target
Frames dropped
0 / 18033 total
held the target rate throughout
Peak temperature
41.5°C
battery sensor, during the run
Throttling reached
NONE
highest status the OS reported

Recorded for the full 10min without dropping frames or overheating — the time limit stopped it, nothing else. This device has thermal headroom to spare.

Encoded with AVC at this device's maximum hardware bitrate for it.

Frame rate 30.1 fps → 30 fps

30.1 fps

Clip 1: 30.1 fpsClip 2: 30.1 fpsClip 3: 30 fpsClip 4: 30.1 fpsClip 5: 30.1 fpsClip 6: 30 fpsClip 7: 30.1 fpsClip 8: 30 fpsClip 9: 30 fpsClip 10: 30.1 fpsClip 11: 30 fpsClip 12: 30 fpsClip 13: 30.1 fpsClip 14: 30 fpsClip 15: 30.1 fpsClip 16: 30 fpsClip 17: 30.1 fpsClip 18: 30 fpsClip 19: 30.1 fpsClip 20: 30.1 fpsClip 21: 30 fpsClip 22: 30.1 fpsClip 23: 30 fpsClip 24: 30.1 fpsClip 25: 30 fpsClip 26: 30.1 fpsClip 27: 30.1 fpsClip 28: 30 fpsClip 29: 30.1 fpsClip 30: 30 fpsClip 31: 30.1 fpsClip 32: 30 fpsClip 33: 30.1 fpsClip 34: 30.1 fpsClip 35: 30 fpsClip 36: 30.1 fpsClip 37: 30 fpsClip 38: 30.1 fpsClip 39: 30 fpsClip 40: 30.1 fpsClip 41: 30.1 fpsClip 42: 30 fpsClip 43: 30.1 fpsClip 44: 30 fpsClip 45: 30.1 fpsClip 46: 30 fpsClip 47: 30.1 fpsClip 48: 30.1 fpsClip 49: 30 fpsClip 50: 30.1 fpsClip 51: 30 fpsClip 52: 30.1 fpsClip 53: 30 fpsClip 54: 30.1 fpsClip 55: 30.1 fpsClip 56: 30 fpsClip 57: 30.1 fpsClip 58: 30 fpsClip 59: 30.1 fpsClip 60: 30 fps

0 fps

Encoded per 10s clip 219 Mbps → 218 Mbps

238 Mbps

Clip 1: 219 MbpsClip 2: 210 MbpsClip 3: 231 MbpsClip 4: 220 MbpsClip 5: 220 MbpsClip 6: 218 MbpsClip 7: 218 MbpsClip 8: 224 MbpsClip 9: 219 MbpsClip 10: 209 MbpsClip 11: 229 MbpsClip 12: 211 MbpsClip 13: 223 MbpsClip 14: 225 MbpsClip 15: 221 MbpsClip 16: 220 MbpsClip 17: 222 MbpsClip 18: 220 MbpsClip 19: 204 MbpsClip 20: 235 MbpsClip 21: 220 MbpsClip 22: 218 MbpsClip 23: 221 MbpsClip 24: 219 MbpsClip 25: 222 MbpsClip 26: 220 MbpsClip 27: 221 MbpsClip 28: 215 MbpsClip 29: 223 MbpsClip 30: 221 MbpsClip 31: 215 MbpsClip 32: 218 MbpsClip 33: 220 MbpsClip 34: 220 MbpsClip 35: 221 MbpsClip 36: 216 MbpsClip 37: 221 MbpsClip 38: 221 MbpsClip 39: 222 MbpsClip 40: 218 MbpsClip 41: 219 MbpsClip 42: 222 MbpsClip 43: 221 MbpsClip 44: 219 MbpsClip 45: 216 MbpsClip 46: 212 MbpsClip 47: 222 MbpsClip 48: 217 MbpsClip 49: 238 MbpsClip 50: 224 MbpsClip 51: 220 MbpsClip 52: 221 MbpsClip 53: 220 MbpsClip 54: 219 MbpsClip 55: 222 MbpsClip 56: 220 MbpsClip 57: 220 MbpsClip 58: 220 MbpsClip 59: 220 MbpsClip 60: 218 Mbps

0.0 Mbps

Battery temperature Estimates: 45°C in ~53min 10s (exponential fit)

45°C

10s: 37.7°C 20s: 38°C 30s: 38°C 40s: 38°C 50s: 38°C 1min: 38.2°C 1min 10s: 38.2°C 1min 20s: 38.2°C 1min 30s: 38.5°C 1min 40s: 38.5°C 1min 50s: 38.7°C 2min: 38.7°C 2min 10s: 38.7°C 2min 20s: 38.7°C 2min 30s: 39°C 2min 40s: 39°C 2min 50s: 39°C 3min: 39°C 3min 10s: 39.2°C 3min 20s: 39.2°C 3min 30s: 39.5°C 3min 40s: 39.5°C 3min 50s: 39.5°C 4min: 39.5°C 4min 10s: 39.5°C 4min 20s: 39.7°C 4min 30s: 39.7°C 4min 40s: 39.7°C 4min 50s: 40°C 5min: 40°C 5min 10s: 40°C 5min 20s: 40.2°C 5min 30s: 40.2°C 5min 40s: 40.2°C 5min 50s: 40.2°C 6min: 40.5°C 6min 10s: 40.5°C 6min 20s: 40.5°C 6min 30s: 40.5°C 6min 40s: 40.5°C 6min 50s: 40.7°C 7min: 40.7°C 7min 10s: 40.7°C 7min 20s: 40.7°C 7min 30s: 40.7°C 7min 40s: 41°C 7min 50s: 41°C 8min: 41°C 8min 10s: 41°C 8min 20s: 41°C 8min 30s: 41.2°C 8min 40s: 41.2°C 8min 50s: 41.2°C 9min: 41.2°C 9min 10s: 41.2°C 9min 20s: 41.5°C 9min 30s: 41.5°C 9min 40s: 41.5°C 9min 50s: 41.5°C 10min: 41.5°C 45°C in ~53min 10s

36.7°C

010min recorded53min 10s

Throttling status NONE → NONE

MODERATE

Clip 1: NONEClip 2: NONEClip 3: NONEClip 4: NONEClip 5: NONEClip 6: NONEClip 7: NONEClip 8: NONEClip 9: NONEClip 10: NONEClip 11: NONEClip 12: NONEClip 13: NONEClip 14: NONEClip 15: NONEClip 16: NONEClip 17: NONEClip 18: NONEClip 19: NONEClip 20: NONEClip 21: NONEClip 22: NONEClip 23: NONEClip 24: NONEClip 25: NONEClip 26: NONEClip 27: NONEClip 28: NONEClip 29: NONEClip 30: NONEClip 31: NONEClip 32: NONEClip 33: NONEClip 34: NONEClip 35: NONEClip 36: NONEClip 37: NONEClip 38: NONEClip 39: NONEClip 40: NONEClip 41: NONEClip 42: NONEClip 43: NONEClip 44: NONEClip 45: NONEClip 46: NONEClip 47: NONEClip 48: NONEClip 49: NONEClip 50: NONEClip 51: NONEClip 52: NONEClip 53: NONEClip 54: NONEClip 55: NONEClip 56: NONEClip 57: NONEClip 58: NONEClip 59: NONEClip 60: NONE

NONE

clip 110min 2sclip 60

Each point is one 10-second recording, in order, sampled as it began. Nothing was written to storage: the video was encoded and measured, never saved.

Diagnostics

145 checks — 67 supported · 3 partial · 17 unsupported · 58 informational

Camera 0 (BACK) — Main 28 checks

Hardware

Hardware LevelLEVEL_3Best tier — RAW + YUV + reprocessing guaranteed

Capabilities

Manual Sensor ControlYesRequired for manual ISO/exposure in log shooting
RAW CaptureYesEnables access to raw Bayer sensor data
Burst CaptureYesSustained high-framerate capture
Read Sensor SettingsYesPer-frame sensor metadata readback
Dynamic Range ProfilesNoNot available — may need API 33+ or device support

Sensor

Bit Depth10-bit (white level = 1023)Good — standard for mobile sensors
Sensitivity RangeISO 50 – 1600Max analog ISO: 1600 (digital gain above this)
Exposure Range84.1µs – 32.1sFastest: ~1/11888
Bayer PatternGRBG
Physical Size9.63 × 7.22 mm (diag 12.03 mm)Larger sensor = more light = better DR for log
Pixel Array6016 × 4512 (27.1 MP)

RAW Formats

RAW_SENSOR6016×4512 @ 30.1 fpsVideo-rate RAW achievable!
RAW106016×4512 @ 30.1 fpsVideo-rate RAW achievable!
RAW12Not supported
RAW_PRIVATE6016×4512 @ 30.1 fpsVideo-rate RAW achievable!

Streams

Max Simultaneous OutputsRAW:1 Processed:3 Stalling:2Can capture RAW + encoded video simultaneously
YUV_420_888 Modes4208×3120 @ 25 fps 4096×2160 @ 30 fps 3840×2160 @ 30 fps 3008×2256 @ 30 fps 2592×1940 @ 30 fps … and 19 more

HDR / 10-Bit

Dynamic Range ProfilesRequires API 33+ (Android 13)Device is on API 30
10-Bit YUV (P010)Not supportedEncoder may only receive 8-bit data even if Main10 is available

Tonemap / ISP

Tonemap ModesCONTRAST_CURVE, FAST, HIGH_QUALITYCONTRAST_CURVE available — can define custom log curve (64 points max)
Max Curve Points64Plenty for smooth log curve
Noise ReductionOFF, FAST, HIGH_QUALITY, MINIMAL, ZSLOFF available — can disable NR for clean log
Edge / SharpeningFAST, HIGH_QUALITY, OFF, ZSLOFF available — can disable sharpening
Hot Pixel ModesOFF, FAST, HIGH_QUALITY
Lens Shading CorrectionOFF, FAST, HIGH_QUALITYOFF available — raw vignetting preserved for manual correction
Chromatic Aberration CorrectionOFF, FAST, HIGH_QUALITY

Vendor Tags

Vendor-Specific KeysNone foundNo OEM-specific camera extensions detected
Camera 2 (BACK) — 1.9mm 28 checks

Hardware

Hardware LevelLEVEL_3Best tier — RAW + YUV + reprocessing guaranteed

Capabilities

Manual Sensor ControlYesRequired for manual ISO/exposure in log shooting
RAW CaptureYesEnables access to raw Bayer sensor data
Burst CaptureYesSustained high-framerate capture
Read Sensor SettingsYesPer-frame sensor metadata readback
Dynamic Range ProfilesNoNot available — may need API 33+ or device support

Sensor

Bit Depth10-bit (white level = 1023)Good — standard for mobile sensors
Sensitivity RangeISO 50 – 1620Max analog ISO: 600 (digital gain above this)
Exposure Range0.0µs – 25.0sFastest: ~1/Infinity
Bayer PatternRGGB
Physical Size2.80 × 2.10 mm (diag 3.50 mm)Larger sensor = more light = better DR for log
Pixel Array1600 × 1200 (1.9 MP)

RAW Formats

RAW_SENSOR1600×1200 @ 30.2 fpsVideo-rate RAW achievable!
RAW101600×1200 @ 30.2 fpsVideo-rate RAW achievable!
RAW12Not supported
RAW_PRIVATE1600×1200 @ 30.2 fpsVideo-rate RAW achievable!

Streams

Max Simultaneous OutputsRAW:1 Processed:3 Stalling:2Can capture RAW + encoded video simultaneously
YUV_420_888 Modes1600×1200 @ 30 fps 1440×1080 @ 30 fps 1280×960 @ 30 fps 1560×720 @ 30 fps 1440×720 @ 30 fps … and 8 more

HDR / 10-Bit

Dynamic Range ProfilesRequires API 33+ (Android 13)Device is on API 30
10-Bit YUV (P010)Not supportedEncoder may only receive 8-bit data even if Main10 is available

Tonemap / ISP

Tonemap ModesCONTRAST_CURVE, FAST, HIGH_QUALITYCONTRAST_CURVE available — can define custom log curve (64 points max)
Max Curve Points64Plenty for smooth log curve
Noise ReductionOFF, FAST, HIGH_QUALITY, MINIMAL, ZSLOFF available — can disable NR for clean log
Edge / SharpeningFAST, HIGH_QUALITY, OFF, ZSLOFF available — can disable sharpening
Hot Pixel ModesOFF, FAST, HIGH_QUALITY
Lens Shading CorrectionOFF, FAST, HIGH_QUALITYOFF available — raw vignetting preserved for manual correction
Chromatic Aberration CorrectionOFF, FAST, HIGH_QUALITY

Vendor Tags

Vendor-Specific KeysNone foundNo OEM-specific camera extensions detected
Camera 3 (BACK) — Ultrawide 28 checks

Hardware

Hardware LevelLEVEL_3Best tier — RAW + YUV + reprocessing guaranteed

Capabilities

Manual Sensor ControlYesRequired for manual ISO/exposure in log shooting
RAW CaptureYesEnables access to raw Bayer sensor data
Burst CaptureYesSustained high-framerate capture
Read Sensor SettingsYesPer-frame sensor metadata readback
Dynamic Range ProfilesNoNot available — may need API 33+ or device support

Sensor

Bit Depth10-bit (white level = 1023)Good — standard for mobile sensors
Sensitivity RangeISO 50 – 4030Max analog ISO: 775 (digital gain above this)
Exposure Range42.0µs – 30.0sFastest: ~1/23821
Bayer PatternBGGR
Physical Size4.71 × 3.49 mm (diag 5.87 mm)Larger sensor = more light = better DR for log
Pixel Array4224 × 3136 (13.2 MP)

RAW Formats

RAW_SENSOR4208×3120 @ 30.0 fpsVideo-rate RAW achievable!
RAW104208×3120 @ 30.0 fpsVideo-rate RAW achievable!
RAW12Not supported
RAW_PRIVATE4208×3120 @ 30.0 fpsVideo-rate RAW achievable!

Streams

Max Simultaneous OutputsRAW:1 Processed:3 Stalling:2Can capture RAW + encoded video simultaneously
YUV_420_888 Modes4208×3120 @ 25 fps 4096×2160 @ 30 fps 3840×2160 @ 30 fps 3008×2256 @ 30 fps 2592×1940 @ 30 fps … and 19 more

HDR / 10-Bit

Dynamic Range ProfilesRequires API 33+ (Android 13)Device is on API 30
10-Bit YUV (P010)Not supportedEncoder may only receive 8-bit data even if Main10 is available

Tonemap / ISP

Tonemap ModesCONTRAST_CURVE, FAST, HIGH_QUALITYCONTRAST_CURVE available — can define custom log curve (64 points max)
Max Curve Points64Plenty for smooth log curve
Noise ReductionOFF, FAST, HIGH_QUALITY, MINIMAL, ZSLOFF available — can disable NR for clean log
Edge / SharpeningFAST, HIGH_QUALITY, OFF, ZSLOFF available — can disable sharpening
Hot Pixel ModesOFF, FAST, HIGH_QUALITY
Lens Shading CorrectionOFF, FAST, HIGH_QUALITYOFF available — raw vignetting preserved for manual correction
Chromatic Aberration CorrectionOFF, FAST, HIGH_QUALITY

Vendor Tags

Vendor-Specific KeysNone foundNo OEM-specific camera extensions detected
Camera 1 (FRONT) — Front 28 checks

Hardware

Hardware LevelLEVEL_3Best tier — RAW + YUV + reprocessing guaranteed

Capabilities

Manual Sensor ControlYesRequired for manual ISO/exposure in log shooting
RAW CaptureYesEnables access to raw Bayer sensor data
Burst CaptureYesSustained high-framerate capture
Read Sensor SettingsYesPer-frame sensor metadata readback
Dynamic Range ProfilesNoNot available — may need API 33+ or device support

Sensor

Bit Depth10-bit (white level = 1023)Good — standard for mobile sensors
Sensitivity RangeISO 50 – 800Max analog ISO: 800 (digital gain above this)
Exposure Range16.1µs – 1.1sFastest: ~1/62189
Bayer PatternGRBG
Physical Size4.15 × 3.10 mm (diag 5.18 mm)Larger sensor = more light = better DR for log
Pixel Array2592 × 1940 (5.0 MP)

RAW Formats

RAW_SENSOR2592×1940 @ 30.1 fpsVideo-rate RAW achievable!
RAW102592×1940 @ 30.1 fpsVideo-rate RAW achievable!
RAW12Not supported
RAW_PRIVATE2592×1940 @ 30.1 fpsVideo-rate RAW achievable!

Streams

Max Simultaneous OutputsRAW:1 Processed:3 Stalling:2Can capture RAW + encoded video simultaneously
YUV_420_888 Modes2592×1940 @ 30 fps 1940×1940 @ 30 fps 2560×1440 @ 30 fps 1920×1440 @ 30 fps 2340×1080 @ 30 fps … and 15 more

HDR / 10-Bit

Dynamic Range ProfilesRequires API 33+ (Android 13)Device is on API 30
10-Bit YUV (P010)Not supportedEncoder may only receive 8-bit data even if Main10 is available

Tonemap / ISP

Tonemap ModesCONTRAST_CURVE, FAST, HIGH_QUALITYCONTRAST_CURVE available — can define custom log curve (64 points max)
Max Curve Points64Plenty for smooth log curve
Noise ReductionOFF, FAST, HIGH_QUALITY, MINIMAL, ZSLOFF available — can disable NR for clean log
Edge / SharpeningFAST, HIGH_QUALITY, OFF, ZSLOFF available — can disable sharpening
Hot Pixel ModesOFF, FAST, HIGH_QUALITY
Lens Shading CorrectionOFF, FAST, HIGH_QUALITYOFF available — raw vignetting preserved for manual correction
Chromatic Aberration CorrectionOFF, FAST, HIGH_QUALITY

Vendor Tags

Vendor-Specific KeysNone foundNo OEM-specific camera extensions detected
Concurrent Cameras 1 checks

Concurrent Cameras

Concurrent Camera SetsNoneDevice advertises no camera combination that can stream concurrently
Startup Ramp 2 checks

Startup Ramp

First Frame Latency117 msCamera start → first encoded frame, at 3840×2160 HEVC — the dead time between pressing record and the first frame of video existing. 3 runs: 117 / 115 / 118 ms
Frames Dropped at Startup6 framesFrames the camera produced but the encoder dropped while warming up (rate control and 3A settling) — the cost of starting a recording, not throttling. 3 runs: 6 / 6 / 6
Video Encoders 26 checks

Encoders

HEVC (H.265) — OMX.qcom.video.encoder.hevcMax bitrate: 160 MbpsExcellent — high enough for quality log
HEVC (H.265) Max Resolution8192 × 8192
HEVC (H.265) Max Macroblocks/Frame138,240 MB — largest frame 8192×4320Max width × max height (262,144 MB) exceeds this — those two cannot be combined
HEVC (H.265) Dimension Alignmentwidth ×2 height ×2Any even size accepted
HEVC (H.265) 10-Bit ProfilesMain10, Main10HDR10, Main10HDR10Plus10-bit encoding supported
HEVC (H.265) Bitrate ModesCBR:Yes VBR:Yes CQ:NoCQ not available — use VBR with high target bitrate
HEVC (H.265) Color Formats0x7fa30c06 QCOM YUV420SemiPlanar32mCompressed (UBWC NV12 — lossless tile) 0x7fa30c04 QCOM YUV420SemiPlanar32m (NV12 32-macroblock-aligned stride) 0x7fa30c00 (vendor-specific / unknown) 0x7fa30c09 (vendor-specific / unknown) 0x7fa30c0a (vendor-specific / unknown) 0x7fa30c08 QCOM YVU420SemiPlanar32mCompressed (UBWC NV21 tile) 0x7fa30c07 QCOM YUV420SemiPlanar32m10bitCompressed (UBWC NV12 10-bit) 0x7f000789 AndroidOpaque (opaque buffer — OMX_COLOR_FormatAndroidOpaque) 0x7f420888 YUV420Flexible (COLOR_FormatYUV420Flexible — framework maps to NV12) 0x00000015 YUV420SemiPlanar (NV12)
HEVC (H.265) — OMX.qcom.video.encoder.hevc.cqMax bitrate: 240 MbpsExcellent — high enough for quality log
HEVC (H.265) Max Resolution512 × 512
HEVC (H.265) Max Macroblocks/Frame1,024 MB — largest frame 512×512Frame-area budget at 16×16 macroblocks; any shape must fit inside it
HEVC (H.265) Dimension Alignmentwidth ×2 height ×2Any even size accepted
HEVC (H.265) 10-Bit ProfilesMain10, Main10HDR10, Main10HDR10Plus10-bit encoding supported
HEVC (H.265) Bitrate ModesCBR:No VBR:Yes CQ:YesCQ (constant quality) available — ideal for log footage
HEVC (H.265) Color Formats0x7fa30c06 QCOM YUV420SemiPlanar32mCompressed (UBWC NV12 — lossless tile) 0x7fa30c04 QCOM YUV420SemiPlanar32m (NV12 32-macroblock-aligned stride) 0x7fa30c00 (vendor-specific / unknown) 0x7fa30c09 (vendor-specific / unknown) 0x7fa30c0a (vendor-specific / unknown) 0x7fa30c08 QCOM YVU420SemiPlanar32mCompressed (UBWC NV21 tile) 0x7fa30c07 QCOM YUV420SemiPlanar32m10bitCompressed (UBWC NV12 10-bit) 0x7f000789 AndroidOpaque (opaque buffer — OMX_COLOR_FormatAndroidOpaque) 0x7f420888 YUV420Flexible (COLOR_FormatYUV420Flexible — framework maps to NV12) 0x00000015 YUV420SemiPlanar (NV12)
AVC (H.264) — OMX.qcom.video.encoder.avcMax bitrate: 220 MbpsExcellent — high enough for quality log
AVC (H.264) Max Resolution8192 × 8192
AVC (H.264) Max Macroblocks/Frame138,240 MB — largest frame 8192×4320Max width × max height (262,144 MB) exceeds this — those two cannot be combined
AVC (H.264) Dimension Alignmentwidth ×2 height ×2Any even size accepted
AVC (H.264) Bitrate ModesCBR:No VBR:Yes CQ:NoCQ not available — use VBR with high target bitrate
AVC (H.264) Color Formats0x7fa30c06 QCOM YUV420SemiPlanar32mCompressed (UBWC NV12 — lossless tile) 0x7fa30c04 QCOM YUV420SemiPlanar32m (NV12 32-macroblock-aligned stride) 0x7fa30c00 (vendor-specific / unknown) 0x7fa30c09 (vendor-specific / unknown) 0x7fa30c0a (vendor-specific / unknown) 0x7fa30c08 QCOM YVU420SemiPlanar32mCompressed (UBWC NV21 tile) 0x7fa30c07 QCOM YUV420SemiPlanar32m10bitCompressed (UBWC NV12 10-bit) 0x7f000789 AndroidOpaque (opaque buffer — OMX_COLOR_FormatAndroidOpaque) 0x7f420888 YUV420Flexible (COLOR_FormatYUV420Flexible — framework maps to NV12) 0x00000015 YUV420SemiPlanar (NV12)
AVC (H.264) — c2.qti.avc.encoderMax bitrate: 120 MbpsExcellent — high enough for quality log
AVC (H.264) Max Resolution4096 × 2304
AVC (H.264) Max Macroblocks/Frame36,864 MB — largest frame 4096×2304Frame-area budget at 16×16 macroblocks; any shape must fit inside it
AVC (H.264) Dimension Alignmentwidth ×2 height ×2Any even size accepted
AVC (H.264) Bitrate ModesCBR:No VBR:Yes CQ:NoCQ not available — use VBR with high target bitrate
AVC (H.264) Color Formats0x7f000789 AndroidOpaque (opaque buffer — OMX_COLOR_FormatAndroidOpaque) 0x7f420888 YUV420Flexible (COLOR_FormatYUV420Flexible — framework maps to NV12) 0x00000013 YUV420Planar (I420) 0x00000015 YUV420SemiPlanar (NV12) 0x00000014 YUV420PackedPlanar 0x00000027 (vendor-specific / unknown)
Native Camera Libraries 4 checks

Native Libs

Camera HAL (/vendor/lib64/hw/)com.qti.chi.override.so camera.qcom.so android.hardware.camera.provider@2.4-impl.soCamera-related native libraries found
Camera plugins (/vendor/lib64/camera/)com.qti.sensor.imx563.soCamera-related native libraries found
Vendor libs (/vendor/lib64/)android.hardware.camera.provider@2.4-external.so android.hardware.camera.provider@2.4-legacy.so camera camera.device@1.0-impl.so camera.device@3.2-impl.so camera.device@3.3-impl.so camera.device@3.4-external-impl.so camera.device@3.4-impl.so camera.device@3.5-external-impl.so camera.device@3.5-impl.so camera.device@3.6-external-impl.so libTouchInputVM.so libbatching.so libcamera2ndk_vendor.so libcamera_dirty.so libcamera_nn_stub.so libcamera_scene.so libcamerapostproc.so libcamxexternalformatutils.so libcamxfacialfeatures.so libcamxfdalgo.so libcamxfdengine.so libcamxifestriping.so libcamximageformatutils.so libcamxncs.so libcamxstatscore.so libcamxswprocessalgo.so libcamxtintlessalgo.so libchilog.so libcom.qti.chinodeutils.so libminziparchive.so libmmcamera_faceproc.so libmmcamera_faceproc2.so vendor.qti.hardware.camera.device@1.0.so vendor.qti.hardware.camera.device@3.5.so vendor.qti.hardware.camera.postproc@1.0-service-impl.so vendor.qti.hardware.camera.postproc@1.0.soCamera-related native libraries found
Detected PlatformQualcomm konaCamX/Chi HAL likely available