开发板
开发板长这个样子:
串口调试接口如下:
整体支持情况
- 驱动&firmware&API
- jh7110/soft_3rdpart/wave511 : H.264&H.265 Decoder (Chips&Media 芯媒)
- jh7110/soft_3rdpart/wave521 : H.264&H.265 Encoder (Chips&Media 芯媒)
- jh7110/soft_3rdpart/wave420l : H.265 Codec (Chips&Media 芯媒)
- jh7110/soft_3rdpart/codaj12 : JPEG/MJPEG Codec (Chips&Media 芯媒)
- OMX
- jh7110/soft_3rdpart/omx-il,编译生成libsf-omx-il.so
- Gstreamer
- jh7110/buildroot/package/gstreamer
- 通过gst-omx对接到omx-il, gxt-omx的补丁在jh7110/buildroot/package/starfive/sf-gst-omx
- FFmpeg
- jh7110/buildroot/package/ffmpeg
- 通过avcodec的omx对接到omx-il
通过查看源码,确认SDK中已经提供了多媒体的完整通路,待验证,其中,gstreamer和ffmpeg都是通过omx-il适配层对接的VPU的API
驱动代码框架分析
wave511
代码结构
fuqiang@snode1:~/workspace/jh7110/jh7110/soft_3rdpart/wave511$ tree -L 2
.
├── code //驱动源码,应用层动态库源码,编译脚本等
│ ├── build_env.sh //编译环境设置,执行 . build_env.h
│ ├── build_ffmpeg.sh //编译ffmpeg脚本
│ ├── build_for_vdec.sh //一键编译脚本
│ ├── build_lib.sh
│ ├── cfg
│ ├── cmd
│ ├── common.sh
│ ├── config.h
│ ├── ffmpeg
│ ├── sample_v2
│ ├── script
│ ├── set_env.sh
│ ├── stream
│ ├── TestMultiInstance.sh
│ ├── TestRunnerParamWave511Dec.txt
│ ├── TestRunnerParamWave521CEnc.txt
│ ├── TestRunnerWa