FP5

Android 15 (API 35)

Fairphone · QTI SM7325

CameraBench
Codec maxima
HEVCverified100 Mbps
AVCverified100 Mbps
HEVC and AVC both verified at 3840×2160 @ 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.4 Gbps (raw)

Cameras

LensFacingFocal lengthSensor sizeMax resModesHW level
Main #0BACK23mm (5.56mm)8.19 × 6.14 mm3840×216021LEVEL_3
Ultrawide #2BACK13mm (2.19mm)5.73 × 4.3 mm3840×216021LEVEL_3
Front #1FRONT21mm (3.23mm)5.23 × 3.94 mm3840×216021LEVEL_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
HEVC4096×217634,8164096 × 2176
AVC4096×217634,8164096 × 2176

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.

Diagnostics

117 checks — 51 supported · 4 partial · 13 unsupported · 49 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 100 – 4476Max analog ISO: 4475 (digital gain above this)
Exposure Range78.8µs – 0.3sFastest: ~1/12691
Bayer PatternBGGR
Physical Size8.19 × 6.14 mm (diag 10.24 mm)Larger sensor = more light = better DR for log
Pixel Array4096 × 3072 (12.6 MP)

RAW Formats

RAW_SENSOR4096×3072 @ 30.0 fpsVideo-rate RAW achievable!
RAW104096×3072 @ 30.0 fpsVideo-rate RAW achievable!
RAW12Not supported
RAW_PRIVATE4096×3072 @ 30.0 fpsVideo-rate RAW achievable!

Streams

Max Simultaneous OutputsRAW:1 Processed:3 Stalling:2Can capture RAW + encoded video simultaneously
YUV_420_888 Modes4096×3072 @ 24 fps 4080×3060 @ 24 fps 4000×3000 @ 24 fps 4096×2304 @ 30 fps 3072×3072 @ 30 fps … and 24 more

HDR / 10-Bit

Dynamic Range ProfilesNone reportedDevice does not advertise HDR profiles
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) — 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 100 – 2238Max analog ISO: 2237 (digital gain above this)
Exposure Range84.7µs – 0.3sFastest: ~1/11813
Bayer PatternRGGB
Physical Size5.73 × 4.30 mm (diag 7.17 mm)Larger sensor = more light = better DR for log
Pixel Array4096 × 3072 (12.6 MP)

RAW Formats

RAW_SENSOR4096×3072 @ 30.0 fpsVideo-rate RAW achievable!
RAW104096×3072 @ 30.0 fpsVideo-rate RAW achievable!
RAW12Not supported
RAW_PRIVATE4096×3072 @ 30.0 fpsVideo-rate RAW achievable!

Streams

Max Simultaneous OutputsRAW:1 Processed:3 Stalling:2Can capture RAW + encoded video simultaneously
YUV_420_888 Modes4096×3072 @ 24 fps 4080×3060 @ 24 fps 4000×3000 @ 24 fps 4096×2304 @ 30 fps 3072×3072 @ 30 fps … and 24 more

HDR / 10-Bit

Dynamic Range ProfilesNone reportedDevice does not advertise HDR profiles
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 100 – 6400Max analog ISO: 6400 (digital gain above this)
Exposure Range42.2µs – 0.2sFastest: ~1/23670
Bayer PatternGBRG
Physical Size5.23 × 3.94 mm (diag 6.55 mm)Larger sensor = more light = better DR for log
Pixel Array4088 × 3080 (12.6 MP)

RAW Formats

RAW_SENSOR4080×3072 @ 30.0 fpsVideo-rate RAW achievable!
RAW104080×3072 @ 30.0 fpsVideo-rate RAW achievable!
RAW12Not supported
RAW_PRIVATE4080×3072 @ 30.0 fpsVideo-rate RAW achievable!

Streams

Max Simultaneous OutputsRAW:1 Processed:3 Stalling:2Can capture RAW + encoded video simultaneously
YUV_420_888 Modes4080×3060 @ 24 fps 4000×3000 @ 24 fps 3072×3072 @ 30 fps 3060×3060 @ 30 fps 4000×2250 @ 30 fps … and 22 more

HDR / 10-Bit

Dynamic Range ProfilesNone reportedDevice does not advertise HDR profiles
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 Latency97 msCamera start → first encoded frame, at 3840×2160 HEVC — the dead time between pressing record and the first frame of video existing. 3 runs: 99 / 97 / 96 ms
Frames Dropped at Startup7 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: 7 / 7 / 7
Video Encoders 26 checks

Encoders

