VDEC模块调试

Version 1.2


1. cat

  • 调试信息

    # cat /proc/mi_modules/mi_vdec/mi_vdec0
    

  • 调试信息分析

    打印分为两部分,使用Private Vdec0 Info分隔开。上半部分为common信息,下半部分为vdec模块信息。

    主要记录了解码通道的使用情况及配置属性,可用于检查属性配置和当前通道的工作状态,便于debug。

  • 参数说明

参数 描述
CHN ATTR Info ChnID 通道号。
CodecType 解码协议类型
0:H264;
1:H265;
2:JPEG。
Width 解码图像最大宽度。
Height 解码图像最大高度。
BufSize VDEC码流buffer大小,单位:byte。
Priority 解码通道优先级。
VideoMode 发送码流方式。
0:按流发送;
1:按帧发送。
JpegFormat Jpeg图片的存储格式
0:YCbCr400;
1:YCbCr420;
2:YCbCr422;
3:YCbCr444。
RefFrmNum 最大参考帧个数,JPEG通道无效。
CHN PARAM Info ChnID 通道号。
DecMode 解码模式。
0:解码IPB数据帧模式;
1:只解I帧模式;
2:只解IP帧,跳过B帧。
OutputOrder 解码图像输出顺序。
0:按显示顺序输出数据帧;
1:按解帧顺序输出数据帧。
VideoFormat 解码图像数据格式。
0:TILE数据格式;
1:数据帧压缩模式,减少数据帧内存使用量。
DisplayMode 显示模式。
0:预览模式,不参考PTS输出。
1:回放模式,参考PTS数值输出。
CHN STATE ChnID 通道号。
bStart 解码器是否启动接收码流。
CodecType 解码协议类型
0:H264;
1:H265;
2:JPEG
LeftStrmBytes 码流buffer中待解码的byte数。
LeftStrmFrm 码流buffer中待解码的帧数。–1 表示无效。 仅按帧发送时有效。
LeftPics 图像buffer中剩余的pic数目。
RecvStrmFrm 码流buffer中已接收码流帧数。-1 表示无效。 仅按帧发送时有效。
DecStrmFrm 码流buffer中已解码帧数。

2. echo

