VDEC模块调试手册
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 |