Pixel 2

Android 11 (API 30)

Google · Qualcomm Snapdragon 835

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

Cameras

LensFacingFocal lengthSensor sizeMax resModesHW level
Rear #0BACK27mm (4.44mm)5.64 × 4.24 mm3840×216023LEVEL_3
Front #1FRONT25mm (3.38mm)4.59 × 3.45 mm3264×244822LEVEL_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×216034,5604096 × 4096 65,536 MB
AVC4096×216034,5604096 × 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.

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.

Each run below was soaked on its own, with a cooldown between runs, so their heat curves compare fairly — the one that climbs fastest and throttles soonest is working the silicon hardest.

Performance: HEVC 3840×2160

Sustained frame rate
30 fps
average across 60 clips · 100% of the 30fps target
Frames dropped
0 / 18016 total
held the target rate throughout
Peak temperature
41°C
battery sensor, during the run
Throttling reached
LIGHT
highest status the OS reported

Recorded for the full 10min without dropping frames or overheating — the time limit stopped it, nothing else. This device has thermal headroom to spare.

Encoded with HEVC at this device's maximum hardware bitrate for it.

Frame rate 30.1 fps → 30 fps

30.1 fps

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

0 fps

Encoded per 10s clip 40 Mbps → 40 Mbps

41 Mbps

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

0.0 Mbps

Battery temperature Estimates: 45°C in ~18min 31s (exponential fit)

45°C

10s: 30°C 20s: 30°C 30s: 30°C 40s: 30°C 50s: 32°C 1min: 32°C 1min 10s: 32°C 1min 20s: 32°C 1min 30s: 32°C 1min 40s: 32°C 1min 50s: 33°C 2min: 33°C 2min 10s: 33°C 2min 20s: 33°C 2min 30s: 33°C 2min 40s: 33°C 2min 50s: 35°C 3min: 35°C 3min 10s: 35°C 3min 20s: 35°C 3min 30s: 35°C 3min 40s: 35°C 3min 50s: 36°C 4min: 36°C 4min 10s: 36°C 4min 20s: 36°C 4min 30s: 37°C 4min 40s: 37°C 4min 50s: 37°C 5min: 37°C 5min 10s: 37°C 5min 20s: 37°C 5min 30s: 37°C 5min 40s: 37°C 5min 50s: 38°C 6min: 38°C 6min 10s: 38°C 6min 20s: 38°C 6min 30s: 38°C 6min 40s: 38°C 6min 50s: 39°C 7min: 39°C 7min 10s: 39°C 7min 20s: 39°C 7min 30s: 39°C 7min 40s: 39°C 7min 50s: 40°C 8min: 40°C 8min 10s: 40°C 8min 20s: 40°C 8min 30s: 40°C 8min 40s: 40°C 8min 50s: 41°C 9min: 41°C 9min 10s: 41°C 9min 20s: 41°C 9min 30s: 41°C 9min 40s: 41°C 9min 50s: 41°C 10min: 41°C 45°C in ~18min 31s

29°C

010min recorded18min 31s

Throttling status NONE → LIGHT

MODERATE

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

NONE

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.

Performance: AVC 3840×2160

Sustained frame rate
30 fps
average across 60 clips · 100% of the 30fps target
Frames dropped
0 / 18016 total
held the target rate throughout
Peak temperature
40°C
battery sensor, during the run
Throttling reached
LIGHT
highest status the OS reported

Recorded for the full 10min without dropping frames or overheating — the time limit stopped it, nothing else. This device has thermal headroom to spare.

Encoded with AVC at this device's maximum hardware bitrate for it.

Frame rate 30.1 fps → 30 fps

30.1 fps

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

0 fps

Encoded per 10s clip 101 Mbps → 100 Mbps

101 Mbps

