Pixel 5

Android 14 (API 34)

Google · Qualcomm SM7250

CameraBench
Codec maxima
HEVCverified100 Mbps
AVCverified100 Mbps
HEVC and AVC both verified at 3840×2160 @ 60fps on Main
Bit depth
10-bit sensor → 8-bit encoder 😒
the sensor's extra bits never reach the file
Storage write
2.7 Gbps (raw)

Cameras

LensFacingFocal lengthSensor sizeMax resModesHW level
Main #0:2BACK27mm (4.38mm)5.64 × 4.23 mm3840×216022FULL
Ultrawide #0:3BACK16mm (2.22mm)4.66 × 3.5 mm3840×216022FULL
Front #1FRONT24mm (2.57mm)3.67 × 2.76 mm3264×183620FULL

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 × 4096 65,536 MB
AVC4096×217634,8164096 × 4096 65,536 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.

Diagnostics

127 checks — 57 supported · 2 partial · 15 unsupported · 53 informational

Camera 0:2 (BACK) — Main 29 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 55 – 7111Max analog ISO: 444 (digital gain above this)
Exposure Range13.6µs – 10.2sFastest: ~1/73470
Bayer PatternBGGR
Physical Size5.64 × 4.23 mm (diag 7.06 mm)Larger sensor = more light = better DR for log
Pixel Array4032 × 3024 (12.2 MP)

RAW Formats

RAW_SENSOR4032×3024 @ 30.0 fpsVideo-rate RAW achievable!
RAW104032×3024 @ 30.0 fpsVideo-rate RAW achievable!
RAW12Not supported
RAW_PRIVATE4032×3024 @ 30.0 fpsVideo-rate RAW achievable!

Streams

Max Simultaneous OutputsRAW:1 Processed:3 Stalling:2Can capture RAW + encoded video simultaneously
YUV_420_888 Modes4032×3024 @ 30 fps 4000×3000 @ 30 fps 4032×2268 @ 30 fps 3840×2160 @ 30 fps 4000×2000 @ 30 fps … and 21 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, MINIMALOFF available — can disable NR for clean log
Edge / SharpeningFAST, HIGH_QUALITY, OFFOFF 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

Count10 vendor tags foundOEM-specific extensions available
com.google (10)com.google.pixel.experimental2017.sensorEepromWbNumLights = [5] com.google.pixel.experimental2017.sensorEepromWbRGRatios = [0.46289062, 0.578125, 0.68066406, 0.0, 0.0] com.google.pixel.experimental2017.sensorEepromWbBGRatios = [0.6689453, 0.53027344, 0.35351562, 0.0, 0.0] com.google.pixel.experimental2017.sensorEepromWbGrGbRatio = [1.0] com.google.pixel.experimental2018.faceLandmark.availableIds = [1, 2, 3, 4, 5, 6] com.google.pixel.experimental2019.MeshWarp.AvailableModes = [0, 1] com.google.pixel.experimental2020.flashlightBrightnessLevelMax = [1500] com.google.pixel.experimental2020.faceAttribute.availableIds = [0, 1] com.google.internal.hdrplus.PayloadFrames = [1] com.google.internal.hdr.UsageMode = [2]
Camera 0:3 (BACK) — Ultrawide 29 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 35 – 9209Max analog ISO: 575 (digital gain above this)
Exposure Range9.4µs – 13.4sFastest: ~1/106644
Bayer PatternBGGR
Physical Size4.66 × 3.50 mm (diag 5.82 mm)Larger sensor = more light = better DR for log
Pixel Array4656 × 3496 (16.3 MP)

RAW Formats

RAW_SENSOR4656×3496 @ 30.0 fps 2328×1746 @ 30.0 fpsVideo-rate RAW achievable!
RAW104656×3496 @ 30.0 fps 2328×1746 @ 30.0 fpsVideo-rate RAW achievable!
RAW12Not supported
RAW_PRIVATE4656×3496 @ 30.0 fps 2328×1746 @ 30.0 fpsVideo-rate RAW achievable!

Streams

Max Simultaneous OutputsRAW:1 Processed:3 Stalling:2Can capture RAW + encoded video simultaneously
YUV_420_888 Modes4160×3120 @ 24 fps 4032×3024 @ 30 fps 4000×3000 @ 30 fps 4608×2592 @ 30 fps 4096×2304 @ 40 fps … and 25 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, MINIMALOFF available — can disable NR for clean log
Edge / SharpeningFAST, HIGH_QUALITY, OFFOFF 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

