FP5
Android 15 (API 35)
Fairphone · QTI SM7325
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
| Lens | Facing | Focal length | Sensor size | Max res | Modes | HW level |
|---|---|---|---|---|---|---|
| Main #0 | BACK | 23mm (5.56mm) | 8.19 × 6.14 mm | 3840×2160 | 21 | LEVEL_3 |
| Ultrawide #2 | BACK | 13mm (2.19mm) | 5.73 × 4.3 mm | 3840×2160 | 21 | LEVEL_3 |
| Front #1 | FRONT | 21mm (3.23mm) | 5.23 × 3.94 mm | 3840×2160 | 21 | LEVEL_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
| Codec | Largest frame | Macroblocks | Advertised max |
|---|---|---|---|
| HEVC | 4096×2176 | 34,816 | 4096 × 2176 |
| AVC | 4096×2176 | 34,816 | 4096 × 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 Level | LEVEL_3Best tier — RAW + YUV + reprocessing guaranteed |
Capabilities
| Manual Sensor Control | YesRequired for manual ISO/exposure in log shooting |
| RAW Capture | YesEnables access to raw Bayer sensor data |
| Burst Capture | YesSustained high-framerate capture |
| Read Sensor Settings | YesPer-frame sensor metadata readback |
| Dynamic Range Profiles | NoNot available — may need API 33+ or device support |
Sensor
| Bit Depth | 10-bit (white level = 1023)Good — standard for mobile sensors |
| Sensitivity Range | ISO 100 – 4476Max analog ISO: 4475 (digital gain above this) |
| Exposure Range | 78.8µs – 0.3sFastest: ~1/12691 |
| Bayer Pattern | BGGR |
| Physical Size | 8.19 × 6.14 mm (diag 10.24 mm)Larger sensor = more light = better DR for log |
| Pixel Array | 4096 × 3072 (12.6 MP) |
RAW Formats
| RAW_SENSOR | 4096×3072 @ 30.0 fpsVideo-rate RAW achievable! |
| RAW10 | 4096×3072 @ 30.0 fpsVideo-rate RAW achievable! |
| RAW12 | Not supported |
| RAW_PRIVATE | 4096×3072 @ 30.0 fpsVideo-rate RAW achievable! |
Streams
| Max Simultaneous Outputs | RAW:1 Processed:3 Stalling:2Can capture RAW + encoded video simultaneously |
| YUV_420_888 Modes | 4096×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 Profiles | None 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 Modes | CONTRAST_CURVE, FAST, HIGH_QUALITYCONTRAST_CURVE available — can define custom log curve (64 points max) |
| Max Curve Points | 64Plenty for smooth log curve |
| Noise Reduction | OFF, FAST, HIGH_QUALITY, MINIMAL, ZSLOFF available — can disable NR for clean log |
| Edge / Sharpening | FAST, HIGH_QUALITY, OFF, ZSLOFF available — can disable sharpening |
| Hot Pixel Modes | OFF, FAST, HIGH_QUALITY |
| Lens Shading Correction | OFF, FAST, HIGH_QUALITYOFF available — raw vignetting preserved for manual correction |
| Chromatic Aberration Correction | OFF, FAST, HIGH_QUALITY |
Vendor Tags
| Vendor-Specific Keys | None foundNo OEM-specific camera extensions detected |
Camera 2 (BACK) — Ultrawide 28 checks
Hardware
| Hardware Level | LEVEL_3Best tier — RAW + YUV + reprocessing guaranteed |
Capabilities
| Manual Sensor Control | YesRequired for manual ISO/exposure in log shooting |
| RAW Capture | YesEnables access to raw Bayer sensor data |
| Burst Capture | YesSustained high-framerate capture |
| Read Sensor Settings | YesPer-frame sensor metadata readback |
| Dynamic Range Profiles | NoNot available — may need API 33+ or device support |
Sensor
| Bit Depth | 10-bit (white level = 1023)Good — standard for mobile sensors |
| Sensitivity Range | ISO 100 – 2238Max analog ISO: 2237 (digital gain above this) |
| Exposure Range | 84.7µs – 0.3sFastest: ~1/11813 |
| Bayer Pattern | RGGB |
| Physical Size | 5.73 × 4.30 mm (diag 7.17 mm)Larger sensor = more light = better DR for log |
| Pixel Array | 4096 × 3072 (12.6 MP) |
RAW Formats
| RAW_SENSOR | 4096×3072 @ 30.0 fpsVideo-rate RAW achievable! |
| RAW10 | 4096×3072 @ 30.0 fpsVideo-rate RAW achievable! |
| RAW12 | Not supported |
| RAW_PRIVATE | 4096×3072 @ 30.0 fpsVideo-rate RAW achievable! |
Streams
| Max Simultaneous Outputs | RAW:1 Processed:3 Stalling:2Can capture RAW + encoded video simultaneously |
| YUV_420_888 Modes | 4096×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 Profiles | None 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 Modes | CONTRAST_CURVE, FAST, HIGH_QUALITYCONTRAST_CURVE available — can define custom log curve (64 points max) |
| Max Curve Points | 64Plenty for smooth log curve |
| Noise Reduction | OFF, FAST, HIGH_QUALITY, MINIMAL, ZSLOFF available — can disable NR for clean log |
| Edge / Sharpening | FAST, HIGH_QUALITY, OFF, ZSLOFF available — can disable sharpening |
| Hot Pixel Modes | OFF, FAST, HIGH_QUALITY |
| Lens Shading Correction | OFF, FAST, HIGH_QUALITYOFF available — raw vignetting preserved for manual correction |
| Chromatic Aberration Correction | OFF, FAST, HIGH_QUALITY |
Vendor Tags
| Vendor-Specific Keys | None foundNo OEM-specific camera extensions detected |
Camera 1 (FRONT) — Front 28 checks
Hardware
| Hardware Level | LEVEL_3Best tier — RAW + YUV + reprocessing guaranteed |
Capabilities
| Manual Sensor Control | YesRequired for manual ISO/exposure in log shooting |
| RAW Capture | YesEnables access to raw Bayer sensor data |
| Burst Capture | YesSustained high-framerate capture |
| Read Sensor Settings | YesPer-frame sensor metadata readback |
| Dynamic Range Profiles | NoNot available — may need API 33+ or device support |
Sensor
| Bit Depth | 10-bit (white level = 1023)Good — standard for mobile sensors |
| Sensitivity Range | ISO 100 – 6400Max analog ISO: 6400 (digital gain above this) |
| Exposure Range | 42.2µs – 0.2sFastest: ~1/23670 |
| Bayer Pattern | GBRG |
| Physical Size | 5.23 × 3.94 mm (diag 6.55 mm)Larger sensor = more light = better DR for log |
| Pixel Array | 4088 × 3080 (12.6 MP) |
RAW Formats
| RAW_SENSOR | 4080×3072 @ 30.0 fpsVideo-rate RAW achievable! |
| RAW10 | 4080×3072 @ 30.0 fpsVideo-rate RAW achievable! |
| RAW12 | Not supported |
| RAW_PRIVATE | 4080×3072 @ 30.0 fpsVideo-rate RAW achievable! |
Streams
| Max Simultaneous Outputs | RAW:1 Processed:3 Stalling:2Can capture RAW + encoded video simultaneously |
| YUV_420_888 Modes | 4080×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 Profiles | None 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 Modes | CONTRAST_CURVE, FAST, HIGH_QUALITYCONTRAST_CURVE available — can define custom log curve (64 points max) |
| Max Curve Points | 64Plenty for smooth log curve |
| Noise Reduction | OFF, FAST, HIGH_QUALITY, MINIMAL, ZSLOFF available — can disable NR for clean log |
| Edge / Sharpening | FAST, HIGH_QUALITY, OFF, ZSLOFF available — can disable sharpening |
| Hot Pixel Modes | OFF, FAST, HIGH_QUALITY |
| Lens Shading Correction | OFF, FAST, HIGH_QUALITYOFF available — raw vignetting preserved for manual correction |
| Chromatic Aberration Correction | OFF, FAST, HIGH_QUALITY |
Vendor Tags
| Vendor-Specific Keys | None foundNo OEM-specific camera extensions detected |
Concurrent Cameras 1 checks
Concurrent Cameras
| Concurrent Camera Sets | NoneDevice advertises no camera combination that can stream concurrently |
Startup Ramp 2 checks
Startup Ramp
| First Frame Latency | 97 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 Startup | 7 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.encoder | Max bitrate: 100 MbpsExcellent — high enough for quality log |
| HEVC (H.265) Max Resolution | 4096 × 2176 |
| HEVC (H.265) Max Macroblocks/Frame | 34,816 MB — largest frame 4096×2176Frame-area budget at 16×16 macroblocks; any shape must fit inside it |
| HEVC (H.265) Dimension Alignment | width ×2 height ×2Any even size accepted |
| HEVC (H.265) 10-Bit Profiles | Main10, Main10HDR10, Main10HDR10Plus10-bit encoding supported |
| HEVC (H.265) Bitrate Modes | CBR:Yes VBR:Yes CQ:NoCQ not available — use VBR with high target bitrate |
| HEVC (H.265) Color Formats | 0x7f000789 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.hevc | Max bitrate: 100 MbpsExcellent — high enough for quality log |
| HEVC (H.265) Max Resolution | 4096 × 2176 |
| HEVC (H.265) Max Macroblocks/Frame | 34,816 MB — largest frame 4096×2176Frame-area budget at 16×16 macroblocks; any shape must fit inside it |
| HEVC (H.265) Dimension Alignment | width ×2 height ×2Any even size accepted |
| HEVC (H.265) 10-Bit Profiles | Main10, Main10HDR10, Main10HDR10Plus10-bit encoding supported |
| HEVC (H.265) Bitrate Modes | CBR:Yes VBR:Yes CQ:NoCQ not available — use VBR with high target bitrate |
| HEVC (H.265) Color Formats | 0x7f000789 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.encoder | Max bitrate: 100 MbpsExcellent — high enough for quality log |
| AVC (H.264) Max Resolution | 4096 × 2176 |
| AVC (H.264) Max Macroblocks/Frame | 34,816 MB — largest frame 4096×2176Frame-area budget at 16×16 macroblocks; any shape must fit inside it |
| AVC (H.264) Dimension Alignment | width ×2 height ×2Any even size accepted |
| AVC (H.264) Bitrate Modes | CBR:Yes VBR:Yes CQ:NoCQ not available — use VBR with high target bitrate |
| AVC (H.264) Color Formats | 0x7f000789 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.avc | Max bitrate: 100 MbpsExcellent — high enough for quality log |
| AVC (H.264) Max Resolution | 4096 × 2176 |
| AVC (H.264) Max Macroblocks/Frame | 34,816 MB — largest frame 4096×2176Frame-area budget at 16×16 macroblocks; any shape must fit inside it |
| AVC (H.264) Dimension Alignment | width ×2 height ×2Any even size accepted |
| AVC (H.264) Bitrate Modes | CBR:Yes VBR:Yes CQ:NoCQ not available — use VBR with high target bitrate |
| AVC (H.264) Color Formats | 0x7f000789 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 Platform | QTI SM7325 (lahaina)check vendor tags for capabilities |