海思3516CV610 卷绕 研究
文档中关于卷绕的信息:
8.1 VI 卷绕
8.2 VPSS 卷绕
【现象1】大码流开卷绕,同时开小码流编码,运行一段时间后会出现小码流通道VB队
列占满(VB占用多)和VPSS送帧时因为队列满丢帧等问题,无法消除。
【分析1】其他通道开了重编,但是有卷绕通道的情况下开重编的通道得不到连续两次
调度,导致无法及时处理。
【解决1】VEDU通道存在VPSS-VENC处于卷绕低延时,则其他通道都不开重编,否则
会出现VB队列占满(VB占用多)和VPSS送帧时因为队列满丢帧等问题。
【现象2】VPSS全在线情况下,与vedu大码流通路开卷绕,同时开多路小码流编码,
总体性能需求在芯片规格范围内,但是大码流通路一直报miss start丢帧。
【分析2】小码流编码在消隐区完成,消隐区时间短小码流不能完成编码,导致大码流
处理不及时丢帧。
【解决2】需要前级时序保证合理,消隐区时间内能完成小码流编码。
【现象3】VPSS全在线情况下,开卷绕,业务压力大的情况下,VENC log报miss
start、ring back、ring buf full中断丢帧。nolog版本可以查看VENC proc信息中的
venc wrap info小节,miss start、ring back、ring buf full字段对应的计数值会增加。
【分析3】卷绕buf较小导致后级无法跟上前级模块。
【解决3】根据实际情况合理增大VPSS卷绕buf line及buf size。
【现象4】离线通路帧率较高,VPSS-VENC从非卷绕切换到卷绕时,出现编码报
time_ref err。
【分析4】非卷绕时VPSS在完成帧时送给VENC,卷绕时VPSS在硬件启动前就发送帧给
VENC。因此非卷绕切换为卷绕时,可能前一个非卷绕帧还未做完,此时编码已收到新
帧,后续才收到上一非卷绕帧,导致time_ref错误,编码丢掉最后一个非卷绕帧。
Hi3516CV610如果开启通道0卷绕,则通道0不支持同时绑定多路JPEG/MJPEG或
多路H.264/H.265/SVAC3,可同时绑定一路JPEG/MJPEG+一路H.264/H.265/
SVAC3。此时VPSS其他通道建议最多只绑定1路H.264/H.265/SVAC3小尺寸编码
(能否支持这路小码流编码与sensor时序、小码流分辨率、CPU响应是否及时等
因素有关);建议使用通道1进行小码流编码,同时打开低延时功能,能够更加充
分地利用编码的性能。
当VI-VPSS处于OT_VI_OFFLINE_VPSS_OFFLINE/OT_VI_OFFLINE_VPSS_ONLINE
模式时,如果开启通道0卷绕,且开启通道1低延时功能时,通道1低延时行号需要
设置为大于通道0卷绕行号。
任意Group的通道0在第一次开启卷绕时,会从公共VB池拿取合适的卷绕VB,此
后长期持有,直到所有Group都关闭卷绕时释放。该卷绕VB,所有开启卷绕的
Group复用。
VPSS-VENC处于卷绕低延时或单帧低延时模式时,不支持码率控制重编功能,请
客户设置最大重编次数为0,否则会导致通道频繁丢帧。Hi3519DV500支持单帧
非卷绕低延时和卷绕低延时(卷绕低延时包含FMU直通和FMU卷绕两种模式)。
Hi3516CV610/Hi3516CV608支持单帧非卷绕低延时和卷绕低延时(DDR卷
绕)。