Count15 vendor tags foundOEM-specific extensions available
com.google (15)com.google.pixel.experimental2017.sensorEepromWbNumLights = [5] com.google.pixel.experimental2017.sensorEepromWbRGRatios = [0.5234375, 0.65234375, 0.76171875, 0.0, 0.0] com.google.pixel.experimental2017.sensorEepromWbBGRatios = [0.6201172, 0.48632812, 0.32910156, 0.0, 0.0] com.google.pixel.experimental2017.sensorEepromWbGrGbRatio = [0.99316406] com.google.pixel.experimental2018.faceLandmark.availableIds = [1, 2, 3, 4, 5, 6] com.google.pixel.experimental2018.lensDistortion.highQuality = [-0.99745345, 1.0424722, -0.0052892314, -0.90666515, 0.8466006, 0.13288811, 1.90… com.google.pixel.experimental2018.lensDistortion.opticalCenter = [2326.6897, 1758.8402] com.google.pixel.experimental2018.lensDistortion.normalization = [2220.0, 2220.0] com.google.pixel.experimental2018.lensDistortion.activeRectangle = [0, 0, 4656, 3496] com.google.pixel.experimental2018.lensDistortion.validRectangle = [0, 0, 4656, 3496] com.google.pixel.experimental2019.MeshWarp.AvailableModes = [0, 1] com.google.pixel.experimental2020.flashlightBrightnessLevelMax = [1500] com.google.pixel.experimental2020.faceAttribute.availableIds = [0, 1] com.google.internal.hdrplus.PayloadFrames = [1] com.google.internal.hdr.UsageMode = [2]
Camera 1 (FRONT) — Front 29 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 44 – 11480Max analog ISO: 717 (digital gain above this)
Exposure Range13.3µs – 0.8sFastest: ~1/74946
Bayer PatternBGGR
Physical Size3.67 × 2.76 mm (diag 4.59 mm)Larger sensor = more light = better DR for log
Pixel Array3280 × 2464 (8.1 MP)

RAW Formats

RAW_SENSOR3280×2464 @ 30.0 fpsVideo-rate RAW achievable!
RAW103280×2464 @ 30.0 fpsVideo-rate RAW achievable!
RAW12Not supported
RAW_PRIVATE3280×2464 @ 30.0 fpsVideo-rate RAW achievable!

Streams

Max Simultaneous OutputsRAW:1 Processed:3 Stalling:2Can capture RAW + encoded video simultaneously
YUV_420_888 Modes3264×2448 @ 30 fps 3264×1836 @ 30 fps 2592×1944 @ 30 fps 2688×1512 @ 30 fps 2560×1280 @ 30 fps … and 16 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, MINIMALOFF available — can disable NR for clean log
Edge / SharpeningFAST, HIGH_QUALITY, OFFOFF 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

Count10 vendor tags foundOEM-specific extensions available
com.google (10)com.google.pixel.experimental2017.sensorEepromWbNumLights = [5] com.google.pixel.experimental2017.sensorEepromWbRGRatios = [0.4970703, 0.6152344, 0.73046875, 0.0, 0.0] com.google.pixel.experimental2017.sensorEepromWbBGRatios = [0.7109375, 0.56152344, 0.3779297, 0.0, 0.0] com.google.pixel.experimental2017.sensorEepromWbGrGbRatio = [0.9970703] com.google.pixel.experimental2018.faceLandmark.availableIds = [1, 2, 3, 4, 5, 6] com.google.pixel.experimental2019.MeshWarp.AvailableModes = [0, 1] com.google.pixel.experimental2020.flashlightBrightnessLevelMax = [1500] com.google.pixel.experimental2020.faceAttribute.availableIds = [0, 1] com.google.internal.hdrplus.PayloadFrames = [1] com.google.internal.hdr.UsageMode = [2]
Concurrent Cameras 1 checks

Concurrent Cameras

Concurrent Camera Sets0 (BACK) + 1 (FRONT)Each set can stream simultaneously, but only at the platform's constrained concurrent stream limits (~720p per camera)
Startup Ramp 2 checks

Startup Ramp

First Frame Latency674 msCamera start → first encoded frame, at 3840×2160 HEVC — the dead time between pressing record and the first frame of video existing. 3 runs: 713 / 643 / 674 ms
Frames Dropped at Startup20 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: 19 / 20 / 20
Video Encoders 33 checks

Encoders

HEVC (H.265) — c2.qti.hevc.encoderMax bitrate: 100 MbpsExcellent — high enough for quality log
HEVC (H.265) Max Resolution4096 × 4096
HEVC (H.265) Max Macroblocks/Frame34,816 MB — largest frame 4096×2176Max width × max height (65,536 MB) exceeds this — those two cannot be combined
HEVC (H.265) Dimension Alignmentwidth ×2 height ×2Any even size accepted
HEVC (H.265) 10-Bit ProfilesNone — 8-bit onlyLog footage limited to 8-bit (256 levels)
HEVC (H.265) Bitrate ModesCBR:Yes VBR:Yes CQ:YesCQ (constant quality) available — ideal for log footage
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) 0x00000036 (vendor-specific / unknown)
HEVC (H.265) — OMX.qcom.video.encoder.hevcMax bitrate: 100 MbpsExcellent — high enough for quality log
HEVC (H.265) Max Resolution4096 × 4096
HEVC (H.265) Max Macroblocks/Frame34,816 MB — largest frame 4096×2176Max width × max height (65,536 MB) exceeds this — those two cannot be combined
HEVC (H.265) Dimension Alignmentwidth ×2 height ×2Any even size accepted
HEVC (H.265) 10-Bit ProfilesNone — 8-bit onlyLog footage limited to 8-bit (256 levels)
HEVC (H.265) Bitrate ModesCBR:Yes VBR:Yes CQ:YesCQ (constant quality) available — ideal for log footage
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) 0x00000036 (vendor-specific / unknown)
HEVC (H.265) — c2.qti.hevc.encoder.cqMax bitrate: 160 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 ProfilesNone — 8-bit onlyLog footage limited to 8-bit (256 levels)
HEVC (H.265) Bitrate ModesCBR:No VBR:No CQ:YesCQ (constant quality) available — ideal for log footage
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) 0x00000036 (vendor-specific / unknown)
AVC (H.264) — c2.qti.avc.encoderMax bitrate: 100 MbpsExcellent — high enough for quality log
AVC (H.264) Max Resolution4096 × 4096
AVC (H.264) Max Macroblocks/Frame34,816 MB — largest frame 4096×2176Max width × max height (65,536 MB) exceeds this — those two cannot be combined
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) 0x00000036 (vendor-specific / unknown)
AVC (H.264) — OMX.qcom.video.encoder.avcMax bitrate: 100 MbpsExcellent — high enough for quality log
AVC (H.264) Max Resolution4096 × 4096
AVC (H.264) Max Macroblocks/Frame34,816 MB — largest frame 4096×2176Max width × max height (65,536 MB) exceeds this — those two cannot be combined
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) 0x00000036 (vendor-specific / unknown)
Native Camera Libraries 4 checks

