HUAWEI M2-A01W
Android 5.1.1 (API 22)
HUAWEI · HiSilicon hi3635
Cameras
| Lens | Facing | Focal length | Sensor size | Max res | Modes | HW level |
|---|---|---|---|---|---|---|
| Rear #0 | BACK | 26mm (2.38mm) | 3.2 × 2.4 mm | 1440×1080 | 13 | LEGACY |
| Front #1 | FRONT | 26mm (2.38mm) | 3.19 × 2.4 mm | 1280×960 | 8 | LEGACY |
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 | 4096×2304 | 36,864 |
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
48 checks — 1 supported · 7 partial · 23 unsupported · 17 informational
Camera 0 (BACK) — Rear 19 checks
Hardware
| Hardware Level | LEGACYMinimal capabilities for log recording |
Capabilities
| Manual Sensor Control | NoRequired for manual ISO/exposure in log shooting |
| RAW Capture | NoEnables access to raw Bayer sensor data |
| Burst Capture | NoSustained high-framerate capture |
| Read Sensor Settings | NoPer-frame sensor metadata readback |
| Dynamic Range Profiles | NoNot available — may need API 33+ or device support |
Sensor
| Physical Size | 3,20 × 2,40 mm (diag 4,00 mm)Larger sensor = more light = better DR for log |
| Pixel Array | 4160 × 3120 (13,0 MP) |
RAW Formats
| RAW_SENSOR | Not supported |
| RAW10 | Not supported |
| RAW12 | Not supported |
| RAW_PRIVATE | Not supported |
Streams
| Max Simultaneous Outputs | RAW:0 Processed:3 Stalling:1May not support simultaneous RAW + video |
| YUV_420_888 Modes | 1440×1080 @ 0 fps 1280×960 @ 0 fps 1280×720 @ 0 fps 960×720 @ 0 fps 720×960 @ 0 fps … and 9 more |
HDR / 10-Bit
| Dynamic Range Profiles | Requires API 33+ (Android 13)Device is on API 22 |
| 10-Bit YUV (P010) | Not supportedEncoder may only receive 8-bit data even if Main10 is available |
Tonemap / ISP
| Noise Reduction | FASTCannot disable — NR will affect log footage |
| Chromatic Aberration Correction | FAST |
Vendor Tags
| Vendor-Specific Keys | None foundNo OEM-specific camera extensions detected |
Camera 1 (FRONT) — Front 19 checks
Hardware
| Hardware Level | LEGACYMinimal capabilities for log recording |
Capabilities
| Manual Sensor Control | NoRequired for manual ISO/exposure in log shooting |
| RAW Capture | NoEnables access to raw Bayer sensor data |
| Burst Capture | NoSustained high-framerate capture |
| Read Sensor Settings | NoPer-frame sensor metadata readback |
| Dynamic Range Profiles | NoNot available — may need API 33+ or device support |
Sensor
| Physical Size | 3,19 × 2,40 mm (diag 3,99 mm)Larger sensor = more light = better DR for log |
| Pixel Array | 2624 × 1968 (5,2 MP) |
RAW Formats
| RAW_SENSOR | Not supported |
| RAW10 | Not supported |
| RAW12 | Not supported |
| RAW_PRIVATE | Not supported |
Streams
| Max Simultaneous Outputs | RAW:0 Processed:3 Stalling:1May not support simultaneous RAW + video |
| YUV_420_888 Modes | 1280×960 @ 0 fps 1280×720 @ 0 fps 960×720 @ 0 fps 960×544 @ 0 fps 688×688 @ 0 fps … and 4 more |
HDR / 10-Bit
| Dynamic Range Profiles | Requires API 33+ (Android 13)Device is on API 22 |
| 10-Bit YUV (P010) | Not supportedEncoder may only receive 8-bit data even if Main10 is available |
Tonemap / ISP
| Noise Reduction | FASTCannot disable — NR will affect log footage |
| Chromatic Aberration Correction | FAST |
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 22 |
Startup Ramp 2 checks
Startup Ramp
| First Frame Latency | 42 msCamera start → first encoded frame, at 1440×1080 AVC — the dead time between pressing record and the first frame of video existing. 3 runs: 36 / 42 / 57 ms |
| Frames Dropped at Startup | 0 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: 1 / 0 / 0 |
Video Encoders 6 checks
Encoders
| AVC (H.264) — OMX.IMG.TOPAZ.VIDEO.Encoder | Max bitrate: 300 MbpsExcellent — high enough for quality log |
| AVC (H.264) Max Resolution | 4096 × 4096 |
| AVC (H.264) Max Macroblocks/Frame | 36.864 MB — largest frame 4096×2304Max width × max height (65.536 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:No VBR:Yes CQ:NoCQ not available — use VBR with high target bitrate |
| AVC (H.264) Color Formats | 0x7f420888 YUV420Flexible (COLOR_FormatYUV420Flexible — framework maps to NV12) 0x00000014 YUV420PackedPlanar 0x00000015 YUV420SemiPlanar (NV12) 0x7f000001 Surface (opaque gralloc handle) 0x00000013 YUV420Planar (I420) 0x7f000005 (vendor-specific / unknown) 0x00000027 (vendor-specific / unknown) 0x7f000002 (vendor-specific / unknown) 0x7f000006 (vendor-specific / unknown) 0x00000017 YUV422Planar 0x00000018 (vendor-specific / unknown) 0x7f000011 (vendor-specific / unknown) 0x00000016 YUV420PackedSemiPlanar (NV21) 0x7f000007 (vendor-specific / unknown) 0x7f000008 (vendor-specific / unknown) 0x00000019 YUV422SemiPlanar 0x0000001a (vendor-specific / unknown) 0x0000001b (vendor-specific / unknown) 0x0000001c (vendor-specific / unknown) 0x7f000003 (vendor-specific / unknown) 0x7f000009 (vendor-specific / unknown) 0x7f00000c (vendor-specific / unknown) 0x7f000012 (vendor-specific / unknown) 0x7f00000a (vendor-specific / unknown) 0x7f00000b (vendor-specific / unknown) 0x7f000789 AndroidOpaque (opaque buffer — OMX_COLOR_FormatAndroidOpaque) 0x7f420888 YUV420Flexible (COLOR_FormatYUV420Flexible — framework maps to NV12) 0x7f00000d (vendor-specific / unknown) 0x7f00000e (vendor-specific / unknown) 0x7f00000f (vendor-specific / unknown) 0x7f000010 (vendor-specific / unknown) 0x00000006 (vendor-specific / unknown) |
Native Camera Libraries 1 checks
Native Libs
| Detected Platform | HiSilicon hi3635Huawei/HiSilicon camera HAL |