多媒体MPP
架构
MPP位于应用与底层VIN/ISP、编码器、显示、音频驱动之间,提供Camera、VENC、VDEC、VO、AI、AO、MUX、DEMUX、G2D等组件。

常用源码:
platform/allwinner/eyesee-mpp/
platform/allwinner/multimedia/
platform/allwinner/tina_multimedia/libcedarc_mpp/
配置与编译
source build/envsetup.sh
lunch
make menuconfig
# enable required MPP libraries and samples
m -j4
quick_config可切换MPP静态库或动态库。切换前执行make distclean,避免旧产物混用。
Sample通用流程
- 在menuconfig启用目标Sample。
- 编译软件包或完整SDK。
- 将可执行文件、配置和测试素材放入固件或TF卡。
- 板端挂载TF卡并运行。
- 使用串口日志、输出码流、显示画面和PC分析工具验证。
智能IPC Sample
sample_smartIPC_demo通常包含:
Camera/VIN -> ISP -> VENC -> file/network
-> VO/display
Audio input -> AENC -> file/network
配置时重点检查Sensor、分辨率、帧率、码率、RC模式、码流保存路径和内存池。
常用测试工具
ffprobe output.h264
ffplay -f h264 output.h264
ffmpeg -i input.mp4 -f null -
音频可使用aplay、arecord或FFmpeg检查采样率、通道和位宽。
定位原则
- 无帧:先查Sensor/VIN/ISP。
- 有原始帧无编码:查VENC输入格式、buffer和内存池。
- 编码正常无显示:查VO、图层、像素格式和分辨率。
- 长时间崩溃:监控内存泄漏、buffer未归还和文件系统写满。