Verify Sample说明
1. 概述¶
文档主要描述release的SDK的测试demo,主要是单模块或者多模块简单测试,用于指导用户对单模块封装API参考。
2. RELEASE SAMPLE说明¶
2.1. gfx¶
gfx是一个比较单纯的模块,它需要使用到物理内存,所以会引入mi_sys
模块,具体操作包括了quickfill
、bitblit
、blending
等参考。
代码位置:
/sdk/verify/feature/gfx
编译方法:
vi /project/release/customer_tailor/nvr_i2m_display_glibc_tailor.mk
在尾部加入verify_gfx:=enable
然后cd /sdk/verify/feature
; make gfx
即可
用户也可以自行编码makefile来编译sample code(推荐)
注意:demo中生成的文件格式以及生成的路径需要用户阅读代码获取,也可以自行定义相关内容。
2.2. disp+panel¶
代码主要实现了将disp和panel输出显示打通,从disp获取一张input buffer,填充YUV数据后推进disp模块,这样panel就可以看到显示传入的相关YUV文件了。
代码位置:
/sdk/verify/feature/disp
编译方法:
vi /project/release/customer_tailor/nvr_i2m_display_glibc_tailor.mk
在尾部加入verify_disp:=enable
修改/sdk/verify/feature/disp/config.mk,SRCS:= disp_ut.c panel_ut.c init_panel_driveric.c
然后cd /sdk/verify/feature
; make disp
即可,生成bin文件:prog
运行:
./prog -f YUV420SP_352_288.yuv -w 352 -h 288 -o ttl
-f YUV文件参数,文件格式为semiplaner420
-w 在panel上显示的宽
-h 在panel上显示的高
-o ttl/mipi(panel类型,Demo版本自带是800*480 TTL)
2.3. ai/ao¶
代码主要提供ai/ao
的样片代码,包含了capture
、play
、vqe
、aec
、nr
等音频相关功能使用
代码位置:
/sdk/verify/mi_demo/geonosis/audio_all_test_case
编译方法:
cd /sdk/verify/mi_demo/geonosis make audio_all_test_case
音频接插以及运行方法参考:Demo板音频使用说明。
2.4. vdec¶
代码主要实现了将vdec
和disp
串接起来,然后给vdec
送es
流,解码和disp
绑定后,disp
会最终显示es
流的画面。
代码位置:
/sdk/verify/feature/disp
编译方法:
vi /project/release/customer_tailor/nvr_i2m_display_glibc_tailor.mk
在尾部加入verify_disp:=enable
修改/sdk/verify/feature/disp/config.mk,SRCS:= (disp_ut.c) vdec_ut.c init_panel_driveric.c
另外USE_CASE:=disp也要做对应的修改,使用vdec_ut.c则改成USE_CASE:=vdec_disp
然后在cd /sdk/verify/feature;make disp即可,生成bin文件:prog
运行:
./prog -f 720P265.h264 -w 640 -h 360
-f H264es流,文件有加一个header,用于读nalu,在application的下载目录有一个es流
-w 在panel上显示的宽(并不是指视频流的宽高,视频流宽高需要在代码写)
-h 在panel上显示的高
2.5. application¶
application对应的demo位于sdk\verify\application
下面,如果需要做到开机运行,需要按如下流程执行:
-
修改/project/release/customer_tailor/nvr_i2m_display_glibc_tailor.mk,尾部添加verify_bootanimation:=enable
-
cd /project
-
/setup_config.sh configs/nvr/i2m/8.2.1/nor.glibc-squashfs.011a.64
-
make clean;make image //这样会去application目录取相关资源,然后打包进images
-
这时候编译会自动进行将application相关的内容拷贝至image并打包成烧录image
2.6. Mi_demo¶
Mi_demo对应的demo位于sdk\verify\mi_demo\geonosis
下面,编译方法如下(以编译audio_all_test_case
为例):
-
将
audio_all_test_case
添加到sdk\verify\mi_demo\geonosis\Makefile
中: -
进入到
sdk/verify/mi_demo
目录,make clean;make 即可。 -
生成的demo在
sdk/verify/mi_demo/out/demo/app下面:prog_audio_all_test_case