本次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,如下圖所示。