本次sample_vnec,接收的数据是由HDMI输入(输入数据为1080p或720p)。
问题一:HI3516A启动后跑sample_venc时,一直提示: get venc stream time out, exit thread.
1. 可能没有数据输入,hdmi需要接入数据.
2. 如果HDMI有数据输入,仍旧报错。在sample目录中,打开Makefile.param,设置Makefiel的环境,因为HDMI输入的数据时,1080p或者720p.
将Makefile.param中的 #SENSOR_TYPE ?= SAMPLE_VI_MODE_BT1120_1080P 或 SENSOR_TYPE ?= SAMPLE_VI_MODE_BT1120_720P。如下图
3. 修改sample_venc中屏蔽掉下面的代码
同时:将stViConfig.enViMode = SENSOR_TYPE 改为stViConfig.enViMode = SAMPLE_VI_MODE_BT1120_1080P;如下图
4. 进入sample中的common目录,打开sample_comm_isp.c 将下面代码屏蔽:
5. 在sample目录下重新make clean, 再make
问题二: 录制出来的图像出现乱码,或者色差
1. 出现乱码: HDMID的输入数据的分辨率跟代码中设置要求的分辨率不一致,比如HDMI输入为1080P,代码中的分辨率为720p.
2. 出现色差;比如整个画面大小正常,而画面为全绿: yuv输入不对应,可能要考虑到板上的HDMI跟开发板上的HDMIyuv接口不对应。
打开sample目录中的从common中,sample_comm_vi.c, 找到对应的HDMI配置设置。比如我的HDMI输入为1920*1080P,
在sample_comm_vi.c中VI_DEV_ATTR_S DEV_ATTR_BT1120_1080P_BASE ={........}括号的r_mask,如下图所示。