Nexus 5

Android 6.0.1 (API 23)

LGE · Qualcomm msm8974

CameraBench
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
284 Mbps (raw)

Cameras

LensFacingFocal lengthSensor sizeMax resModesHW level
Rear #0BACK30mm (3.97mm)4.6 × 3.52 mm2592×194415FULL
Front #1FRONT33mm (2.35mm)2.46 × 1.85 mm1280×96011LIMITED

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
AVC3840×216032,4003840 × 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.

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.

Performance: AVC 2592×1944

Sustained frame rate
29.8 fps
average across 60 clips · 99% of the 30fps target
Frames dropped
125 / 18000 total
against a steady 30fps
Peak temperature
35.1°C
battery sensor, during the run
Throttling reached
—
not reported below API 29

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 AVC at this device's maximum hardware bitrate for it.

Frame rate 29.8 fps → 29.8 fps

30 fps

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

0 fps

Encoded per 10s clip 100 Mbps → 100 Mbps

101 Mbps

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

0.0 Mbps

Battery temperature Estimates: 45°C in ~20min 7s · 60°C in ~37min 41s (linear fit)

45°C

10s: 29.4°C 20s: 29.4°C 30s: 29.4°C 40s: 29.4°C 50s: 29.4°C 1min: 29.4°C 1min 10s: 29.4°C 1min 20s: 29.4°C 1min 30s: 29.4°C 1min 40s: 29.4°C 1min 50s: 29.4°C 2min: 29.4°C 2min 10s: 29.4°C 2min 20s: 29.4°C 2min 30s: 29.4°C 2min 40s: 29.4°C 2min 50s: 29.4°C 3min: 29.4°C 3min 10s: 29.4°C 3min 20s: 29.4°C 3min 30s: 29.4°C 3min 40s: 29.4°C 3min 50s: 29.4°C 4min: 29.4°C 4min 10s: 29.4°C 4min 20s: 29.4°C 4min 30s: 29.4°C 4min 40s: 29.4°C 4min 50s: 29.4°C 5min: 29.4°C 5min 10s: 29.4°C 5min 20s: 35.1°C 5min 30s: 35.1°C 5min 40s: 35.1°C 5min 50s: 35.1°C 6min: 35.1°C 6min 10s: 35.1°C 6min 20s: 35.1°C 6min 30s: 35.1°C 6min 40s: 35.1°C 6min 50s: 35.1°C 7min: 35.1°C 7min 10s: 35.1°C 7min 20s: 35.1°C 7min 30s: 35.1°C 7min 40s: 35.1°C 7min 50s: 35.1°C 8min: 35.1°C 8min 10s: 35.1°C 8min 20s: 35.1°C 8min 30s: 35.1°C 8min 40s: 35.1°C 8min 50s: 35.1°C 9min: 35.1°C 9min 10s: 35.1°C 9min 20s: 35.1°C 9min 30s: 35.1°C 9min 40s: 35.1°C 9min 50s: 35.1°C 10min: 35.1°C 45°C in ~20min 7s

28.4°C

010min recorded20min 7s

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

66 checks — 24 supported · 2 partial · 15 unsupported · 25 informational

Camera 0 (BACK) — Rear 28 checks

Hardware

Hardware LevelFULLGood — manual control + RAW likely available

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 – 10000Max analog ISO: 800 (digital gain above this)
Exposure Range13.2µs – 0.9sFastest: ~1/75580
Bayer PatternRGGB
Physical Size4.60 × 3.52 mm (diag 5.79 mm)Larger sensor = more light = better DR for log
Pixel Array3288 × 2480 (8.2 MP)

RAW Formats

RAW_SENSOR3280×2464 @ 30.2 fpsVideo-rate RAW achievable!
RAW10Not supported
RAW12Not supported
RAW_PRIVATENot supported

Streams

Max Simultaneous OutputsRAW:1 Processed:3 Stalling:1Can capture RAW + encoded video simultaneously
YUV_420_888 Modes3264×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 ProfilesRequires 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 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_QUALITYOFF available — can disable NR for clean log
Edge / SharpeningOFF, FAST, HIGH_QUALITYOFF available — can disable sharpening
Hot Pixel ModesFAST, HIGH_QUALITY
Lens Shading CorrectionFAST, HIGH_QUALITY, OFFOFF available — raw vignetting preserved for manual correction
Chromatic Aberration CorrectionOFF

Vendor Tags

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

Hardware

Hardware LevelLIMITEDSome manual controls, RAW unlikely

Capabilities

Manual Sensor ControlYesRequired for manual ISO/exposure in log shooting
RAW CaptureNoEnables 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 – 1600Max analog ISO: 1600 (digital gain above this)
Exposure Range33.1µs – 0.7sFastest: ~1/30189
Bayer PatternGRBG
Physical Size2.46 × 1.85 mm (diag 3.08 mm)Larger sensor = more light = better DR for log
Pixel Array1296 × 976 (1.3 MP)

RAW Formats

RAW_SENSORNot supported
RAW10Not supported
RAW12Not supported
RAW_PRIVATENot supported

Streams

Max Simultaneous OutputsRAW:1 Processed:3 Stalling:1Can capture RAW + encoded video simultaneously
YUV_420_888 Modes1280×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 ProfilesRequires 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 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_QUALITYOFF available — can disable NR for clean log
Edge / SharpeningOFF, FAST, HIGH_QUALITYOFF available — can disable sharpening
Hot Pixel ModesFAST, HIGH_QUALITY
Lens Shading CorrectionFAST, HIGH_QUALITY, OFFOFF available — raw vignetting preserved for manual correction
Chromatic Aberration CorrectionOFF

Vendor Tags

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

Concurrent Cameras

Concurrent Camera SetsRequires API 30+ (Android 11)Device is on API 23
Startup Ramp 2 checks

Startup Ramp

First Frame Latency86 msCamera start → first encoded frame, at 2592×1944 AVC — the dead time between pressing record and the first frame of video existing. 3 runs: 86 / 89 / 70 ms
Frames Dropped at Startup5 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: 5 / 5 / 5
Video Encoders 6 checks

Encoders

AVC (H.264) — OMX.qcom.video.encoder.avcMax bitrate: 100 MbpsExcellent — high enough for quality log
AVC (H.264) Max Resolution3840 × 2160
AVC (H.264) Max Macroblocks/Frame32,400 MB — largest frame 3840×2160Frame-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 Formats0x7fa30c04 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 PlatformQualcomm msm8974CamX/Chi HAL likely available