HEVC (H.265) — c2.qti.hevc.encoderMax bitrate: 100 MbpsExcellent — high enough for quality log
HEVC (H.265) Max Resolution4096 × 2176
HEVC (H.265) Max Macroblocks/Frame34,816 MB — largest frame 4096×2176Frame-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:Yes VBR:Yes CQ:NoCQ not available — use VBR with high target bitrate
HEVC (H.265) 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)
HEVC (H.265) — OMX.qcom.video.encoder.hevcMax bitrate: 100 MbpsExcellent — high enough for quality log
HEVC (H.265) Max Resolution4096 × 2176
HEVC (H.265) Max Macroblocks/Frame34,816 MB — largest frame 4096×2176Frame-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:Yes VBR:Yes CQ:NoCQ not available — use VBR with high target bitrate
HEVC (H.265) 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)
AVC (H.264) — c2.qti.avc.encoderMax bitrate: 100 MbpsExcellent — high enough for quality log
AVC (H.264) Max Resolution4096 × 2176
AVC (H.264) Max Macroblocks/Frame34,816 MB — largest frame 4096×2176Frame-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:Yes 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)
AVC (H.264) — OMX.qcom.video.encoder.avcMax bitrate: 100 MbpsExcellent — high enough for quality log
AVC (H.264) Max Resolution4096 × 2176
AVC (H.264) Max Macroblocks/Frame34,816 MB — largest frame 4096×2176Frame-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:Yes 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 android.hardware.camera.provider@2.4-impl.so camera.qcom.soCamera-related native libraries found
Camera plugins (/vendor/lib64/camera/)com.qti.sensormodule.fp5_imx858.bin com.qti.tuned.fp5_imx858.bin com.qti.sensormodule.fp5_imx758.bin com.qti.sensor.imx386.so com.qti.eeprom.gt24p128c2csli_imx766.so com.qti.sensor.imx318.so com.qti.sensor.imx481.so com.qti.tuned.fp5_imx800_mtf.bin com.qti.sensor.imx577.so com.qti.sensor.imx586.so com.qti.sensormodule.fp5_imx800.bin com.qti.sensor.imx519.so com.qti.sensormodule_mtf.fp5_imx858_marco.bin com.qti.sensormodule_mtf.fp5_imx800.bin com.qti.sensor.imx334.so com.qti.sensor.imx476.so com.qti.sensor.imx362.so com.qti.sensor.imx576.so com.qti.sensor.imx376.so com.qti.eeprom.p24p256c_fp5_imx800_eeprom.so com.qti.tuned.fp5_imx800.bin com.qti.sensor.imx563.so com.qti.tuned.fp5_imx858_marco.bin com.qti.sensor.imx766.so com.qti.sensor.fp5_imx858.so com.qti.tuned.fp5_imx858_marco_mtf.bin com.qti.tuned.fp5_imx758.bin com.qti.eeprom.gt24p128f_fp5_imx858_eeprom.so com.qti.sensormodule_mtf.fp5_imx858.bin com.qti.tuned.fp5_imx858_mtf.bin com.qti.sensor.fp5_imx758.so com.qti.sensor.fp5_imx800.so com.qti.sensormodule.fp5_imx858_marco.binCamera-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 com.qti.chiusecaseselector.so com.tct.cameraalgo.distortion.so com.tct.cameraalgo.gs.so com.tct.cameraalgo.hdr.so com.tct.cameraalgo.hwmfnr.so com.tct.cameraalgo.mirror.so com.tct.cameraalgo.morphozoom.so com.tct.cameraalgo.singlebokeh.so com.tct.cameraalgo.supernight.so com.tct.cameraalgo.tcldualbokeh.so com.tct.cameraalgo.watermark.so libTouchInputVM.so libbatching.so libcamera2ndk_vendor.so libcamera_nn_stub.so libcamerapostproc.so libcamxexternalformatutils.so libcamxfacialfeatures.so libcamxfdalgo.so libcamxfdengine.so libcamxifestriping.so libcamximageformatutils.so libcamxqsatalgo.so libcamxstatscore.so libcamxswispiqmodule.so libcamxswprocessalgo.so libcamxtintlessalgo.so libchilog.so libcom.qti.chinodeutils.so libmmcamera_bestats.so libmmcamera_cac3.so libmmcamera_faceproc.so libmmcamera_faceproc2.so libmmcamera_lscv35.so libmmcamera_mfnr.so libmmcamera_mfnr_t4.so libmmcamera_pdpc.so libtctcameraalgo.so vendor.pixelworks.hardware.display@1.0.so vendor.pixelworks.hardware.display@1.1.so vendor.pixelworks.hardware.feature@1.0.so vendor.qti.hardware.camera.device@1.0.so vendor.qti.hardware.camera.postproc@1.0-service-impl.so vendor.qti.hardware.camera.postproc@1.0.soCamera-related native libraries found
Detected PlatformQTI SM7325 (lahaina)check vendor tags for capabilities