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
314 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
100 / 18000 total
against a steady 30fps
Peak temperature
30°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.8 fpsClip 4: 29.9 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.8 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.8 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.9 fpsClip 59: 29.8 fpsClip 60: 29.8 fps

0 fps

Encoded per 10s clip 130 Mbps → 144 Mbps

181 Mbps

Clip 1: 130 MbpsClip 2: 125 MbpsClip 3: 129 MbpsClip 4: 136 MbpsClip 5: 132 MbpsClip 6: 136 MbpsClip 7: 145 MbpsClip 8: 143 MbpsClip 9: 131 MbpsClip 10: 125 MbpsClip 11: 146 MbpsClip 12: 130 MbpsClip 13: 134 MbpsClip 14: 135 MbpsClip 15: 137 MbpsClip 16: 152 MbpsClip 17: 137 MbpsClip 18: 143 MbpsClip 19: 143 MbpsClip 20: 138 MbpsClip 21: 132 MbpsClip 22: 146 MbpsClip 23: 158 MbpsClip 24: 155 MbpsClip 25: 164 MbpsClip 26: 166 MbpsClip 27: 162 MbpsClip 28: 178 MbpsClip 29: 163 MbpsClip 30: 170 MbpsClip 31: 169 MbpsClip 32: 160 MbpsClip 33: 161 MbpsClip 34: 153 MbpsClip 35: 160 MbpsClip 36: 169 MbpsClip 37: 175 MbpsClip 38: 161 MbpsClip 39: 171 MbpsClip 40: 174 MbpsClip 41: 162 MbpsClip 42: 154 MbpsClip 43: 173 MbpsClip 44: 162 MbpsClip 45: 176 MbpsClip 46: 173 MbpsClip 47: 165 MbpsClip 48: 167 MbpsClip 49: 167 MbpsClip 50: 178 MbpsClip 51: 166 MbpsClip 52: 160 MbpsClip 53: 144 MbpsClip 54: 169 MbpsClip 55: 181 MbpsClip 56: 169 MbpsClip 57: 179 MbpsClip 58: 161 MbpsClip 59: 168 MbpsClip 60: 144 Mbps

0.0 Mbps

Battery temperature Estimates: 45°C in ~93min 56s · 60°C in ~178min 49s (linear fit)

45°C

10s: 28°C 20s: 28°C 30s: 28°C 40s: 28°C 50s: 29°C 1min: 29°C 1min 10s: 29°C 1min 20s: 29°C 1min 30s: 29°C 1min 40s: 29°C 1min 50s: 29°C 2min: 29°C 2min 10s: 29°C 2min 20s: 29°C 2min 30s: 29°C 2min 40s: 29°C 2min 50s: 29°C 3min: 29°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: 30°C 6min 40s: 30°C 6min 50s: 30°C 7min: 30°C 7min 10s: 30°C 7min 20s: 30°C 7min 30s: 30°C 7min 40s: 30°C 7min 50s: 30°C 8min: 30°C 8min 10s: 30°C 8min 20s: 30°C 8min 30s: 30°C 8min 40s: 30°C 8min 50s: 30°C 9min: 30°C 9min 10s: 30°C 9min 20s: 30°C 9min 30s: 30°C 9min 40s: 30°C 9min 50s: 30°C 10min: 30°C 45°C in ~93min 56s

27°C

010min recorded93min 56s

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

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 Latency55 msCamera start → first encoded frame, at 1440×1080 AVC — the dead time between pressing record and the first frame of video existing. 3 runs: 51 / 55 / 56 ms
Frames Dropped at Startup1 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 / 1 / 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