HUAWEI M2-A01W

Android 5.1.1 (API 22)

HUAWEI · HiSilicon hi3635

CameraBench
Codec maxima
AVCverified300 Mbps
AVC verified at 1440×1080 @ 30fps on Rear
Bit depth
sensor unknown → 8-bit encoder
Storage write
309 Mbps (raw)

Cameras

LensFacingFocal lengthSensor sizeMax resModesHW level
Rear #0BACK26mm (2.38mm)3.2 × 2.4 mm1440×108013LEGACY
Front #1FRONT26mm (2.38mm)3.19 × 2.4 mm1280×9608LEGACY

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
AVC4096×230436,8644096 × 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.

Performance: AVC 1440×1080

Sustained frame rate
29.8 fps
average across 60 clips · 99% of the 30fps target
Frames dropped
103 / 18000 total
against a steady 30fps
Peak temperature
29°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.9 fps → 29.8 fps

30 fps

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

0 fps

Encoded per 10s clip 144 Mbps → 137 Mbps

162 Mbps

Clip 1: 144 MbpsClip 2: 156 MbpsClip 3: 158 MbpsClip 4: 158 MbpsClip 5: 160 MbpsClip 6: 161 MbpsClip 7: 159 MbpsClip 8: 158 MbpsClip 9: 157 MbpsClip 10: 151 MbpsClip 11: 156 MbpsClip 12: 156 MbpsClip 13: 161 MbpsClip 14: 155 MbpsClip 15: 157 MbpsClip 16: 155 MbpsClip 17: 152 MbpsClip 18: 151 MbpsClip 19: 153 MbpsClip 20: 156 MbpsClip 21: 151 MbpsClip 22: 147 MbpsClip 23: 150 MbpsClip 24: 151 MbpsClip 25: 159 MbpsClip 26: 159 MbpsClip 27: 158 MbpsClip 28: 160 MbpsClip 29: 155 MbpsClip 30: 162 MbpsClip 31: 151 MbpsClip 32: 155 MbpsClip 33: 155 MbpsClip 34: 159 MbpsClip 35: 156 MbpsClip 36: 140 MbpsClip 37: 147 MbpsClip 38: 158 MbpsClip 39: 155 MbpsClip 40: 147 MbpsClip 41: 154 MbpsClip 42: 148 MbpsClip 43: 160 MbpsClip 44: 148 MbpsClip 45: 157 MbpsClip 46: 159 MbpsClip 47: 155 MbpsClip 48: 149 MbpsClip 49: 154 MbpsClip 50: 156 MbpsClip 51: 147 MbpsClip 52: 158 MbpsClip 53: 160 MbpsClip 54: 160 MbpsClip 55: 159 MbpsClip 56: 150 MbpsClip 57: 139 MbpsClip 58: 142 MbpsClip 59: 142 MbpsClip 60: 137 Mbps

0.0 Mbps

Battery temperature Levels off near 29.2°C after ~3min 47s (exponential fit, never reaches 45°C)

30°C

settles near 29.2°C 10s: 28°C 20s: 28°C 30s: 28°C 40s: 28°C 50s: 28°C 1min: 28°C 1min 10s: 28°C 1min 20s: 28°C 1min 30s: 28°C 1min 40s: 28°C 1min 50s: 28°C 2min: 28°C 2min 10s: 28°C 2min 20s: 28°C 2min 30s: 28°C 2min 40s: 28°C 2min 50s: 28°C 3min: 28°C 3min 10s: 29°C 3min 20s: 29°C 3min 30s: 29°C 3min 40s: 29°C 3min 50s: 29°C 4min: 29°C 4min 10s: 29°C 4min 20s: 29°C 4min 30s: 29°C 4min 40s: 29°C 4min 50s: 29°C 5min: 29°C 5min 10s: 29°C 5min 20s: 29°C 5min 30s: 29°C 5min 40s: 29°C 5min 50s: 29°C 6min: 29°C 6min 10s: 29°C 6min 20s: 29°C 6min 30s: 29°C 6min 40s: 29°C 6min 50s: 29°C 7min: 29°C 7min 10s: 29°C 7min 20s: 29°C 7min 30s: 29°C 7min 40s: 29°C 7min 50s: 29°C 8min: 29°C 8min 10s: 29°C 8min 20s: 29°C 8min 30s: 29°C 8min 40s: 29°C 8min 50s: 29°C 9min: 29°C 9min 10s: 29°C 9min 20s: 29°C 9min 30s: 29°C 9min 40s: 29°C 9min 50s: 29°C 10min: 29°C

27°C

010min recorded10min

clip 110min 1sclip 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

48 checks — 1 supported · 7 partial · 23 unsupported · 17 informational

Camera 0 (BACK) — Rear 19 checks

Hardware

Hardware LevelLEGACYMinimal capabilities for log recording

Capabilities

Manual Sensor ControlNoRequired for manual ISO/exposure in log shooting
RAW CaptureNoEnables access to raw Bayer sensor data
Burst CaptureNoSustained high-framerate capture
Read Sensor SettingsNoPer-frame sensor metadata readback
Dynamic Range ProfilesNoNot available — may need API 33+ or device support

Sensor

Physical Size3,20 × 2,40 mm (diag 4,00 mm)Larger sensor = more light = better DR for log
Pixel Array4160 × 3120 (13,0 MP)

RAW Formats

RAW_SENSORNot supported
RAW10Not supported
RAW12Not supported
RAW_PRIVATENot supported

Streams

Max Simultaneous OutputsRAW:0 Processed:3 Stalling:1May not support simultaneous RAW + video
YUV_420_888 Modes1440×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 ProfilesRequires 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 ReductionFASTCannot disable — NR will affect log footage
Chromatic Aberration CorrectionFAST

Vendor Tags

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

Hardware

Hardware LevelLEGACYMinimal capabilities for log recording

Capabilities

Manual Sensor ControlNoRequired for manual ISO/exposure in log shooting
RAW CaptureNoEnables access to raw Bayer sensor data
Burst CaptureNoSustained high-framerate capture
Read Sensor SettingsNoPer-frame sensor metadata readback
Dynamic Range ProfilesNoNot available — may need API 33+ or device support

Sensor

Physical Size3,19 × 2,40 mm (diag 3,99 mm)Larger sensor = more light = better DR for log
Pixel Array2624 × 1968 (5,2 MP)

RAW Formats

RAW_SENSORNot supported
RAW10Not supported
RAW12Not supported
RAW_PRIVATENot supported

Streams

Max Simultaneous OutputsRAW:0 Processed:3 Stalling:1May not support simultaneous RAW + video
YUV_420_888 Modes1280×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 ProfilesRequires 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 ReductionFASTCannot disable — NR will affect log footage
Chromatic Aberration CorrectionFAST

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 22
Startup Ramp 2 checks

Startup Ramp

First Frame Latency51 msCamera start → first encoded frame, at 1440×1080 AVC — the dead time between pressing record and the first frame of video existing. 3 runs: 56 / 50 / 51 ms
Frames Dropped at Startup0 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.EncoderMax bitrate: 300 MbpsExcellent — high enough for quality log
AVC (H.264) Max Resolution4096 × 4096
AVC (H.264) Max Macroblocks/Frame36.864 MB — largest frame 4096×2304Max 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:No VBR:Yes CQ:NoCQ not available — use VBR with high target bitrate
AVC (H.264) Color Formats0x7f420888 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 PlatformHiSilicon hi3635Huawei/HiSilicon camera HAL