Clip 1: 101 MbpsClip 2: 100 MbpsClip 3: 99 MbpsClip 4: 100 MbpsClip 5: 101 MbpsClip 6: 101 MbpsClip 7: 100 MbpsClip 8: 100 MbpsClip 9: 100 MbpsClip 10: 100 MbpsClip 11: 100 MbpsClip 12: 100 MbpsClip 13: 100 MbpsClip 14: 101 MbpsClip 15: 100 MbpsClip 16: 100 MbpsClip 17: 100 MbpsClip 18: 99 MbpsClip 19: 101 MbpsClip 20: 100 MbpsClip 21: 100 MbpsClip 22: 100 MbpsClip 23: 101 MbpsClip 24: 100 MbpsClip 25: 100 MbpsClip 26: 100 MbpsClip 27: 101 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: 99 MbpsClip 37: 99 MbpsClip 38: 100 MbpsClip 39: 101 MbpsClip 40: 100 MbpsClip 41: 99 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: 100 MbpsClip 52: 100 MbpsClip 53: 100 MbpsClip 54: 100 MbpsClip 55: 100 MbpsClip 56: 100 MbpsClip 57: 100 MbpsClip 58: 100 MbpsClip 59: 100 MbpsClip 60: 100 Mbps

0.0 Mbps

Battery temperature Estimates: 45°C in ~33min 56s (exponential fit)

45°C

10s: 29°C 20s: 29°C 30s: 29°C 40s: 29°C 50s: 30°C 1min: 30°C 1min 10s: 30°C 1min 20s: 30°C 1min 30s: 30°C 1min 40s: 30°C 1min 50s: 32°C 2min: 32°C 2min 10s: 32°C 2min 20s: 32°C 2min 30s: 32°C 2min 40s: 32°C 2min 50s: 33°C 3min: 33°C 3min 10s: 33°C 3min 20s: 33°C 3min 30s: 33°C 3min 40s: 33°C 3min 50s: 34°C 4min: 35°C 4min 10s: 35°C 4min 20s: 35°C 4min 30s: 35°C 4min 40s: 35°C 4min 50s: 36°C 5min: 36°C 5min 10s: 36°C 5min 20s: 36°C 5min 30s: 36°C 5min 40s: 36°C 5min 50s: 37°C 6min: 37°C 6min 10s: 37°C 6min 20s: 37°C 6min 30s: 37°C 6min 40s: 37°C 6min 50s: 38°C 7min: 38°C 7min 10s: 38°C 7min 20s: 38°C 7min 30s: 38°C 7min 40s: 38°C 7min 50s: 39°C 8min: 39°C 8min 10s: 39°C 8min 20s: 39°C 8min 30s: 39°C 8min 40s: 39°C 8min 50s: 39°C 9min: 39°C 9min 10s: 39°C 9min 20s: 39°C 9min 30s: 39°C 9min 40s: 39°C 9min 50s: 40°C 10min: 40°C 45°C in ~33min 56s

28°C

010min recorded33min 56s

Throttling status NONE → LIGHT

MODERATE

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

NONE

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

78 checks — 33 supported · 3 partial · 10 unsupported · 32 informational

Camera 0 (BACK) — Rear 30 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 50 – 3200Max analog ISO: 400 (digital gain above this)
Exposure Range56.3µs – 4.1sFastest: ~1/17759
Bayer PatternBGGR
Physical Size5.64 × 4.24 mm (diag 7.06 mm)Larger sensor = more light = better DR for log
Pixel Array4032 × 3032 (12.2 MP)

RAW Formats

RAW_SENSOR4032×3032 @ 30.1 fpsVideo-rate RAW achievable!
RAW104032×3032 @ 30.1 fpsVideo-rate RAW achievable!
RAW12Not supported
RAW_PRIVATE4032×3032 @ 30.1 fpsVideo-rate RAW achievable!

Streams

Max Simultaneous OutputsRAW:1 Processed:3 Stalling:1Can capture RAW + encoded video simultaneously
YUV_420_888 Modes4032×3024 @ 30 fps 4000×3000 @ 30 fps 2976×2976 @ 30 fps 3840×2160 @ 30 fps 3264×2448 @ 30 fps … and 21 more

HDR / 10-Bit

Dynamic Range ProfilesRequires API 33+ (Android 13)Device is on API 30
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 / SharpeningOFF, FAST, HIGH_QUALITY, ZSLOFF available — can disable sharpening
Hot Pixel ModesFAST, HIGH_QUALITY
Lens Shading CorrectionOFF, FAST, HIGH_QUALITYOFF available — raw vignetting preserved for manual correction
Chromatic Aberration CorrectionOFF, FAST, HIGH_QUALITY

Vendor Tags

