Nexus 5
Android 6.0.1 (API 23)
LGE · Qualcomm msm8974
Codec maxima
AVCverified100 Mbps
AVC verified at 2592×1944 @ 30fps on Rear
Bit depth
10-bit sensor → 8-bit encoder 😒
the sensor's extra bits never reach the file
Storage write
301 Mbps (raw)
Cameras
| Lens | Facing | Focal length | Sensor size | Max res | Modes | HW level |
|---|---|---|---|---|---|---|
| Rear #0 | BACK | 30mm (3.97mm) | 4.6 × 3.52 mm | 2592×1944 | 15 | FULL |
| Front #1 | FRONT | 33mm (2.35mm) | 2.46 × 1.85 mm | 1280×960 | 11 | LIMITED |
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 |
|---|---|---|---|
| AVC | 3840×2160 | 32,400 | 3840 × 2160 |
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
66 checks — 24 supported · 2 partial · 15 unsupported · 25 informational
Camera 0 (BACK) — Rear 28 checks
Hardware
| Hardware Level | FULLGood — manual control + RAW likely available |
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 – 10000Max analog ISO: 800 (digital gain above this) |
| Exposure Range | 13.2µs – 0.9sFastest: ~1/75580 |
| Bayer Pattern | RGGB |
| Physical Size | 4.60 × 3.52 mm (diag 5.79 mm)Larger sensor = more light = better DR for log |
| Pixel Array | 3288 × 2480 (8.2 MP) |
RAW Formats
| RAW_SENSOR | 3280×2464 @ 30.2 fpsVideo-rate RAW achievable! |
| RAW10 | Not supported |
| RAW12 | Not supported |
| RAW_PRIVATE | Not supported |
Streams
| Max Simultaneous Outputs | RAW:1 Processed:3 Stalling:1Can capture RAW + encoded video simultaneously |
| YUV_420_888 Modes | 3264×2448 @ 30 fps 3200×2400 @ 30 fps 2592×1944 @ 30 fps 2048×1536 @ 30 fps 1920×1080 @ 30 fps … and 12 more |
HDR / 10-Bit
| Dynamic Range Profiles | Requires API 33+ (Android 13)Device is on API 23 |
| 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_QUALITYOFF available — can disable NR for clean log |
| Edge / Sharpening | OFF, FAST, HIGH_QUALITYOFF available — can disable sharpening |
| Hot Pixel Modes | FAST, HIGH_QUALITY |
| Lens Shading Correction | FAST, HIGH_QUALITY, OFFOFF available — raw vignetting preserved for manual correction |
| Chromatic Aberration Correction | OFF |
Vendor Tags
| Vendor-Specific Keys | None foundNo OEM-specific camera extensions detected |
Camera 1 (FRONT) — Front 28 checks
Hardware
| Hardware Level | LIMITEDSome manual controls, RAW unlikely |
Capabilities
| Manual Sensor Control | YesRequired for manual ISO/exposure in log shooting |
| RAW Capture | NoEnables 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 – 1600Max analog ISO: 1600 (digital gain above this) |
| Exposure Range | 33.1µs – 0.7sFastest: ~1/30189 |
| Bayer Pattern | GRBG |
| Physical Size | 2.46 × 1.85 mm (diag 3.08 mm)Larger sensor = more light = better DR for log |
| Pixel Array | 1296 × 976 (1.3 MP) |
RAW Formats
| RAW_SENSOR | Not supported |
| RAW10 | Not supported |
| RAW12 | Not supported |
| RAW_PRIVATE | Not supported |
Streams
| Max Simultaneous Outputs | RAW:1 Processed:3 Stalling:1Can capture RAW + encoded video simultaneously |
| YUV_420_888 Modes | 1280×960 @ 30 fps 1280×768 @ 30 fps 1280×720 @ 30 fps 1024×768 @ 30 fps 800×600 @ 30 fps … and 6 more |
HDR / 10-Bit
| Dynamic Range Profiles | Requires API 33+ (Android 13)Device is on API 23 |
| 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_QUALITYOFF available — can disable NR for clean log |
| Edge / Sharpening | OFF, FAST, HIGH_QUALITYOFF available — can disable sharpening |
| Hot Pixel Modes | FAST, HIGH_QUALITY |
| Lens Shading Correction | FAST, HIGH_QUALITY, OFFOFF available — raw vignetting preserved for manual correction |
| Chromatic Aberration Correction | OFF |
Vendor Tags
| Vendor-Specific Keys | None foundNo OEM-specific camera extensions detected |
Concurrent Cameras 1 checks
Concurrent Cameras
| Concurrent Camera Sets | Requires API 30+ (Android 11)Device is on API 23 |
Startup Ramp 2 checks
Startup Ramp
| First Frame Latency | 88 msCamera start → first encoded frame, at 2592×1944 AVC — the dead time between pressing record and the first frame of video existing. 3 runs: 88 / 88 / 83 ms |
| Frames Dropped at Startup | 5 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 / 5 / 5 |
Video Encoders 6 checks
Encoders
| AVC (H.264) — OMX.qcom.video.encoder.avc | Max bitrate: 100 MbpsExcellent — high enough for quality log |
| AVC (H.264) Max Resolution | 3840 × 2160 |
| AVC (H.264) Max Macroblocks/Frame | 32,400 MB — largest frame 3840×2160Frame-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:No VBR:Yes CQ:NoCQ not available — use VBR with high target bitrate |
| AVC (H.264) Color Formats | 0x7fa30c04 QCOM YUV420SemiPlanar32m (NV12 32-macroblock-aligned stride) 0x7f000789 AndroidOpaque (opaque buffer — OMX_COLOR_FormatAndroidOpaque) 0x7f420888 YUV420Flexible (COLOR_FormatYUV420Flexible — framework maps to NV12) 0x00000015 YUV420SemiPlanar (NV12) |
Native Camera Libraries 1 checks
Native Libs
| Detected Platform | Qualcomm msm8974CamX/Chi HAL likely available |