RK3576 VPU and NPU Hardware Acceleration Benchmark
Benchmark results for MPP hardware-accelerated YUV420 to MJPG/H264/H265 encoding, MJPG to YUV420 decoding, and RKNN acceleration of YOLOv8n, YOLOv8s, and YOLOv8m inference on the reComputer RK3576.
RK3576 Benchmark Test Project Description
This project is used to quantitatively test the following three core capabilities on the RK3576 platform:
MPPvideo encoding capabilityMPPvideo decoding capabilityRKNNinference capability
It is intended for users of the reComputer RK3576 for:
- Chip capability assessment
- Security project selection
- Horizontal comparison of models and resolutions
- Regression testing during version iteration
- Customer reporting and technical delivery
Test contents:
- Encoding test:
YUV420 -> MJPG / H264 / H265 - Decoding test:
MJPG -> YUV420 - Inference test:
640x640input withyolov8n / yolov8s / yolov8m - Resolution coverage:
720p / 1080p / 2k / 4k / 8k
RK3576 Benchmark Summary
- generated_at: 2026-07-28 16:34:52
- target_fps: 30
- codec_frames: warmup 20 + measured 120
- infer_frames: warmup 20 + measured 200
Video Encode Benchmark (YUV420 -> MJPG / H264 / H265)
| Resolution | Size | Codec | Bitrate(Mbps) | Encode FPS | Encode Avg(ms) | Encode P95(ms) | Encoded Size(MB) | Status |
|---|---|---|---|---|---|---|---|---|
| 720p | 1280x720 | mjpg | 20.0 | 480.7 | 1.1 | 1.2 | 13.9 | OK |
| 720p | 1280x720 | h264 | 4.0 | 154.7 | 4.4 | 4.8 | 1.7 | OK |
| 720p | 1280x720 | h265 | 4.0 | 179.2 | 4.2 | 4.4 | 1.1 | OK |
| 1080p | 1920x1080 | mjpg | 30.0 | 237.6 | 2.1 | 2.8 | 31.3 | OK |
| 1080p | 1920x1080 | h264 | 8.0 | 90.7 | 7.9 | 8.1 | 3.6 | OK |
| 1080p | 1920x1080 | h265 | 8.0 | 88.8 | 8.2 | 8.3 | 2.5 | OK |
| 2k | 2560x1440 | mjpg | 45.0 | 159.5 | 2.9 | 3.2 | 55.4 | OK |
| 2k | 2560x1440 | h264 | 16.0 | 43.4 | 13.6 | 14.1 | 6.3 | OK |
| 2k | 2560x1440 | h265 | 16.0 | 38.6 | 14.5 | 15.0 | 4.4 | OK |
| 4k | 3840x2160 | mjpg | 60.0 | 77.7 | 5.8 | 6.0 | 124.5 | OK |
| 4k | 3840x2160 | h264 | 32.0 | 24.5 | 28.7 | 29.5 | 14.1 | OK |
| 4k | 3840x2160 | h265 | 32.0 | 21.7 | 31.2 | 32.2 | 9.3 | OK |
| 8k | 7680x4320 | mjpg | 90.0 | 20.5 | 25.1 | 29.7 | 497.7 | OK |
| 8k | 7680x4320 | h264 | 64.0 | 7.1 | 109.0 | 109.8 | 28.8 | OK |
| 8k | 7680x4320 | h265 | 64.0 | 6.6 | 117.6 | 118.1 | 27.8 | OK |
Video Decode Benchmark (MJPG -> YUV420)
| Resolution | Size | Decode Frames | Decode FPS | Decode Avg(ms) | Decode P95(ms) | Status |
|---|---|---|---|---|---|---|
| 720p | 1280x720 | 120/120 | 380.4 | 2.6 | 2.9 | OK |
| 1080p | 1920x1080 | 120/120 | 268.6 | 3.7 | 4.0 | OK |
| 2k | 2560x1440 | 120/120 | 191.0 | 5.2 | 5.5 | OK |
| 4k | 3840x2160 | 120/120 | 108.6 | 9.2 | 9.7 | OK |
| 8k | 7680x4320 | 120/120 | 32.8 | 30.5 | 31.5 | OK |
YOLOv8 640x640 Inference Benchmark
| Model | Path | Infer FPS | Infer Avg(ms) | Infer P95(ms) | Preprocess Avg(ms) | NPU Avg(ms) | Status |
|---|---|---|---|---|---|---|---|
| yolov8n | model/yolov8n_rk3576.rknn | 35.5 | 27.3 | 32.7 | 1.4 | 16.9 | OK |
| yolov8s | model/yolov8s_rk3576.rknn | 17.0 | 58.2 | 63.8 | 1.2 | 35.2 | OK |
| yolov8m | model/yolov8m_rk3576.rknn | 9.5 | 104.2 | 109.6 | 1.2 | 83.4 | OK |
Notices
- Video encode benchmark uses internally generated YUV420SP frames.
- Video decode benchmark uses internally generated MJPG elementary streams and measures MJPG -> YUV420 output.
- Inference benchmark uses 640x640 synthetic NV12 frames and measures full Infer call latency.
1. How to Run the Benchmark Project
It needs to be run on the reComputer RK3576 board.
Run the benchmark
sudo apt update && sudo apt install unzip -y
wget https://files.seeedstudio.com/RK3576/install.zip -O install.zip && unzip install.zip
cd ./install && export LD_LIBRARY_PATH="$(pwd)/lib:${LD_LIBRARY_PATH}" && chmod +x ./bin/rk3576_benchmark
sudo ./bin/rk3576_benchmarkBenchmark results
After the program finishes running, the results are located at:
ls benchmark_results/
benchmark_summary.md video_codec_benchmark.csv yolov8_inference_benchmark.csvCommon parameters
./bin/rk3576_benchmark \
--output-dir ./benchmark_results \
--resolutions 720p,1080p,2k,4k,8k \
--models yolov8n,yolov8s,yolov8m \
--codec-warmup 20 \
--codec-frames 120 \
--infer-warmup 20 \
--infer-frames 2002. Project Capabilities
The current benchmark project has the following capabilities:
- Automatically generate test frames without relying on external sample streams
- Automatically execute multi-resolution video encoding benchmarks
- Automatically execute multi-resolution MJPG hardware decoding benchmarks
- Automatically execute 640x640 YOLOv8 inference benchmarks
- Automatically output a Markdown summary report
- Automatically output CSV raw data for import into Excel or LibreOffice
- Support repeated tests and horizontal comparisons under the same test criteria
The output files by default include:
benchmark_summary.mdvideo_codec_benchmark.csvyolov8_inference_benchmark.csv
3. Test Process
The overall workflow is as follows:
- Generate
YUV420SP(NV12)test frames at the specified resolution - Call
MPP Encoderto runMJPG / H264 / H265encoding tests separately - Retain the
MJPGbitstream and callMPP Decoderto run theMJPG -> YUV420decoding test - Generate
640x640 NV12test frames and callRKNNto runYOLOv8n/s/minference tests - Aggregate metrics such as FPS, average latency, P95 latency, and output bitstream size
- Generate Markdown and CSV reports
The characteristics of this workflow are:
- Stable data sources, unaffected by external stream quality fluctuations
- Uniform test input conditions for each run, suitable for version regression testing
- More suitable for evaluating the “core engineering capability” than a specific video asset
4. Technical Approach
4.1 Encoding Solution
The encoding part is implemented based on Rockchip MPP. The input is internally generated YUV420SP(NV12) frames, and the following are tested separately:
MJPGH264H265
The focus is to evaluate the video compression throughput capability of RK3576 at different resolutions, which is suitable for the following security scenarios:
- IPC front-end encoding
- NVR edge recording and transcoding
- Multi-stream distribution
- Snapshot stream / sub-stream output
4.2 Decoding Solution
The decoding part is based on Rockchip MPP Decoder, and the current test metric is fixed as:
MJPG elementary stream -> YUV420
Notes:
- The decoding path uses
MPP'sMJPEGdecode path rather than software decoding - The current README emphasizes the “hardware decode core capability” in the decoding results
- The definition of
Decode FPShas been adjusted to be based on the accumulated core decoding latency rather than mixing in the wall-clock overhead of the test framework itself
This type of test is more suitable for the following security scenarios:
- JPEG / MJPEG camera access
- Snapshot stream decoding
- Front-end multi-channel snapshot analysis
- Edge gateway image unpacking and post-processing
4.3 Inference Solution
The inference part uses RKNN + YOLOv8, with a fixed input of 640x640. The current default test models are:
yolov8n_rk3576.rknnyolov8s_rk3576.rknnyolov8m_rk3576.rknn
The statistical metrics include:
- Overall inference FPS
- Average latency
- P95 latency
- Average preprocessing latency
- Average NPU latency
This type of test is more suitable for the following security scenarios:
- Perimeter detection
- Human/vehicle unstructured analysis
- Single-channel real-time alerting
- Lightweight NVR intelligent analysis
5. Explanation of Result Metrics
5.1 Encoding Results
The encoding results are used to evaluate:
- Encoding throughput at different resolutions
- Relative efficiency of different encoding formats
- Balance between output bitstream size and real-time performance
5.2 Decoding Results
The decoding results currently retain only the “hardware decode core FPS” metric.
In other words:
Decode Avg(ms)represents the average single-frame core decoding latencyDecode FPSrepresents the throughput derived from the core decoding latency- It does not include additional scheduling, logging, or debug reporting overhead from the test framework
5.3 Inference Results
The inference results are used to evaluate:
- Throughput differences caused by model size changes
- The achievable capability of single-channel real-time analysis
- Whether the solution is better suited to “high-frame-rate real-time detection” or “low-frame-rate high-accuracy analysis”
6. Objective Assessment Based on Current Test Results
The following assessment is based on the latest benchmark results already saved in install/benchmark_summary.md.
6.1 Video Codec Capability Assessment
Based on the current test results, the video-side capability of RK3576 is fairly complete, especially in MJPG encoding/decoding and H264/H265 encoding, where it performs stably.
1. MJPG Encoding Capability
The YUV420 -> MJPG encoding results are as follows:
720p:480.7 FPS1080p:237.6 FPS2k:159.5 FPS4k:77.7 FPS8k:20.5 FPS
This result indicates that:
- At
720p / 1080p / 2k, MJPG encoding has a very large throughput margin - At
4k, it still clearly exceeds real-time frame rate and is suitable for high-resolution snapshot capture, fast image-stream encoding, and forensics scenarios - At
8k, although it can still run, throughput drops to about20 FPS, making it more suitable for capability demonstration or specific project validation
2. H264 / H265 Encoding Capability
The YUV420 -> H264 encoding results are as follows:
720p:154.7 FPS1080p:90.7 FPS2k:43.4 FPS4k:24.5 FPS8k:7.1 FPS
The YUV420 -> H265 encoding results are as follows:
720p:179.2 FPS1080p:88.8 FPS2k:38.6 FPS4k:21.7 FPS8k:6.6 FPS
Based on the above data, a fairly clear conclusion can be drawn:
- At
720p / 1080p / 2k, bothH264andH265have good real-time encoding capability - At
4k,H264is close to25 FPSandH265is around21 FPS, which is close to the engineering limit for high-resolution real-time encoding - At
8k, neitherH264norH265is suitable as a regular real-time main-stream encoding solution
3. MJPG Hardware Decoding Capability
The hardware decode core results for MJPG -> YUV420 are as follows:
720p:380.4 FPS, average2.6 ms1080p:268.6 FPS, average3.7 ms2k:191.0 FPS, average5.2 ms4k:108.6 FPS, average9.2 ms8k:32.8 FPS, average30.5 ms
In addition, all resolutions completed the 120/120 measured frames.
This indicates that:
- RK3576's
MJPGhardware decode path is stable across the range from720pto8k - At
1080p / 2k / 4k, decode throughput is significantly higher than real-time requirements, making it suitable for a variety of JPEG / MJPEG image-front-end scenarios - At
8k, it still reaches32.8 FPS, showing that the chip still has near-real-time processing capability in the MJPG hardware-decoding direction
This is especially valuable for security scenarios, because it means RK3576 is not only capable of handling traditional video streams, but is also suitable for:
- MJPEG camera access
- Snapshot stream decoding
- Pre-processing of image streams
- Front-end snapshot analysis
7.2 Inference Capability Assessment
The YOLOv8 inference results for 640x640 input are as follows:
yolov8n:35.5 FPS, average27.3 msyolov8s:17.0 FPS, average58.2 msyolov8m:9.5 FPS, average104.2 ms
These data reflect that RK3576 is better suited to a “lightweight-model-first” deployment approach on the AI side for security applications.
1. yolov8n
yolov8n reached 35.5 FPS in the current test, which already covers common single-channel real-time analysis requirements of 25/30 FPS.
This means:
- Suitable for single-channel real-time human/vehicle detection
- Suitable for perimeter protection, intrusion detection, and basic object recognition
- Better suited as the default deployment model for edge devices
2. yolov8s
yolov8s reaches 17.0 FPS, which is in the range of “real-time capable, but with limited margin.”
It is better suited for:
- Scenarios where detection accuracy is more important than
yolov8n - Real-time services that use frame sampling or frame skipping
- Single-channel intelligent analysis with medium complexity
3. yolov8m
yolov8m reaches 9.5 FPS, which is closer to low-frame-rate intelligent analysis capability.
It is better suited for:
- Event-triggered analysis
- Low-frame-rate inspection analysis
- Offline review or non-continuous inference
If the goal is “single-channel full-frame-rate real-time detection,” yolov8m is not the most suitable default option.
7. Recommended Deployment Strategy
If the target is a real security project, the following strategy is recommended:
- Prefer
yolov8nas the default model - Use
1080p / 2kas the primary working resolution for edge real-time analysis - Use
4kas a high-quality video input source, with scaling or frame sampling on the AI side - Use
8kmainly to demonstrate chip capability or validate specific high-end scenarios; it is not recommended as a regular real-time AI baseline