Count24 vendor tags foundOEM-specific extensions available
com.google (10)com.google.nexus.experimental2017.stats.availableHistogramBucketCounts = [256, 128, 64, 32, 16] com.google.nexus.experimental2017.sensorEepromInfo = [77, 97, 107, 101, 114, 58, 83, 44, 68, 97, 116, 101, 58, 50, 48, 49, 55, 45, 57… com.google.nexus.experimental2017.sensorEepromPDAFRightGains = [-13, 3, 100, 3, 2, 3, -67, 2, -122, 2, 80, 2, 37, 2, 2, 2, -22, 1, -30, 1, -25,… com.google.nexus.experimental2017.sensorEepromPDAFLeftGains = [-5, 2, -113, 2, 66, 2, 13, 2, -25, 1, -53, 1, -69, 1, -77, 1, -73, 1, -54, 1, -… com.google.nexus.experimental2017.sensorEepromPDAFConvCoeff = [68, 0, 58, 0, 50, 0, 47, 0, 46, 0, 49, 0, 57, 0, 69, 0, 66, 0, 56, 0, 49, 0, 46… com.google.nexus.experimental2017.sensorEepromWbNumLights = [16] com.google.nexus.experimental2017.sensorEepromWbRGRatios = [0.47258624, 0.4369262, 0.8738911, 0.6372644, 0.5761719, 1.0958048, 0.55083495, … com.google.nexus.experimental2017.sensorEepromWbBGRatios = [0.70102066, 0.78568774, 0.3453303, 0.45418066, 0.40422478, 0.27330023, 0.568835… com.google.nexus.experimental2017.sensorEepromWbGrGbRatio = [1.0029297] com.google.nexus.experimental2017.sensor.pd_data_dimensions = [4032, 758, 8064]
org.codeaurora (14)org.codeaurora.qcamera3.opaque_raw.opaque_raw_strides = [4032, 3032, 4032] org.codeaurora.qcamera3.opaque_raw.opaque_raw_format = [0] org.codeaurora.qcamera3.iso_exp_priority.iso_available_modes = [0, 1, 2, 3, 4, 5, 6, 7] org.codeaurora.qcamera3.iso_exp_priority.exposure_time_range = [56311, 4070205952] org.codeaurora.qcamera3.saturation.range = [0, 10, 5, 1] org.codeaurora.qcamera3.exposure_metering.available_modes = [0, 1, 2, 1, 5, 6] org.codeaurora.qcamera3.sensor_meta_data.is_mono_only = [0] org.codeaurora.qcamera3.dualcam_calib_meta_data.dualcam_calib_meta_data_blob = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0… org.codeaurora.qcamera3.video_hdr_mode.vhdr_supported_modes = [0, 1] org.codeaurora.qcamera3.instant_aec.instant_aec_available_modes = [0, 1, 2] org.codeaurora.qcamera3.sharpness.range = [0, 36] org.codeaurora.qcamera3.histogram.buckets = [256] org.codeaurora.qcamera3.histogram.max_count = [256] org.codeaurora.qcamera3.stats.bsgc_available = [0]
Camera 1 (FRONT) — Front 30 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 50 – 6000Max analog ISO: 400 (digital gain above this)
Exposure Range25.3µs – 0.9sFastest: ~1/39480
Bayer PatternRGGB
Physical Size4.59 × 3.45 mm (diag 5.74 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:1Can capture RAW + encoded video simultaneously
YUV_420_888 Modes3264×2448 @ 30 fps 3200×2400 @ 30 fps 2592×1944 @ 30 fps 2688×1512 @ 30 fps 2048×1536 @ 30 fps … and 17 more

HDR / 10-Bit

Dynamic Range ProfilesRequires API 33+ (Android 13)Device is on API 30
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 / SharpeningOFF, FAST, HIGH_QUALITY, ZSLOFF available — can disable sharpening
Hot Pixel ModesFAST, HIGH_QUALITY
Lens Shading CorrectionOFF, FAST, HIGH_QUALITYOFF available — raw vignetting preserved for manual correction
Chromatic Aberration CorrectionOFF, FAST, HIGH_QUALITY

Vendor Tags

Count19 vendor tags foundOEM-specific extensions available
com.google (5)com.google.nexus.experimental2017.stats.availableHistogramBucketCounts = [256, 128, 64, 32, 16] com.google.nexus.experimental2017.sensorEepromWbNumLights = [16] com.google.nexus.experimental2017.sensorEepromWbRGRatios = [0.4568255, 0.44494012, 0.8158008, 0.6027077, 0.5601166, 1.0456505, 0.5261783, 0… com.google.nexus.experimental2017.sensorEepromWbBGRatios = [0.72036976, 0.7580776, 0.37199476, 0.45719182, 0.44292307, 0.28167507, 0.593167… com.google.nexus.experimental2017.sensorEepromWbGrGbRatio = [1.0029383]
org.codeaurora (14)org.codeaurora.qcamera3.opaque_raw.opaque_raw_strides = [3280, 2464, 3288] org.codeaurora.qcamera3.opaque_raw.opaque_raw_format = [0] org.codeaurora.qcamera3.iso_exp_priority.iso_available_modes = [0, 1, 2, 3, 4, 5, 6, 7] org.codeaurora.qcamera3.iso_exp_priority.exposure_time_range = [25329, 870906990] org.codeaurora.qcamera3.saturation.range = [0, 10, 5, 1] org.codeaurora.qcamera3.exposure_metering.available_modes = [0, 1, 2, 1, 5, 6] org.codeaurora.qcamera3.sensor_meta_data.is_mono_only = [0] org.codeaurora.qcamera3.dualcam_calib_meta_data.dualcam_calib_meta_data_blob = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0… org.codeaurora.qcamera3.video_hdr_mode.vhdr_supported_modes = [0, 1] org.codeaurora.qcamera3.instant_aec.instant_aec_available_modes = [0, 1, 2] org.codeaurora.qcamera3.sharpness.range = [0, 36] org.codeaurora.qcamera3.histogram.buckets = [256] org.codeaurora.qcamera3.histogram.max_count = [256] org.codeaurora.qcamera3.stats.bsgc_available = [0]
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 Latency349 msCamera start → first encoded frame, at 3840×2160 HEVC — the dead time between pressing record and the first frame of video existing. 3 runs: 348 / 349 / 352 ms
Frames Dropped at Startup14 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: 14 / 14 / 13
Video Encoders 13 checks

Encoders

HEVC (H.265) — OMX.qcom.video.encoder.hevcMax bitrate: 40 MbpsLow — may show banding in graded log footage
HEVC (H.265) Max Resolution4096 × 4096
HEVC (H.265) Max Macroblocks/Frame34,560 MB — largest frame 4096×2160Max 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:NoCQ not available — use VBR with high target bitrate
HEVC (H.265) Color Formats0x7fa30c06 QCOM YUV420SemiPlanar32mCompressed (UBWC NV12 — lossless tile) 0x7fa30c04 QCOM YUV420SemiPlanar32m (NV12 32-macroblock-aligned stride) 0x7fa30c08 QCOM YVU420SemiPlanar32mCompressed (UBWC NV21 tile) 0x7fa30c07 QCOM YUV420SemiPlanar32m10bitCompressed (UBWC NV12 10-bit) 0x7f000789 AndroidOpaque (opaque buffer — OMX_COLOR_FormatAndroidOpaque) 0x7f420888 YUV420Flexible (COLOR_FormatYUV420Flexible — framework maps to NV12) 0x00000015 YUV420SemiPlanar (NV12)
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,560 MB — largest frame 4096×2160Max 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 Formats0x7fa30c06 QCOM YUV420SemiPlanar32mCompressed (UBWC NV12 — lossless tile) 0x7fa30c04 QCOM YUV420SemiPlanar32m (NV12 32-macroblock-aligned stride) 0x7fa30c08 QCOM YVU420SemiPlanar32mCompressed (UBWC NV21 tile) 0x7fa30c07 QCOM YUV420SemiPlanar32m10bitCompressed (UBWC NV12 10-bit) 0x7f000789 AndroidOpaque (opaque buffer — OMX_COLOR_FormatAndroidOpaque) 0x7f420888 YUV420Flexible (COLOR_FormatYUV420Flexible — framework maps to NV12) 0x00000015 YUV420SemiPlanar (NV12)
Native Camera Libraries 2 checks

Native Libs

Vendor libs (/vendor/lib64/)camera.device@3.2-impl.so libdisppower-pixel.so libmmcamera2_q3a_core.so libmmcamera2_stats_algorithm.so libmmcamera2_stats_lib.so libmmcamera_dbg.so libmmcamera_faceproc.so libmmcamera_faceproc2.so libmmcamera_tintless_algo.so pixelpowerstats_provider_aidl_interface-V1-cpp.soCamera-related native libraries found
Detected PlatformQualcomm Snapdragon 835 (msm8998)CamX/Chi HAL likely available