Pixel 9 Pro
Android 17 (API 37)
Google · Google Tensor G4
Cameras
| Lens | Facing | Focal length | Sensor size | Max res | Modes | HW level |
|---|---|---|---|---|---|---|
| Main #0:2 | BACK | 24mm (6.9mm) | 9.79 × 7.37 mm | not tested | 31 | FULL |
| Telephoto #0:4 | BACK | 110mm (17.91mm) | 5.64 × 4.23 mm | not tested | 31 | FULL |
| Ultrawide #0:3 | BACK | 12mm (2.02mm) | 5.64 × 4.23 mm | not tested | 31 | FULL |
| Front #1 | FRONT | 20mm (2.71mm) | 4.82 × 3.43 mm | not tested | 26 | FULL |
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.
A lens with no recorded size has no proven maximum: either the record tests have not been run on it, or they ran and it recorded nothing at any size it was offered.
Encoder frame ceilings
| Codec | Largest frame | Macroblocks | Advertised max |
|---|---|---|---|
| AV1 | 3840×2176 | 32,640 | |
| HEVC | 7680×4320 | 129,600 | |
| AVC | 7680×4320 | 129,600 |
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
139 checks — 76 supported · 4 partial · 8 unsupported · 51 informational
Camera 0:2 (BACK) — Main 29 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 | YesHLG10/HDR10 pipeline available (API 33+) |
Sensor
| Bit Depth | 10-bit (white level = 1023)Good — standard for mobile sensors |
| Sensitivity Range | ISO 22 – 11277Max analog ISO: 704 (digital gain above this) |
| Exposure Range | 26.3µs – 16.0sFastest: ~1/37958 |
| Bayer Pattern | GBRG |
| Physical Size | 9.79 × 7.37 mm (diag 12.26 mm)Larger sensor = more light = better DR for log |
| Pixel Array | 4080 × 3072 (12.5 MP) |
RAW Formats
| RAW_SENSOR | 4080×3072 @ 30.0 fps 4080×2288 @ 60.0 fps 2032×1536 @ 60.0 fps 2016×1136 @ 60.0 fpsVideo-rate RAW achievable! |
| RAW10 | 4080×3072 @ 30.0 fps 4080×2288 @ 60.0 fps 2032×1536 @ 60.0 fps 2016×1136 @ 60.0 fpsVideo-rate RAW achievable! |
| RAW12 | Not supported |
| RAW_PRIVATE | Not supported |
Streams
| Max Simultaneous Outputs | RAW:1 Processed:3 Stalling:2Can capture RAW + encoded video simultaneously |
| YUV_420_888 Modes | 4080×3072 @ 30 fps 4032×3024 @ 30 fps 4000×3000 @ 30 fps 4032×2268 @ 60 fps 3840×2160 @ 60 fps … and 27 more |
HDR / 10-Bit
| Dynamic Range Profiles | STANDARD (SDR) HLG10 ★HLG10 available — best path for 10-bit gradable video |
| 10-Bit YUV (P010) | 4080×3072 @ 30 fps 4032×3024 @ 30 fps 4000×3000 @ 30 fps 4032×2268 @ 60 fps 3840×2160 @ 60 fps 4000×2000 @ 30 fps 3264×2448 @ 30 fps 3264×1836 @ 60 fps 2560×1920 @ 30 fps 2688×1512 @ 60 fps 1920×1920 @ 30 fps 2560×1280 @ 30 fps 2048×1536 @ 30 fps 1920×1440 @ 30 fps 1920×1080 @ 60 fps 1600×1200 @ 30 fps 1920×960 @ 30 fps 1792×1008 @ 60 fps 1440×1080 @ 30 fps 1344×1008 @ 30 fps 1280×960 @ 30 fps 1080×1080 @ 30 fps 1280×720 @ 60 fps 1024×768 @ 30 fps 1024×576 @ 60 fps 800×600 @ 30 fps 720×480 @ 30 fps 640×480 @ 30 fps 640×360 @ 60 fps 352×288 @ 30 fps 320×240 @ 30 fps 176×144 @ 30 fps10-bit input available for HEVC Main10 encoder |
Tonemap / ISP
| Tonemap Modes | CONTRAST_CURVE, FAST, HIGH_QUALITYCONTRAST_CURVE available — can define custom log curve (65 points max) |
| Max Curve Points | 65Plenty 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 | OFF, FAST, HIGH_QUALITY |
| Lens Shading Correction | OFF, FAST, HIGH_QUALITYOFF available — raw vignetting preserved for manual correction |
| Chromatic Aberration Correction | OFF |
Vendor Tags
| Count | 3 vendor tags foundOEM-specific extensions available |
| com.google (3) | com.google.pixel.experimental2018.faceLandmark.availableIds = [1, 2, 3, 4, 5, 6] com.google.pixel.experimental2020.faceAttribute.availableIds = [0, 1] com.google.internal.hdrplus.PayloadFrames = [1] |
Camera 0:4 (BACK) — Telephoto 29 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 | YesHLG10/HDR10 pipeline available (API 33+) |
Sensor
| Bit Depth | 10-bit (white level = 1023)Good — standard for mobile sensors |
| Sensitivity Range | ISO 49 – 17655Max analog ISO: 1103 (digital gain above this) |
| Exposure Range | 68.7µs – 16.0sFastest: ~1/14559 |
| Bayer Pattern | GBRG |
| Physical Size | 5.64 × 4.23 mm (diag 7.06 mm)Larger sensor = more light = better DR for log |
| Pixel Array | 4032 × 3024 (12.2 MP) |
RAW Formats
| RAW_SENSOR | 4032×3024 @ 30.0 fps 4032×2272 @ 60.0 fps 2016×1512 @ 60.0 fps 1920×1080 @ 60.0 fpsVideo-rate RAW achievable! |
| RAW10 | 4032×3024 @ 30.0 fps 4032×2272 @ 60.0 fps 2016×1512 @ 60.0 fps 1920×1080 @ 60.0 fpsVideo-rate RAW achievable! |
| RAW12 | Not supported |
| RAW_PRIVATE | Not supported |
Streams
| Max Simultaneous Outputs | RAW:1 Processed:3 Stalling:2Can capture RAW + encoded video simultaneously |
| YUV_420_888 Modes | 4032×3024 @ 30 fps 4000×3000 @ 30 fps 4032×2268 @ 60 fps 3840×2160 @ 60 fps 4000×2000 @ 30 fps … and 26 more |
HDR / 10-Bit
| Dynamic Range Profiles | STANDARD (SDR) HLG10 ★HLG10 available — best path for 10-bit gradable video |
| 10-Bit YUV (P010) | 4032×3024 @ 30 fps 4000×3000 @ 30 fps 4032×2268 @ 60 fps 3840×2160 @ 60 fps 4000×2000 @ 30 fps 3264×2448 @ 30 fps 3264×1836 @ 60 fps 2560×1920 @ 30 fps 2688×1512 @ 60 fps 1920×1920 @ 30 fps 2560×1280 @ 30 fps 2048×1536 @ 30 fps 1920×1440 @ 30 fps 1920×1080 @ 60 fps 1600×1200 @ 30 fps 1920×960 @ 30 fps 1792×1008 @ 60 fps 1440×1080 @ 30 fps 1344×1008 @ 30 fps 1280×960 @ 30 fps 1080×1080 @ 30 fps 1280×720 @ 60 fps 1024×768 @ 30 fps 1024×576 @ 60 fps 800×600 @ 30 fps 720×480 @ 30 fps 640×480 @ 30 fps 640×360 @ 60 fps 352×288 @ 30 fps 320×240 @ 30 fps 176×144 @ 30 fps10-bit input available for HEVC Main10 encoder |
Tonemap / ISP
| Tonemap Modes | CONTRAST_CURVE, FAST, HIGH_QUALITYCONTRAST_CURVE available — can define custom log curve (65 points max) |
| Max Curve Points | 65Plenty 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 | OFF, FAST, HIGH_QUALITY |
| Lens Shading Correction | OFF, FAST, HIGH_QUALITYOFF available — raw vignetting preserved for manual correction |
| Chromatic Aberration Correction | OFF |
Vendor Tags
| Count | 3 vendor tags foundOEM-specific extensions available |
| com.google (3) | com.google.pixel.experimental2018.faceLandmark.availableIds = [1, 2, 3, 4, 5, 6] com.google.pixel.experimental2020.faceAttribute.availableIds = [0, 1] com.google.internal.hdrplus.PayloadFrames = [1] |
Camera 0:3 (BACK) — Ultrawide 29 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 | YesHLG10/HDR10 pipeline available (API 33+) |
Sensor
| Bit Depth | 10-bit (white level = 1023)Good — standard for mobile sensors |
| Sensitivity Range | ISO 53 – 2388Max analog ISO: 1194 (digital gain above this) |
| Exposure Range | 68.7µs – 16.0sFastest: ~1/14559 |
| Bayer Pattern | RGGB |
| Physical Size | 5.64 × 4.23 mm (diag 7.06 mm)Larger sensor = more light = better DR for log |
| Pixel Array | 4032 × 3024 (12.2 MP) |
RAW Formats
| RAW_SENSOR | 4032×3024 @ 30.0 fps 4032×2272 @ 60.0 fps 2016×1512 @ 60.0 fps 1920×1080 @ 60.0 fpsVideo-rate RAW achievable! |
| RAW10 | 4032×3024 @ 30.0 fps 4032×2272 @ 60.0 fps 2016×1512 @ 60.0 fps 1920×1080 @ 60.0 fpsVideo-rate RAW achievable! |
| RAW12 | Not supported |
| RAW_PRIVATE | Not supported |
Streams
| Max Simultaneous Outputs | RAW:1 Processed:3 Stalling:2Can capture RAW + encoded video simultaneously |
| YUV_420_888 Modes | 4032×3024 @ 30 fps 4000×3000 @ 30 fps 4032×2268 @ 60 fps 3840×2160 @ 60 fps 4000×2000 @ 30 fps … and 26 more |
HDR / 10-Bit
| Dynamic Range Profiles | STANDARD (SDR) HLG10 ★HLG10 available — best path for 10-bit gradable video |
| 10-Bit YUV (P010) | 4032×3024 @ 30 fps 4000×3000 @ 30 fps 4032×2268 @ 60 fps 3840×2160 @ 60 fps 4000×2000 @ 30 fps 3264×2448 @ 30 fps 3264×1836 @ 60 fps 2560×1920 @ 30 fps 2688×1512 @ 60 fps 1920×1920 @ 30 fps 2560×1280 @ 30 fps 2048×1536 @ 30 fps 1920×1440 @ 30 fps 1920×1080 @ 60 fps 1600×1200 @ 30 fps 1920×960 @ 30 fps 1792×1008 @ 60 fps 1440×1080 @ 30 fps 1344×1008 @ 30 fps 1280×960 @ 30 fps 1080×1080 @ 30 fps 1280×720 @ 60 fps 1024×768 @ 30 fps 1024×576 @ 60 fps 800×600 @ 30 fps 720×480 @ 30 fps 640×480 @ 30 fps 640×360 @ 60 fps 352×288 @ 30 fps 320×240 @ 30 fps 176×144 @ 30 fps10-bit input available for HEVC Main10 encoder |
Tonemap / ISP
| Tonemap Modes | CONTRAST_CURVE, FAST, HIGH_QUALITYCONTRAST_CURVE available — can define custom log curve (65 points max) |
| Max Curve Points | 65Plenty 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 | OFF, FAST, HIGH_QUALITY |
| Lens Shading Correction | OFF, FAST, HIGH_QUALITYOFF available — raw vignetting preserved for manual correction |
| Chromatic Aberration Correction | OFF |
Vendor Tags
| Count | 3 vendor tags foundOEM-specific extensions available |
| com.google (3) | com.google.pixel.experimental2018.faceLandmark.availableIds = [1, 2, 3, 4, 5, 6] com.google.pixel.experimental2020.faceAttribute.availableIds = [0, 1] com.google.internal.hdrplus.PayloadFrames = [1] |
Camera 1 (FRONT) — Front 29 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 | YesHLG10/HDR10 pipeline available (API 33+) |
Sensor
| Bit Depth | 10-bit (white level = 1023)Good — standard for mobile sensors |
| Sensitivity Range | ISO 54 – 19393Max analog ISO: 1212 (digital gain above this) |
| Exposure Range | 68.4µs – 1.0sFastest: ~1/14628 |
| Bayer Pattern | RGGB |
| Physical Size | 4.82 × 3.43 mm (diag 5.91 mm)Larger sensor = more light = better DR for log |
| Pixel Array | 3440 × 2448 (8.4 MP) |
RAW Formats
| RAW_SENSOR | 3440×2448 @ 30.0 fpsVideo-rate RAW achievable! |
| RAW10 | 3440×2448 @ 30.0 fpsVideo-rate RAW achievable! |
| RAW12 | Not supported |
| RAW_PRIVATE | Not supported |
Streams
| Max Simultaneous Outputs | RAW:1 Processed:3 Stalling:2Can capture RAW + encoded video simultaneously |
| YUV_420_888 Modes | 3440×2448 @ 30 fps 3264×2448 @ 30 fps 3264×1836 @ 30 fps 2560×1920 @ 30 fps 2688×1512 @ 30 fps … and 22 more |
HDR / 10-Bit
| Dynamic Range Profiles | STANDARD (SDR) HLG10 ★HLG10 available — best path for 10-bit gradable video |
| 10-Bit YUV (P010) | 3440×2448 @ 30 fps 3264×2448 @ 30 fps 3264×1836 @ 30 fps 2560×1920 @ 30 fps 2688×1512 @ 30 fps 1920×1920 @ 30 fps 2560×1280 @ 30 fps 2048×1536 @ 30 fps 1920×1440 @ 30 fps 1920×1080 @ 60 fps 1600×1200 @ 30 fps 1920×960 @ 30 fps 1792×1008 @ 60 fps 1440×1080 @ 30 fps 1344×1008 @ 30 fps 1280×960 @ 30 fps 1080×1080 @ 30 fps 1280×720 @ 60 fps 1024×768 @ 30 fps 1024×576 @ 60 fps 800×600 @ 30 fps 720×480 @ 30 fps 640×480 @ 30 fps 640×360 @ 60 fps 352×288 @ 30 fps 320×240 @ 30 fps 176×144 @ 30 fps10-bit input available for HEVC Main10 encoder |
Tonemap / ISP
| Tonemap Modes | CONTRAST_CURVE, FAST, HIGH_QUALITYCONTRAST_CURVE available — can define custom log curve (65 points max) |
| Max Curve Points | 65Plenty 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 | OFF, FAST, HIGH_QUALITY |
| Lens Shading Correction | OFF, FAST, HIGH_QUALITYOFF available — raw vignetting preserved for manual correction |
| Chromatic Aberration Correction | OFF |
Vendor Tags
| Count | 4 vendor tags foundOEM-specific extensions available |
| com.google (4) | com.google.pixel.experimental2018.faceLandmark.availableIds = [1, 2, 3, 4, 5, 6] com.google.pixel.experimental2020.faceAttribute.availableIds = [0, 1] com.google.hal.logicalcamera.DefaultPhysicalCamId = [8] com.google.internal.hdrplus.PayloadFrames = [1] |
Concurrent Cameras 1 checks
Concurrent Cameras
| Concurrent Camera Sets | 0 (BACK) + 1 (FRONT)Each set can stream simultaneously, but only at the platform's constrained concurrent stream limits (~720p per camera) |
Video Encoders 19 checks
Encoders
| AV1 — c2.google.av1.encoder | Max bitrate: 40 MbpsLow — may show banding in graded log footage |
| AV1 Max Resolution | 3840 × 3840 |
| AV1 Max Macroblocks/Frame | 32,640 MB — largest frame 3840×2176Max width × max height (57,600 MB) exceeds this — those two cannot be combined |
| AV1 Dimension Alignment | width ×1 height ×1Any even size accepted |
| AV1 Bitrate Modes | CBR:No VBR:Yes CQ:NoCQ not available — use VBR with high target bitrate |
| AV1 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) 0x00000036 (vendor-specific / unknown) 0x7f00aaa2 (vendor-specific / unknown) |
| HEVC (H.265) — c2.exynos.hevc.encoder | Max bitrate: 240 MbpsExcellent — high enough for quality log |
| HEVC (H.265) Max Resolution | 7680 × 7680 |
| HEVC (H.265) Max Macroblocks/Frame | 129,600 MB — largest frame 7680×4320Max width × max height (230,400 MB) exceeds this — those two cannot be combined |
| 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) 0x00000036 (vendor-specific / unknown) 0x7f00aaa2 (vendor-specific / unknown) |
| AVC (H.264) — c2.exynos.h264.encoder | Max bitrate: 240 MbpsExcellent — high enough for quality log |
| AVC (H.264) Max Resolution | 7680 × 7680 |
| AVC (H.264) Max Macroblocks/Frame | 129,600 MB — largest frame 7680×4320Max width × max height (230,400 MB) exceeds this — those two cannot be combined |
| 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 3 checks
Native Libs
| Camera HAL (/vendor/lib64/hw/) | mapper.pixel.soCamera-related native libraries found |
| Vendor libs (/vendor/lib64/) | PixelVibratorFlagsL26.so android.hardware.power.stats-impl.pixel.so com.google.hardware.pixel.display-V15-ndk.so com.google.hardware.pixel.display-V21-ndk.so com.google.pixel.modem.logmasklibrary-V1-ndk.so libExynosC2ComponentStore.so libExynosC2H263Dec.so libExynosC2H263Enc.so libExynosC2H264Dec.so libExynosC2H264Enc.so libExynosC2HevcDec.so libExynosC2HevcEnc.so libExynosC2Mpeg4Dec.so libExynosC2Mpeg4Enc.so libExynosC2Vp8Dec.so libExynosC2Vp8Enc.so libExynosC2Vp9Dec.so libExynosC2Vp9Enc.so libExynosHWCService.so libOpenCL-pixel.so libdisppower-pixel.so libexynosdisplay.so libexynosutils.so libexynosv4l2.so libmemtrack-pixel.so libpixelatoms_defs.so libpixelhealth.so libpixelstats.so libpixelstatsflags.so libziparchive.so pixel-power-ext-V1-ndk.so pixel-power-ext-V2-ndk.so pixel_stateresidency_provider_aidl_interface-ndk.so pixelatoms-cpp.so pixelstats_flags_c_lib.so vendor-pixelatoms-cpp.soCamera-related native libraries found |
| Detected Platform | Google Tensor G4 (zumapro)GCam extensions likely available |