功能 设置解码模式
命令 echo setDecMode [ChnID] [ModID] > /proc/mi_modules/mi_vdec/mi_vdec0
参数说明 [ChnID] 通道号 [0~32]
[ModID] 解码模式
0->H264
1->H265
2->JPEG
举例 echo setDecMode 0 0 > /proc/mi_modules/mi_vdec/mi_vdec0
通道0,解码模式为H264
功能 设置解码图像输出顺序
命令 echo setOutputOrder [ChnID] [ModID] > /proc/mi_modules/mi_vdec/mi_vdec0
参数说明 ChnID 通道号 [0~32]
ModID
0 按显示顺序输出数据帧
1 按解码顺序输出数据帧
举例 echo setOutputOrder 0 0 > /proc/mi_modules/mi_vdec/mi_vdec0
通道0,按显示顺序输出
功能 设置解码图像数据格式,暂不支持设置
命令 echo setVideoFormat [ChnID] [ModID] > /proc/mi_modules/mi_vdec/mi_vdec0
参数说明 [ChnID] 通道号 [0~32]
[ModID] 解码数据格式
0 TILE格式
1数据帧压缩模式,减少数据帧内存使用量
举例 echo setVideoFormat 0 0 > /proc/mi_modules/mi_vdec/mi_vdec0
通道0,TILE格式输出
功能 设置显示模式
命令 echo setDisplayMode [ChnID] [ModID] > /proc/mi_modules/mi_vdec/mi_vdec0
参数说明 [ChnID] 通道号 [0~32]
[ModID]
0:预览模式,不参考PTS输出。
1:回放模式,参考PTS数值输出。
举例 echo setDisplayMode 0 0 > /proc/mi_modules/mi_vdec/mi_vdec0
通道0 预览模式
功能 打开/关闭统计打印码流输入时间间隔,每隔一秒打印一次
命令 echo statInputTimeIntvl [ChnID] [Status] >/proc/mi_modules/mi_vdec/mi_vdec0
参数说明 [ChnID] 通道号 [0~32]
[Status] on 打开 off 关闭
举例 echo statInputTimeIntvl 0 on >/proc/mi_modules/mi_vdec/mi_vdec0
[MI VDEC PROCFS]:Input ChnID: 0, CurTime: 5959100469, TotalFrmCnt: 19, AvgTimeIntvl: 49856, MaxTimeIntvl: 50047, MinTimeIntvl: 47252
[Input ChnID] 通道号
[CurTime] 当前时间
[TotalFrmCnt] 输入帧次数
[AvgTimeIntvl 每秒内所有帧输入平均时间间隔
[MaxTimeIntvl] 每秒内两帧输入最大时间间隔
[MinTimeIntvl] 每秒内两帧输入最小时间间隔。
功能 打开/关闭统计打印图像输出时间间隔
命令 echo statOutputTimeIntvl[ChnID][Status]>/proc/mi_modules/mi_vdec/mi_vdec0
参数说明 [ChnID] 通道号 [0~32]
[Status] on 打开 off 关闭
举例 echo statOutputTimeIntvl 0 on> /proc/mi_modules/mi_vdec/mi_vdec0
MI VDEC PROCFS]:Output ChnID: 0, CurTime: 6413830139, TotalFrmCnt: 19, AvgTimeIntvl: 49999, MaxTimeIntvl: 50021, MinTimeIntvl: 49985
[Output ChnID] 通道号
[CurTime] 当前时间
[TotalFrmCnt] 输入帧次数
[AvgTimeIntvl 每秒内所有帧输入平均时间间隔
[MaxTimeIntvl] 每秒内两帧输入最大时间间隔
[MinTimeIntvl] 每秒内两帧输入最小时间间隔。
功能 打开/关闭统计打印输入码流时间戳
命令 echo ChkInputFrmPts [ChnID] [Status] > /proc/mi_modules/mi_vdec/mi_vdec0
参数说明 [ChnID] 通道号 [0~32]
[Status] on 打开 off 关闭
举例 echo ChkInputFrmPts 0 on > /proc/mi_modules/mi_vdec/mi_vdec0
[MI VDEC PROCFS]:Input ChnID: 0, TotalFrmCnt: 400, PTS: 3964389
[Input ChnID] 通道号;
[TotalFrmCnt] 输入帧次数;
[PTS] 码流时间戳。
功能 打开/关闭统计打印输出码流时间戳
命令 echo ChkOutputFrmPts [ChnID] [Status] > /proc/mi_modules/mi_vdec/mi_vdec0
参数说明 [ChnID] 通道号 [0~32]
[Status] on 打开 off 关闭
举例 echo ChkOutputFrmPts 0 on > /proc/mi_modules/mi_vdec/mi_vdec0
[MI VDEC PROCFS]:Output ChnID: 0, TotalFrmCnt: 154, PTS: 4039893000
[Output ChnID] 通道号;
[TotalFrmCnt] 输入帧次数;
[PTS] 码流时间戳。
功能 将写入码流buffer的码流同时存文件
命令 echo DumpBS [Path] [MoreChnID] > /proc/mi_modules/mi_vdec/mi_vdec0
参数说明 [Path] 存储路径
[MoreChnID] 通道号 [0~32] 可以设置多路,如 0 1 2 3
举例 echo DumpBS /mnt 0 > /proc/mi_modules/mi_vdec/mi_vdec0
[MI WRN ]: _MI_VDEC_IMPL_InjectBuffer[737]: Chn(0) Dump Es Buffer, Size:5765, (0x00 0x00 0x00 0x01 0x61)
在/mnt下产生 chn_0_h264_dump_vdec.es 文件,为es流文件
功能 将解码出的图像同时存文件,存3帧
命令 echo DumpFB [Path] [MoreChnID] > /proc/mi_modules/mi_vdec/mi_vdec0
参数说明 [Path] 存储路径
[MoreChnID] 通道号 [0~32] 可以设置多路,如 0 1 2 3
举例 echo DumpFB 0 /mnt > /proc/mi_modules/mi_vdec/mi_vdec0
[MI WRN ]: _MI_VDEC_IMPL_DebugWriteFile[3494]: dump file(/mnt/chn_0_h264_dump_vdec[720_576_736]_0.yuv) v1 ok ..............[len:635904]
在 /mnt下产生 chn_0_h264_dump_vdec[720_576_736]_0.yuv(已detile),
chn_0_dump_vdec[720_576_736]_0_luma.yuv,
chn_0_dump_vdec[720_576_736]_0_chrome.yuv
各3帧,共9帧
功能 将当前码流buffer中的所有数据存储到文件中
命令 echo DumpCurBS [Path] [ChnID] > /proc/mi_modules/mi_vdec/mi_vdec0
参数说明 [Path] 存储路径
[ChnID] 通道号 [0~32]
举例 echo DumpCurBS /mnt 0 > /proc/mi_modules/mi_vdec/mi_vdec0
Dump Chn(0) ES Data Now
在/mnt下 产生 chn_0_h264_dump_now_vdec.es