Native Libs

Camera HAL (/vendor/lib64/hw/)com.qti.chi.override.bitra.so camera.lito.so com.qti.chi.override.so android.hardware.boot@1.0-impl-1.2-pixel-legacy.soCamera-related native libraries found
Camera plugins (/vendor/lib64/camera/)com.qti.sensor.imx355.so com.google.tuned.lito2_imx481.bin com.google.ghawb.tuning.imx363.so com.google.ghawb.tuning.imx355.so com.google.gabc.tuning.imx355.so ghawb_para_lut_imx481.bin com.qti.sensormodule.metric_imx481_lito2.bin com.google.tuned.lito2_imx355.bin ghawb_para_lut_imx355.bin com.qti.sensormodule.metric_imx363_lito2.bin com.google.ghawb.tuning.imx481.so com.google.gabc.tuning.imx481.so com.qti.sensor.imx363.so com.qti.sensor.imx481.so ghawb_para_lut_imx363.bin com.qti.tuned.semco_imx481.bin com.google.tuned.lito2_imx363.bin com.qti.sensormodule.primax_imx355_lito2.bin com.google.gabc.tuning.imx363.soCamera-related native libraries found
Vendor libs (/vendor/lib64/)android.hardware.camera.common-V1-ndk.so android.hardware.camera.common@1.0.so android.hardware.camera.device-V2-ndk.so android.hardware.camera.device@1.0.so android.hardware.camera.device@3.2.so android.hardware.camera.metadata-V2-ndk.so android.hardware.camera.provider-V2-ndk.so android.hardware.camera.provider@2.4.so camera com.google.af.tuning.imx363.so com.google.hardware.pixel.display-V1-ndk.so libOpenCL-pixel.so libTouchInputVM.so lib_goog_chi_node_utils.so libbatching.so libcamera_nn_stub.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 libdisppower-pixel.so libdysco_camx_wrapper.so libgatm_camx_wrapper.so libgcam_3p.so libgcam_ae.so libgcam_awb.so libgcam_face_for_af.so libgcam_frsdk.so libgoog_pdaf_core_imx363.so libgooglecamera.proto_message.converter.gabc.so libgooglecamera.proto_message.converter.ghawb.so libgooglecamera.proto_message.converter.so libgooglecamera.proto_message.protos.so libgooglecamerahal.so libgooglecamerahalutils.so libgooglecamerahwl_impl.so libmmcamera_faceproc.so libmmcamera_faceproc2.so libpixelatoms_defs.so libpixelhealth.so libpixelstats.so pixel-power-ext-V1-ndk.so pixelatoms-cpp.so pixelpowerstats_provider_aidl_interface-cpp.so vendor-pixelatoms-cpp.so vendor.qti.hardware.camera.postproc@1.0-service-impl.bitra.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 SM7250 (lito)CamX/Chi HAL likely available