SigmaStar Camera PROC调试信息说明
1. 概述¶
1.1. 简介¶
-
说明
使用Linux下的porc文件系统,可以打印出各个模块当前的运行状态,便于调试及分析问题。每个模块都自己特定的路径,部分模块有额外的echo命令。
-
路径
/proc/mi_modules
1.2. 文件清单¶
表1-1
模块名称 | 说明 |
---|---|
SYS | SYS模块的信息 |
AI | 音频输入的信息 |
AO | 音频输出的信息 |
VIF | 视频输入的信息 |
VPE | 视频处理引擎的信息 |
VENC | 编码视频的信息 |
DIVP | 去隔行/图像引擎的信息 |
VDISP | 虚拟显示模块的信息 |
DISP | 显示模块的信息 |
HDMI | HDMI的信息 |
FB | Graphic图形层的信息 |
GFX | 图像引擎的信息 |
REGION | OSD的信息 |
VDEC | 解码视频的信息 |
2. SYS¶
2.1. common¶
2.1.1. dump_mmap¶
-
调试信息
# ./config/dump_mmap
图2-1
-
调试信息分析
Common下的内容存放的是配置API,之所以会有配置API,有两个目的:
-
把iniparser放在用户态做,iniparser的任何开销不带入内核。
-
方便调试时确认配置文件的实际内容,因为在parser时打印的内容可能会与实际设置的内容有偏差
为了达到上面两个目的,导出了一些文件。
如下是导入config的配置文件:
图2-2
Systeminfo.c里面parse好的struct写入config_info里面。
Pqloader.c里面parse好的struct写入pq_info和*_table里面,这里的table跟MISDK里面的那一份不一样的一点是这里的table是连续的内存摆放,MISDK是一个间接数组指向一列一维数组。
如下是导入mmap的配置文件:
图2-3
Mmapinfo.c里面parse好的struct写入mmap_info和memory_info,因为这里比较简单,所以从mmap_info和memory_info读出来是格式化好的可读信息。
-
2.1.2. dump_config¶
-
调试信息
# ./config/dump_config panel size:24 DBC Value= 55,30,10 254,66,0 72,80,72 start dump [motion_table](6, 8) {0xe8,0xcd,0xab,0x89,0x67,0x45,0x23,0x00,} {0xd8,0xbc,0x9a,0x78,0x56,0x34,0x12,0x00,} {0xc8,0xab,0x89,0x67,0x45,0x23,0x01,0x00,} {0xb8,0x9a,0x78,0x56,0x34,0x12,0x00,0x00,} {0xa8,0x89,0x67,0x45,0x23,0x01,0x00,0x00,} {0x98,0x78,0x56,0x34,0x12,0x00,0x00,0x00,} end dump start dump [motion_hdmi_dtv_table](4, 8) {0x68,0x45,0x23,0x01,0x00,0x00,0x00,0x00,} {0xa8,0x89,0x67,0x45,0x23,0x01,0x00,0x00,} {0xc8,0xab,0x89,0x67,0x45,0x23,0x01,0x00,} {0xe8,0xcd,0xab,0x89,0x67,0x45,0x23,0x00,} end dump start dump [motion_comp_pc_table](4, 8) {0x68,0x45,0x23,0x01,0x00,0x00,0x00,0x00,} {0x98,0x78,0x56,0x34,0x12,0x01,0x00,0x00,} {0xa8,0x89,0x67,0x45,0x23,0x12,0x01,0x00,} {0xb8,0x9a,0x78,0x56,0x34,0x12,0x01,0x00,} end dump start dump [misc_param_table](4, 4) {0x02,0xff,0x00,0x00,} {0x02,0xff,0x01,0x66,} {0x03,0x88,0x01,0x66,} {0x03,0xaa,0x01,0x66,} end dump start dump [misc_luma_table](8, 2) {0x33,0x08,} {0x33,0x07,} {0x22,0x06,} {0x22,0x05,} {0x11,0x04,} {0x11,0x03,} {0x00,0x02,} {0x00,0x01,} end dump start dump [noise_table](6, 8) {0x67,0x45,0x34,0x23,0x12,0x01,0x00,0x00,} {0xab,0x89,0x67,0x45,0x23,0x12,0x01,0x00,} {0xbc,0x9a,0x78,0x56,0x34,0x23,0x01,0x00,} {0xde,0xbc,0x9a,0x78,0x56,0x34,0x12,0x00,} {0xef,0xcd,0xab,0x89,0x67,0x45,0x23,0x00,} {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,} end dump start dump [misc_table](6, 15) {0x00,0x00,0x00,0x00,0x00,0x02,0x00,0x00,0x02,0x00,0xc0,0x9f,0x00,0x01,0x66,} {0x10,0x01,0xc1,0xc1,0xc1,0x04,0x09,0x1f,0x03,0x88,0xc0,0x9f,0x00,0x01,0x66,} {0x21,0x02,0xc2,0xc2,0xc2,0x08,0x09,0x1f,0x03,0x99,0x00,0x00,0x00,0x01,0x88,} {0x31,0x04,0xc2,0xc2,0xc2,0x0a,0x09,0x1f,0x03,0xaa,0x00,0x00,0x00,0x01,0xaa,} {0x41,0x06,0xc3,0xc3,0xc3,0x10,0x19,0x1f,0x03,0xbb,0x00,0x00,0x14,0x01,0xbb,} {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,} end dump
-
调试信息分析
./config/dump_config得到的是/proc/mi_modules/common/里各文件的信息,含panel size、DBC Value、motion_table、motion_hdmi_dtv_table、motion_comp_pc_table、misc_param_table、misc_luma_table、noise_table、misc_table等。
2.2. mi_log_info¶
2.2.1. cat¶
-
调试信息
# cat /proc/mi_modules/mi_log_info ---------------- Log Path ------------------------ log path: ---------------- Store Path ---------------------- store path: /mnt ---------------- Module Log Level ---------------- Log module Level -------------------------- mi_ive 2(WRN) mi_vdf 2(WRN) mi_venc 2(WRN) mi_rgn 2(WRN) mi_ai 2(WRN) mi_ao 2(WRN) mi_vif 2(WRN) mi_vpe 2(WRN) mi_vdec 2(WRN) mi_sys 2(WRN) mi_fb 2(WRN) mi_hdmi 2(WRN) mi_divp 2(WRN) mi_gfx 2(WRN) mi_vdisp 2(WRN) mi_disp 2(WRN) mi_os 2(WRN) mi_iae 2(WRN) mi_md 2(WRN) mi_od 2(WRN) mi_shadow 2(WRN)
-
调试信息分析
示意了默认的log path 或store path,同时示意了各module的debug_level的值。
-
参数分析
表2-1
参数 描述 mi_log_info log path 暂时无效果 store path 暂时无效果 Log module 各个模块的名称 Level 打印等级
2.2.2. echo¶
表2-2
功能 | 修改模块debug_level |
---|---|
命令 | echo [ModID]=[Level] > /proc/mi_modules/mi_log_info |
[ModID] 模块的名字 mi_ive mi_vdf mi_venc mi_rgn mi_ai mi_ao mi_vif mi_vpe mi_vdec mi_sys mi_fb mi_hdmi mi_divp mi_gfx mi_vdisp mi_disp mi_os mi_iae mi_md mi_od mi_shadow | |
参数说明 | [Level] 0 无Debug信息 1 只显示error的信息 (MI_DBG_ERR) 2 只显示waring的信息 (MI_DBG_WRN) 3 只显示 info 的信息 (MI_DBG_INFO) 4 显示所有信息 |
举例 | echo mi_sys=2 > /proc/mi_modules/mi_log_info 将mi_sys 的debug_level修改为2 |
表2-3
功能 | 修改log的路径 |
---|---|
命令 | echo log=[Path] > /proc/mi_modules/mi_log_info |
参数说明 | [Path] 路径 |
举例 | echo log=/mnt > /proc/mi_modules/mi_log_info |
表2-4
功能 | 修改存储log的路径 |
---|---|
命令 | echo storepath=[Path] > /proc/mi_modules/mi_log_info |
参数说明 | [Path] 路径 |
举例 | echo storepath=/mnt > /proc/mi_modules/mi_log_info |
2.3. mi_global_info¶
2.3.1. cat¶
-
调试信息
# cat /proc/mi_modules/mi_global_info miu_and_lx_info: ARM_MIU0_BUS_BASE 0x20000000 ARM_MIU0_BASE_ADDR 0x0 ARM_MIU1_BUS_BASE 0x60000000 ARM_MIU1_BASE_ADDR 0x80000000 ARM_MIU2_BUS_BASE 0xffffffff ARM_MIU2_BASE_ADDR 0xffffffff lx_mem_addr 0x20c00000 lx_mem_size 0xe300000 lx_mem2_addr 0xffffffff lx_mem2_size 0xffffffff lx_mem3_addr 0xffffffff lx_mem3_size 0xffffffff KernelProtect IP white list: clientId name 43 MIU_CLIENT_MIPS_RW 50 MIU_CLIENT_NAND_RW 82 MIU_CLIENT_USB_UHC0_RW 83 MIU_CLIENT_USB_UHC1_RW 84 MIU_CLIENT_USB_UHC2_RW 18 MIU_CLIENT_G3D_RW 140 MIU_CLIENT_USB3_RW 129 MIU_CLIENT_SDIO_RW 165 MIU_CLIENT_SATA_RW 133 MIU_CLIENT_USB_UHC3_RW 225 MIU_CLIENT_USB30_1_RW 226 MIU_CLIENT_USB30_2_RW 5 MIU_CLIENT_BDMA_RW 14 MIU_CLIENT_EMAC_RW PAGE_OFFSET - the virtual address of the start of the kernel image PAGE_OFFSET=0xc0000000 TASK_SIZE - the maximum size of a user space task TASK_SIZE=0xbf000000 MStar SDK version: commit.build_time 0be783c.2017121315 CHIP_VERSION U02
-
调试信息分析
该调试信息提供了全局global的一些信息。
-
参数分析
表2-5
参数 描述 miu_and_lx_info(以只有一个MIU为例) ARM_MIU0_BUS_BASE Miu0 bus base ARM_MIU0_BASE_ADDR Miu0 base addr lx_mem_addr Linux镜像占的memory的起始地址(属于cpu bus address) lx_mem_size Linux镜像占的memory的size kernelProtect IP white list clientId Miu protect的IP白名单里的IP的id(从未分group的角度看的全局的id) name 与clientId对应的该IP的实际的名字 MStar SDK version: commit.build_time commit sdk对应的commit build_time sdk的build时间 CHIP_VERSION CHIP_VERSION 当前chip的版本,版本号是U01,U02,U03…
2.4. debug_level¶
2.4.1. cat/echo¶
-
调试信息
# cat /proc/mi_modules/mi_sys/debug_level 2
-
调试信息分析
每个module(包括sys这个module)都有各自的debug level,是为了控制打印级别,各自的打印级别分别在/proc/mi_modules/mi_modulename/debug_level控制,其中modulename形如disp,divp,rgn等等。上面只是以/proc/mi_modules/mi_sys/debug_level为例。
表2-6
功能 打印警告级别 命令 cat /proc/mi_modules/[ModuleName]/debug_level 参数说明 [ModuleName] 模块的名字 mi_disp mi_gfx mi_rgn mi_vdec mi_vpe mi_ai mi_divp mi_shadow mi_vdisp mi_ao mi_hdmi mi_sys mi_venc mi_bar mi_vif 举例 cat /proc/mi_modules/mi_sys/debug_level 2 mi_sys 的警告级别为2(只显示waring的信息) 表2-7
功能 修改警告级别 命令 echo [Level] > /proc/mi_modules/[ModuleName]/debug_level 参数说明 [Level] 0 无Debug信息 1 只显示error的信息 (MI_DBG_ERR) 2 只显示waring的信息 (MI_DBG_WRN) 3 只显示 info 的信息 (MI_DBG_INFO) 4 显示所有信息 [ModuleName] 模块的名字 mi_disp mi_gfx mi_rgn mi_vdec mi_vpe mi_ai mi_divp mi_shadow mi_vdisp mi_ao mi_hdmi mi_sys mi_venc mi_bar mi_vif 举例 echo 1 > /proc/mi_modules/mi_vdec/debug_level 将mi_vdec 模块的警告级别修改为只显示error的信息
2.5. miu_protect¶
2.5.1. cat¶
-
调试信息
cat /proc/mi_modules/mi_sys_mma/miu_protect =================== start miu_protect_info ================================ kernel protect enabled LX : cpu_start_addr:0x20c00000 size:0xe300000 miu_index miuBlockIndex start_cpu_bus_pa length 0x0 0x00 0x20c00000 0x460000 KernelProtect IP white list: clientId name 43 MIU_CLIENT_MIPS_RW 50 MIU_CLIENT_NAND_RW 82 MIU_CLIENT_USB_UHC0_RW 83 MIU_CLIENT_USB_UHC1_RW 84 MIU_CLIENT_USB_UHC2_RW 18 MIU_CLIENT_G3D_RW 140 MIU_CLIENT_USB3_RW 129 MIU_CLIENT_SDIO_RW 165 MIU_CLIENT_SATA_RW 133 MIU_CLIENT_USB_UHC3_RW 225 MIU_CLIENT_USB30_1_RW 226 MIU_CLIENT_USB30_2_RW 5 MIU_CLIENT_BDMA_RW 14 MIU_CLIENT_EMAC_RW
-
调试信息分析
该命令显示了miu protect相关的信息。
-
参数分析
表2-8
参数 描述 kernel protect 值是enabled或者disabled,表示是否有enable kernel protect,默认是需要enable kernel protect的。 LX(以只有一个LX为例,LX表示linux 镜像对应的memory) cpu_start_addr 该LX对应的起始CPU addr size 该LX对应的size 某个kernel protect 的range的相关信息 miu_index 编号 miuBlockIndex 总共4个miu范围的编号信息 start_cpu_bus_pa 该range的起始cpu bus addr length 该range的length KernelProtect IP white list clientId Miu protect的IP白名单里的IP的id(从未分group的角度看的全局id) name 与clientId对应的该IP的实际的名字
2.6. mma_help_name¶
2.6.1. cat¶
-
调试信息
# cat /proc/mi_modules/mi_sys_mma/mma_heap_name0 mma heap name heap_base_cpu_bus_addr length chunk_mgr_avail mma_heap_name0 25200000 9d00000 79c6000 chunk_mgr info: pst_chunk_mgr offset length avail c3545618 0 9d00000 79c6000 each chunk info: offset length used_flag task_name 0 1000 1 insmod 1000 100000 1 insmod 101000 200000 1 proc_rtsp 301000 3f5000 1 vdisp-dev0 6f6000 3f5000 1 vdisp-dev0 aeb000 3f5000 1 vdisp-dev0 ee0000 1f5000 0 NA 10d5000 1000 1 proc_rtsp 10d6000 64000 1 proc_rtsp 113a000 200000 1 proc_rtsp 133a000 700000 1 proc_rtsp 1a3a000 3f5000 0 NA 1e2f000 3f5000 1 vdisp-dev0 2224000 700000 1 proc_rtsp 2924000 73dc000 NA
-
调试信息分析
该cat信息对应的是该mma heap的基本信息和当前的一些状态。
-
参数分析
表2-9
参数 描述 heap basic info mma heap name
mma heap的name heap_base_cpu_bus_addr heap的起始cpu bus addr length heap的length chunk_mgr_avail heap里的剩余的未用的memory的总量 chunk_mgr info pst_chunk_mgr chunk mgr的指针的值 offset chunk mgr的offset,由于整个mma heap做为一个chunk mgr,因此该值永远为0 length chunk mgr的length,由于整个mma heap做为一个chunk mgr,因此该值永远为mma heap length avail chunk mgr(即heap)里的剩余的未用的memory的总量 each chunk info(chunk mgr里各chunk的信息和使用情况) offset 该chunk在chunk mgr里的offset length 该chunk的length used_flag 该chunk是否被alloc出去使用了。是的话该值为1;否则free状态的话该值为0 task_name 如果used flag为1,则task_name里存的是哪个task使用的它;否则该值为无效值NA
2.6.2. echo¶
表2-10
功能 | 即dump 指定offset和length的data到指定的路径 |
---|---|
命令 | echo [Path] [Offset] [Length] > /proc/mi_modules/mi_sys_mma/mma_heap_name[Num] |
参数说明 | [Path] 文件要保存的路径,只需提供路径,不要提供具体的文件名,系统会根据参数自动生成对应的文件名。 [Offset] 从该mma heap的哪个offset开始dump data,必须4KB对齐。 [Length] 在该mma heap里dump的总的数据量的大小,必须4KB对齐。 [Num] mma head 对应的数字,目前 mma_heap_name0 可通过 cat /proc/cmdline 查看。 |
举例 | echo /mnt/ 0 4096 > /proc/mi_modules/mi_sys_mma/mma_heap_name0 在 /mnt下产生 mma__mma_heap_name0__0__4096.bin 文件 |
2.7. vb_pool_qlobal¶
2.7.1. cat¶
-
调试信息
# cat /proc/mi_modules/mi_sys_mma/vb_pool_global
图2-4
-
调试信息分析
如果有通过MI_SYS_IMPL_ConfGloPubPools API或者MI_SYS_ConfGloPubPools API配置了global public pools的话,会有/proc/mi_modules/mi_sys_mma/vb_pool_global文件;如果没有配置的话,那么没有该文件。
-
调试信息分析
表2-11
参数 描述 collection_size 该pools的allocator个数 其中某个vbpool_allocator 的info each_allocation_size 该allocator里的allocation的size(同一个vbpool allocator的不同allocation的size是相同的,同一个pools里的不同的allocator的不同的allocations的size可能不同)。 total_allocation_count 该allocator里的allocations的数目 total_not_used_allocation_count 该allocator里的allocations中未被使用的数目 kern_map_ptr 该allocator的offset0位置的kernel space va;如果没有的话,该值为NULL 指定的vbpool_allocator的某个vbpool_allocation的 info offset_in_vb_pool 该allocation在对应的allocator里的逻辑offset real_used_flag 是否被使用中,否的话则后续参数为无效值NA u64Pts 如果有效,该值为pts u64SidebandMsg 如果有效,该值为SidebandMsg bEndOfStream 如果有效,该值为是否是end stream的flag bUsrBuf 如果有效,该值为表示是否是UsrBuf eBufType 如果有效,该值表示buf的type
2.7.2. echo¶
表2-12
功能 | 即dump 指定offset和length的data到指定的路径 |
---|---|
命令 | echo [Path] [Offset] [Length] > /proc/mi_modules/mi_sys_mma/ vb_pool_global |
参数说明 | [Path] 文件要保存的路径,只需提供路径,不要提供具体的文件名,系统会根据参数自动生成对应的文件名。 [Offset] 从该pools的哪个offset开始dump data,是pools的逻辑offset。 [Length] 在该pools里dump的总的数据量的大小。 |
举例 | / # echo /mnt/ 0 1024 > /proc/mi_modules/mi_sys_mma/vb_pool_global 在 /mnt 下产生 vb_pool__global__0__1024.bin |
2.8. vb_pool¶
2.8.1. cat¶
-
调试信息
# cat /proc/mi_modules/mi_sys_mma/vb_pool_mi_divp0
图2-5
-
调试信息分析
如果有config 某个device的vb pool, 那么会有/proc/mi_modules/mi_sys_mma/vb_pool_modnamedevid文件,其中modname形如divp,vpe等,devid形如0,1等。其和vb_pool_global的差别在于其对应的是该device,而vb_pool_global则是全局共享的vb pool。
上面是以vb_pool_mi_divp0为例,其也有cat命令显示各种信息,也是有且只有”echo path offset length >”这个echo命令来dump数据,这2个都和vb_pool_global的类似。
2.8.2. echo¶
表2-13
功能 | 即dump 指定offset和length的data到指定的路径 |
---|---|
命令 | echo [Path] [Offset] [Length] > /proc/mi_modules/mi_sys_mma/[ModID] |
参数说明 | [Path] 文件要保存的路径,只需提供路径,不要提供具体的文件名,系统会根据参数自动生成对应的文件名。 [Offset] 从该pools的哪个offset开始dump data,是pools的逻辑offset。 [Length] 在该pools里dump的总的数据量的大小。 [ModID] vb_pool的文件名, 如 vb_pool_mi_divp0 |
举例 | echo /mnt/ 0 4096 > /proc/mi_modules/mi_sys_mma/vb_pool_mi_divp0 在/mnt/下 产生vb_pool__mi_divp0__0__4096.bin |
2.9. meta¶
2.9.1. cat¶
-
调试信息
# cat /proc/mi_modules/mi_sys_mma/meta =================== start meta_info ================================ basic info: total page count:16 each meta data size:256 total_count_with_metadatasize 256 total_free_count_with_metadatasize:254 meta info : ref_cnt=3 each allocation info: offset_in_pool length phy_addr va_in_kern real_used_flag 0x0 0x100 0x2336000 c1736000 0 0x100 0x100 0x2336100 c1736100 0 0x200 0x100 0x2336200 c1736200 0 0x300 0x100 0x2336300 c1736300 0 0x400 0x100 0x2336400 c1736400 0 0x500 0x100 0x2336500 c1736500 0 0x600 0x100 0x2336600 c1736600 0 0x700 0x100 0x2336700 c1736700 0 0x800 0x100 0x2336800 c1736800 0 0x900 0x100 0x2336900 c1736900 0 0xa00 0x100 0x2336a00 c1736a00 0 …… =================== end meta_info ================================
-
调试信息分析
只要一旦有人用过了meta allocator(有且只有一个meta allocator),那么就会生成/proc/mi_modules/mi_sys_mma/meta文件,且其对应的memory就会完全alloc了出来,等待被使用。
2.9.2. echo¶
表2-14
功能 | 即dump 指定offset和length的data到指定的路径 |
---|---|
命令 | echo [Path] [Offset] [Length] > /proc/mi_modules/mi_sys_mma/ vb_pool_global |
参数说明 | [Path] 文件要保存的路径,只需提供路径,不要提供具体的文件名,系统会根据参数自动生成对应的文件名。 [Offset] 从该allocator的哪个offset开始dump data,是allocator的逻辑offset。。 在该allocator里dump的总的数据量的大小。 |
举例 | echo /mt 0 1024 > /proc/mi_modules/mi_sys_mma/meta 在 /mnt 下产生 meta__0__1024.bin |
2.10. mi_modulenamedevid¶
2.10.1. cat¶
-
调试信息
cat /proc/mi_modules/mi_disp/mi_disp0
图2-6
-
调试信息分析
cat操作的结果是分为2部分的,第一部分是MI_SYS提供的针对该device的通用的调试信息,从device、channel、input port、output port四个角度提供;第二部分是该device私有的信息。私有的信息各module的内容别处会阐述,这里SYS角度只阐述通用的信息。
以cat /proc/mi_modules/mi_vdisp/mi_vdisp0为例,得到上面的结果。
-
参数说明
表2-14
参数 描述 Common info for device ChnNum 该device的总的channel 的数目 EnChnNum 该device的enabled了的channel的数目 InPortNum 该device的input port的数目 OutPortNum 该device的output port的数目 CollectSize 该dev对应的AllocatorCollection含有的allocator的数目总和 Common info for channel(only dump enabled channel) ChnId Channel 的id值 EnInPNum 该channel的enabled input port数量 EnOutPNum 该channel的enabled output port数量 MMAHeapName 如果有SetChnMMAConf的话,该值为对应的mma heap name;如果没有设置的话,该值为NULL Input port common info(only dump enabled Input port) ChnId 该input port所在的channel id PortId 该input port的id SrcFrmrate Src帧率 DstFrmrate Dst帧率 user_buf_quota 该InputPort的buff数目的Quota UsrInjectQ_cnt 该InputPort 里的UsrInjectBufQueue里的buff数目 UsrInjectQ_size 该InputPort 里的UsrInjectBufQueue里的buff的总的size BindInQ_cnt 该InputPort 里的BindInputBufQueue里的buff数目 BindInQ_size 该InputPort 里的BindInputBufQueue里的buff的总的size WorkingQ_cnt 该InputPort 里的WorkingQueue里的buff数目 WorkingQ_size 该InputPort 里的WorkingQueue里的buff的总的size usrLockedInjectCnt 用户当前拿到了多少个buf Input port bind info(only dump enabled Input port) ChnId 该input port所在的channel id PortId 该input port的id bind_module_id 与该input port 进行了binded的output port所在的module的id bind_module_name 与该input port 进行了binded的output port所在的module的name bind_ChnId 与该input port 进行了binded的output port所在的channel的id bind_PortId 与该input port 进行了binded的output port的id Output port common info (only dump enabled Output port) ChnId 该output port所在的channel的id PortId 该output port的id BufCntQuota 该OutputPort的 buff数目的Quota usrLockedCnt 从UsrGetFifoBufQueue里用户实际拿走了多少个buffer totalOutPortInUsed totalOutputPortInUsedBuf数目 DrvBkRefFifoQ_cnt 该OutputPort的DrvBkRefFifoQueue里的buffer数目 DrvBkRefFifoQ_size 该OutputPort的DrvBkRefFifoQueue里的buffer的总size UsrGetFifoQ_cnt 该OutputPort的UsrGetFifoBufQueue里的buffer数目 UsrGetFifoQ_size 该OutputPort的UsrGetFifoBufQueue里的buffer的总size WorkingQ_cnt 该OutputPort的WorkingQueue里的buffer数目 WorkingQ_size 该OutputPort的WorkingQueue里的buffer的总size Output port BindPeerInputPortList info(only dump enabled Output port) ChnId 该output port所在的channel的id PortId 该output port的id bind_module_id 与该output port 进行了binded的input port list中的其中一个input port(以下简称该binded input port)所在的module的id bind_module_name 该binded input port所在的module的name bind_ChnId 该binded input port所在的channel id bind_PortId 该binded input port的id
2.10.2. echo¶
表2-16
功能 | 获得模块的help信息 |
---|---|
命令 | echo help > /proc/mi_modules/[ModName]/[ModID] |
参数说明 | [ModName] 模块的名字 mi_disp mi_gfx mi_rgn mi_vdec mi_vpe mi_ai mi_divp mi_shadow mi_vdisp mi_ao mi_hdmi mi_sys mi_venc mi_bar mi_vif [ModID] 模块中对应的文件 一般为 一般为模块的名字+数字 如mi_disp0 mi_gfx0 mi_rgn0 |
举例 | echo help > /proc/mi_modules/mi_disp/mi_disp0 得到mi_disp0 节点文件的帮助信息 |
表2-17
功能 | Dump Port 的信息 |
---|---|
命令 | echo dump_buffer [ChnID] [PortType] [PortID] [QueueName][Path] [EndMethod] > /proc/mi_modules/[ModName]/[ModID] |
参数说明 | [ChnID] 通道的ID [PortType] iport 或 oport 分别代表input port output port [PortID] 该port的id [QueueName] 如果是input port的话,值只能是"UsrInject" 或者"BindInput" 如果是output port的话,值只能是"UsrGetFifo" [Path] 数据要保存的文件所在的路径。注意是绝对路径,不要提供数据要保存的文件的名字,系统会根据参数自动生成文件名,不同的buffer保存在不同的文件 [EndMethod] dump buffer的结束方法,目前仅支持三类: (a). "bufnum=xxx":dump指定数目的buffer (b) "time=xxx"(here unit is ms):dump过程持续time对应的时间 ©. "start/end" pair:用start来开始dump,用end来结束对应的dump,要求这2个命令时其他的5个参数完全一样 [ModName] 模块的名字 mi_disp mi_gfx mi_rgn mi_vdec mi_vpe mi_ai mi_divp mi_shadow mi_vdisp mi_ao mi_hdmi mi_sys mi_venc mi_bar mi_vif [ModID] 模块中对应的文件 一般为 一般为模块的名字+数字 |
举例 | echo dump_buffer 0 iport 0 BindInput /mnt bufnum=1 > /proc/mi_modules/mi_disp/mi_disp0 dump disp模块 inport 的数据 |
2.11. mi_dump_buffer_delay_worker¶
2.11.1. cat¶
-
调试信息
cat /proc/mi_modules/mi_dump_buffer_delay_worker delay_worker_id module_name force_stop dev_id chn_id port_type port_id 0 mi_disp 0 0 0 inport 0 Queue_name stored_dir dump_method dump_method_value BindInput /mnt bunfnum 2
-
调试信息分析
/proc/mi_modules/mi_dump_buffer_delay_worker文件是和mi_modulenamedevid相连的一个概念,dump device里的Queue里的buffer采用的是delay worker的方式实现的,可以通过对mi_dump_buffer_delay_worker的cat操作查看还有哪些delay worker正在进行中,echo force_stop_dump delay_worker_id强制结束指定的一个delay worker过程。
-
参数说明
表2-18
参数 描述 delay_worker_id 该delay worker 的id。如果delay worker完成的话,该id会回收,给后续其他的delay worker作为id使用。 module_name 该delay worker所对应的module的id。 force_stop 该delay worker当前是否处于强制结束阶段,1表示已经被设置了强制结束,0表示未被设置。 dev_id 该delay worker所对应的device id。 chn_id 该delay worker所对应的channel id。 port_type 该delay worker所对应的port的type,是input port,还是output port port_id 该delay worker所对应的port的id Queue_name 该delay worker所对应的Queue的name stored_dir 该delay worker所对应的要dump的data所要存放的绝对路径(不含最终存放的文件名) dump_method 该delay worker所对应的dump方法:bufnum,还是time,还是start dump_method_value Dump方法所对应的值.
2.11.2. echo¶
表2-19
功能 | 强制结束delay worker |
---|---|
命令 | echo force_stop_dump [WorkID] >/proc/mi_modules/mi_dump_buffer_delay_worker |
参数说明 | [WorkID] delay_work 的ID |
举例 | echo force_stop_dump 0 > /proc/mi_modules/mi_dump_buffer_delay_worker 强制停止 delay_work 0 |
2.12. module version¶
2.12.1. cat¶
-
调试信息
# cat /proc/mi_modules/mi_ai/module_version_file MStar Module version: project_commit.sdk_commit.build_time c1799df.fd2d52b.20171225180033 # cat /proc/mi_modules/mi_global_info ….. MStar Module version: project_commit.sdk_commit.build_time cb68bfd.44aca45.20171226100257 …..
-
调试信息分析
xxxx_version_file提供了份version信息, /proc/mi_modules/mi_global_info里我们也提供了份version信息,不过其本质上指的是mi_sys模块的version信息, 上面只是以mi_vi 和 mi_global_info 为例子,每个模块都有自己对应的version file。
-
参数说明
表2-20
参数 描述 Version Info project_commit 模块编译ko时整包的project commit 信息,如果单独替换ko时,模块基于的commit有变化,那么该ko的version里得到的commit也会跟着变更 sdk_commit 模块编译ko时整包的sdk commit 信息,如果单独替换ko时,模块基于的commit有变化,那么该ko的version里得到的commit也会跟着变更 build_time 时间指的是实际的build时间,精确到秒,即使make clean;make image整体来build的话,各个ko的时间也会有差别
3. AI¶
3.1. cat¶
-
调试信息
# cat proc/mi_modules/mi_ai/mi_ai0 ========================= Private AI0 Info ======================= -----Start AI Dev0 Attr--------------------------------------------------------------- AiDev WorkMode SampR BitWidth SondMod PtNumPerFrm 0 i2s-mas 16000 16bit mono 1536 -----End AI Dev0 Attr----------------------------------------------------------------- -----Start AI Chn0 STATUS------------------------------------------------------------ AiDev AiChn bReSmp InSampR OutSampR 0 0 0 16000 0 -----AI CHN0 VQE STATUS-------------------------------------------------------------- AiDev AiChn bVqe WorkRate PoiNum 0 0 0 0 0 -----Ai CHN0 ANR of VQE STATUS------------------------------------------------------ AiDev AiChn bAnr NrIntensity 0 0 0 0 -----AI CHN0 AGC of VQE STATUS------------------------------------------------------ AiDev AiChn bAgc TargetLevel NoiseFloor 0 0 0 0 0 -----AI CHN0 EQ of VQE STATUS------------------------------------------------------- AiDev AiChn bEq 0 0 0 -----AI CHN0 HPF of VQE STATUS------------------------------------------------------ AiDev AiChn bHpf HpfFreq 0 0 0 0 -----AI CHN0 AEC of VQE STATUS------------------------------------------------------ AiDev AiChn bAec AecIntensity 0 0 0 0 -----End AI Chn0 STATUS-------------------------------------------------------------
-
调试信息分析
记录当前AI的使用状况以及device属性、channel属性,可以动态地获取到这些信息,方便调试和测试。
-
参数说明
表3-1
参数 描述 AI Device Attr (AI 设备属性) AiDev AI设备号:
取值范围:[0~1]WorkMode AI 工作模式
i2s-mas: I2S master
i2s-sla: I2S slave
tdm-mas: TDM masterSamR Sample Rate(采样率): 8000, 16000, 32000, 48000 BitWidth 采样精度: 16bit, 24bit SondMod 声音模式 mono:单声道 stereo:立体声 PtNumPerFrm 每帧的采样点个数: 128倍数 表3-2
参数 描述 AI Chn Status (AI 通道信息) AiDev AI设备号;
取值范围:[0~1]AiChn AI 通道号; 取值范围:[0~1] bReSmp 该信道是否启用了重采样功能
1: Enable
0: DisableInSampR 该通道重采样时,输入给重采样的数据帧的采样率 OutSampR 该通道重采样时,重采样后的音频帧采样率 AI CHN VQE STATUS (AI 通道VQE信息 ) AiDev AI设备号;
取值范围:[0~1]AiChn AI 通道号;
取值范围:[0~1]bVqe 该通道是否启用VQE
1: Enable
0: DisableWorkRate 工作采样率: 8000, 16000 PoiNum VQE处理的数据帧长中的采样点数目: 128 AI CHN ANR of VQE STATUS (AI通道ANR 信息) AiDev AI设备号: 取值范围:[0~1] AiChn AI 通道号: 取值范围:[0~1] bAnr 该通道是否启用ANR
1: Enable
0: DisableNrIntensity 降噪力度配置: 取值为[0,30] AI CHN AGC of VQE STATUS (AI 通道AGC信息) AiDev AI设备号: 取值范围:[0~1] AiChn AI 通道号; 取值范围:[0~1] bAgc 该通道是否启用AGC 1: Enable 0: Disable TargetLevel 目标电平: 范围:[-80~ 0]dB ;
调整步长 1dBNoiseFloor 噪声底线: 范围:[-65 ~ -20]dB ;
调整步长 1dBAI CHN EQ of VQE STATUS (AI 通道EQ 信息) AiDev AI设备号: 取值范围:[0~1] AiChn AI 通道号: 取值范围:[0~1] bEq 该通道是否启用EQ
1: Enable
0: DisableAI CHN0 HPF of VQE STATUS AiDev AI设备号: 取值范围:[0~1] AiChn AI 通道号: 取值范围:[0~1] bHpf 该通道是否启用HPF
1: Enable
0: DisableHpfFreq 截止频率(Hz): 80, 120, 150 AI CHN AEC of VQE STATUS (AI 通道AEC信息) AiDev AI设备号; 取值范围:[0~1] AiChn AI 通道号; 取值范围:[0~1] bAec 该通道是否启用HPF
1: Enable
0: DisableAecIntensity 回声消除力度配置,取值范围:[0,3] 表3-3
参数 描述 AO CHN Status(AO 通道信息) AoDev AO设备号:取值范围:[0~2] AoChn AO 通道号:取值范围:[0~2] bReSmp 该信道是否启用了重采样功能
1: Enable
0: DisableInSampR 该通道重采样时,输入给重采样的数据帧的采样率 OutSampR 该通道重采样时,重采样后的音频帧采样率 AO CHN VQE STATUS(AO 通道VQE信息 ) AoDev AO设备号;取值范围:[0~2] AoChn AO 通道号:取值范围:[0~2] bVqe 该通道是否启用VQE
1: Enable
0: DisableWorkRate 工作采样率:8000, 16000 PoiNum VQE处理的数据帧长中的采样点数目: 128 AO CHN ANR of VQE STATUS(AO通道ANR 信息) AoDev AO设备号;取值范围:[0~2] AoChn AO 通道号:取值范围:[0~2] bAnr 该通道是否启用ANR
1: Enable
0: DisableNrIntensity 降噪力度配置:取值为[0,30] AO CHN AGC of VQE STATUS(AO 通道AGC信息) AoDev AO设备号;取值范围:[0~2] AoChn AO通道号;取值范围:[0~2] bAgc 该通道是否启用AGC
1: Enable
0: DisableTargetLevel 目标电平: 范围:[-80 ~ 0]dB ;调整步长 1dB NoiseFloor 噪声底线: 范围:[-65 ~ -20]dB ;调整步长 1dB AO CHN EQ of VQE STATUS(AO 通道EQ 信息) AoDev AO设备号;取值范围:[0~2] AoChn AO通道号;取值范围:[0~2] bEq 该通道是否启用EQ
1: Enable
0: DisableAO CHN0 HPF of VQE STATUS AoDev AO设备号;取值范围:[0~2] AoChn AO通道号;取值范围:[0~2] bHpf 该通道是否启用HPF
1: Enable
0: DisableHpfFreq 截止频率(Hz):80, 120, 150
4. AO¶
4.1. cat¶
-
调试信息
# cat proc/mi_modules/mi_ao/mi_ao0 =============================Private AO0 Info ===================== -----Start AO Dev0 Attr--------------------------------------------------------------- AoDev WorkMode SampR BitWidth SondMod PtNumPerFrm 0 i2s-mas 32000 16bit mono 768 bMute VolumedB TotalWrFrmCnt 0 0 583 -----End AO Dev0 Attr---------------------------------------------------------------- -----Start AO CHN0 STATUS------------------------------------------------------------ AoDev AoChn bReSmp InSampR OutSampR 0 0 0 0 32000 -----AO CHN0 VQE STATUS------------------------------------------------------------ AoDev AoChn bVqe WorkRate PoiNum 0 0 0 0 0 -----AO CHN0 ANR of VQE STATUS------------------------------------------------------ AoDev AoChn bAnr NrIntensity 0 0 0 0 -----AO CHN0 AGC of VQE STATUS------------------------------------------------------ AoDev AoChn bAgc TargetLevel NoiseFloor 0 0 0 0 0 -----AO CHN0 EQ of VQE STATUS------------------------------------------------------- AoDev AoChn bEq 0 0 0 -----AO CHN0 HPF of VQE STATUS------------------------------------------------------ AoDev AoChn bHpf HpfFreq 0 0 0 0 -----End AO Chn0 STATUS-------------------------------------------------------------
-
调试信息分析
记录当前AO的使用状况以及device属性、channel属性,可以动态地获取到这些信息,方便调试和测试。
-
参数说明
表4-1
参数 描述 AO Device Attr (AO设备属性) AoDev AO设备号: 取值范围:[0~2] WorkMode AO 工作模式
i2s-mas: I2S master
i2s-sla: I2S slave
tdm-mas: TDM masterSamR Sample Rate(采样率): 8000, 16000, 32000, 48000 BitWidth 采样精度: 16bit, 24bit SondMod 声音模式
mono:单声道
stereo:立体声PtNumPerFrm 每帧的采样点个数: 128倍数 bMute AO 设备静音功能是否开
1: Enable
0: DisableVolumedB AO 设备的输出音量大, 取值范围: [-114 ~ +12] dB TotalWrFrmCnt AO设备目前输出的Frame数目
4.2. echo¶
表4-2
功能 | 动态启用/关闭AO设备静音模式 |
---|---|
命令 | echo setaomute [Status] > proc/mi_modules/mi_ao/mi_ao[ID] |
参数说明 | [Status] ON 开启静音模式 OFF 关闭静音模式 [ID] 设备号 [0~2] |
举例 | 无 |
功能 | 动态修改AO volume大小 |
命令 | echo setaovolume [Steps] > proc/mi_modules/mi_ao/mi_ao[ID] |
参数说明 | [Steps] 调整步长 [-114~12]dB [ID] 设备号 [0~2] |
举例 | 无 |
5. VIF¶
5.1. cat¶
-
调试信息
#cat /proc/mi_modules/mi_vif/mi_vif0 ------------------------- start dump vif dev 0 info-------------------------------- u32VifDevIdx: 0 eIntfMode: 0 eWorkMode:0 eClkEdge:0 au32CompMask [0]: ff000000 [1]:00000000 as32AdChnId [0]: -1 [1]:-1 [2]: -1 [3]:-1 bDataRev:0 u32VifDevIdx: 1 eIntfMode: 0 eWorkMode:0 eClkEdge:0 au32CompMask [0]: ff000000 [1]:00000000 as32AdChnId [0]: -1 [1]:-1 [2]: -1 [3]:-1 bDataRev:0 ------------------------- start dump vif dev:0 chn:0 port 0 :-------------------------------- s32X: 0 s32Y: 0 u32Width: 720 u32Height: 240 u32HalBufferHold: 2 eFormat: 9 u32VbFail: 0
-
调试信息分析
记录当前VIF的使用状况以及device属性、OutPort属性、可以动态地获取到这些信息,方便调试和测试。
-
参数说明
表5-1
参数 描述 Dev info u32VifDevIdx Dev号 eIntfMode 输入数据的协议 eWorkMode 工作模式 eClkEdge 时钟边沿触发模式 au32CompMask 分量掩码配置 as32AdChnId 通道映射关系,一般设置为-1 bDataRev 反向连接 表5-2
参数 描述 OutPort Info s32X X坐标 s32Y Y坐标 u32Width 宽度 u32Height 高度 u32HalBufferHold Mhal层保存的Buffer数量 eFormat 格式 u32VbFail Get Buffer 错误的此数
6. VPE¶
6.1. cat¶
-
调试信息
# cat /proc/mi_modules/mi_vif/mi_vif0
图6-1
-
调试信息分析
记录当前VPE的使用状况以及device属性、OutPort属性、可以动态地获取到这些信息,方便调试和测试。
-
参数说明
表6-1
参数 描述 Device Info DevID 0, 只有一个Device, ID为0 3DNR_Status E_MI_VPE_3DNR_STATUS_INVALID = 0, E_MI_VPE_3DNR_STATUS_IDLE, E_MI_VPE_3DNR_STATUS_NEED_UPDATE, E_MI_VPE_3DNR_STATUS_RUNNING, E_MI_VPE_3DNR_STATUS_UPDATED, E_MI_VPE_3DNR_STATUS_NUM,
chnid 为当前3DNR正在处理的channelIDROI_Status E_MI_VPE_ROI_STATUS_INVALID = 0,E_MI_VPE_ROI_STATUS_IDLE, //---> free
E_MI_VPE_ROI_STATUS_NEED_UPDATE, // user call ROI
E_MI_VPE_ROI_STATUS_RUNNING, // ROI in cmdQ
E_MI_VPE_ROI_STATUS_UPDATED, // ISR ROI finish
E_MI_VPE_ROI_STATUS_NUM,SupportIRQ 0: 当前不支持IRQ
1: 当前支持IRQ. (在procfs中可以控制该值开关中断)IRQ_num 中断号 IRQ_Enable 0:IRQ失能
1:IRQ使能OutputBufferGetFailCnt 获取outputbuffer总过失败的次数 表6-2
参数 描述 Channel Info ChnId Channel ID 0~63 status E_MI_VPE_CHANNEL_STATUS_INITED = 0, E_MI_VPE_CHANNEL_STATUS_START, E_MI_VPE_CHANNEL_STATUS_STOP, E_MI_VPE_CHANNEL_STATUS_DESTROYED, E_MI_VPE_CHANNEL_STATUS_NUM, InputW InputH 输入的宽高 CropX CropY CropW CropH Crop的位置 Roation E_MI_SYS_ROTATE_NONE, //Rotate 0 degrees E_MI_SYS_ROTATE_90, //Rotate 90 degrees E_MI_SYS_ROTATE_180, //Rotate 180 degrees E_MI_SYS_ROTATE_270, //Rotate 270 degrees E_MI_SYS_ROTATE_NUM, GetOutPutBufferFailCnt Channel获取outputbuffer失败的次数 TaskTime_mean 获取inputbuffer到finishoutputbuffer的平均时间 TaskTime_max 获取inputbuffer到finishoutputbuffer的最大时间 GetInputBufferCnt channel拿到inputbuffer的数量 表6-3
参数 描述 Outputport Info Channel ID 0~63 ChnId PortId 0~3 Enable 0:port disable
1:port enablePixel E_MI_SYS_PIXEL_FRAME_YUV422_YUYV = 0, E_MI_SYS_PIXEL_FRAME_ARGB8888, E_MI_SYS_PIXEL_FRAME_ABGR8888, E_MI_SYS_PIXEL_FRAME_RGB565, E_MI_SYS_PIXEL_FRAME_ARGB1555, E_MI_SYS_PIXEL_FRAME_I2, E_MI_SYS_PIXEL_FRAME_I4, E_MI_SYS_PIXEL_FRAME_I8, E_MI_SYS_PIXEL_FRAME_YUV_SEMIPLANAR_422, E_MI_SYS_PIXEL_FRAME_YUV_SEMIPLANAR_420, E_MI_SYS_PIXEL_FRAME_YUV_MST_420, //vdec mstar private video format E_MI_SYS_PIXEL_FRAME_YC420_MSTTILE1_H264, E_MI_SYS_PIXEL_FRAME_YC420_MSTTILE2_H265, E_MI_SYS_PIXEL_FRAME_YC420_MSTTILE3_H265, E_MI_SYS_PIXEL_FRAME_FORMAT_MAX OutputW OutputH 输出宽 输出高 Compress E_MI_SYS_COMPRESS_MODE_NONE,//no compress E_MI_SYS_COMPRESS_MODE_SEG,//compress unit is 256 bytes as a segment E_MI_SYS_COMPRESS_MODE_LINE,//compress unit is the whole line E_MI_SYS_COMPRESS_MODE_FRAME,//compress unit is the whole frame E_MI_SYS_COMPRESS_MODE_BUTT, //number GetOutputBufferCnt 获取outputbuffer的数量 FinishOutputBufferCnt 处理完outputbuffer的数量
6.2. echo¶
表6-4
功能 | 控制使用cmdq方式,设置下次启动VPE的时候生效。 |
---|---|
命令 | echo disable_cmdq [Status] > /proc/mi_modules/mi_vpe0 |
参数说明 | [Status] ON 下寄存器指令来一个下一个 OFF 使用造剧本的方式下寄存器指令 |
举例 | 无 |
表6-5
功能 | 控制是否使用IRQ,设置下次启动VPE的时候生效 |
---|---|
命令 | echo disable_irq [Status] > /proc/mi_modules/mi_vpe0 |
参数说明 | [Status] ON 不使用IRQ中断 OFF 使用IRQ中断 |
举例 | 无 |
表6-6
功能 | 打印接收到每一帧的PTS,Debug Frame 顺序问题,正常情况下PTS是递增的 |
---|---|
命令 | echo checkframepts [ChnID] [Status] > /proc/mi_modules/mi_vpe/mi_vpe0 |
参数说明 | [ChnID] 通道号 [0~63] [Status] ON 开始打印 OFF 停止打印 |
举例 | echo checkframepts 1 ON > /proc/mi_modules/mi_vpe/mi_vpe0 [MI VPE PROCFS]:ChnID 1, receive buffer ID = 111, PTS = 31461 [MI VPE PROCFS]:ChnID 1, receive buffer ID = 112, PTS = 31467 [MI VPE PROCFS]:ChnID 1, receive buffer ID = 113, PTS = 31471 [MI VPE PROCFS]:ChnID 1, receive buffer ID = 114, PTS = 31475 [MI VPE PROCFS]:ChnID 1, receive buffer ID = 115, PTS = 31479 [MI VPE PROCFS]:ChnID 1, receive buffer ID = 116, PTS = 31485 [MI VPE PROCFS]:ChnID 1, receive buffer ID = 117, PTS = 31493 recieve buffer ID:每个channel接收到buffer的ID。 PTS: FrameBuffer的PTS。 |
表6-7
功能 | 统计1秒时间内GetBuffer的数量,以及每拿到两个inputbuffer之间的间隔时间的平均值,最大值,最小值,Debug丢帧问题。 |
---|---|
命令 | echo statintervaltime [ChnID] [Status] > /proc/mi_modules/mi_vpe/mi_vpe0 |
参数说明 | [ChnID] 通道号 [0~63] [Status] ON 开始统计和打印 OFF 停止统计和打印 |
举例 | echo statintervaltime [chnID] ON/OFF > /proc/mi_modules/mi_vpe/mi_vpe0 [MI VPE PROCFS]:ChnlID 1,1s FrameCnt:15,Average time: 62666 us,MAX 120006us,100030us,100024us,MIN 19974 us,19993 us,19999 us [MI VPE PROCFS]:ChnlID 1,1s FrameCnt:14,Average time: 62857 us,MAX 139973us,100024us,80005 us,MIN 19956 us,20039 us,40008 us [MI VPE PROCFS]:ChnlID 1,1s FrameCnt:11,Average time: 74546 us,MAX 200001us,199984us,100020us,MIN 19973 us,19984 us,19994 us [MI VPE PROCFS]:ChnlID 1,1s FrameCnt:12,Average time: 69998 us,MAX 119952us,99984 us,80059 us,MIN 19966 us,39962 us,40005 us [MI VPE PROCFS]:ChnlID 1,1s FrameCnt:11,Average time: 74546 us,MAX 200009us,119988us,100017us,MIN 19964 us,20018 us,39991 us FrameCnt: 1秒时间GetBuffer的数量 Average time: 拿到两个buffer之间间隔时间的平均时间 MAX:间隔时间最大的三个值 MIN: 间隔时间最小的三个值 |
7. VENC¶
7.1. cat¶
-
调试信息
#cat /proc/mi_modules/mi_venc/mi_venc2 ------------------------- Start dump VENC 2 Dev info -------------------------- DevId CmdqId CmdqSize CmdqCnt IrqNum FromIsr 2 0 0 0 100 0 ------------------------- Start dump VENC 2 CHN info -------------------------- ChnId RefMemPA RefMemVA RefMemBufSize AlMemPA AlMemVA AlMemBufSize 0 87040000 (null) 200 87035904 cebc9000 100 ChnId bStart bSelected FrameCnt 0 1 0 0 ----------------------------- InputPort of dev: 2 ----------------------------- ChnId Width Height SrcFrmRate MaxW MaxH FrameCnt DropFrameCnt 0 352 288 30 352 288 0 0 ---------------------------- OutputPort of dev: 2 ----------------------------- ChnId CODEC Profile BufSize RefNum bByFrame FrameCnt DropFrameCnt 0 H264 0 0 0 0 0 0 ChnId RateCtl GOP Bitrate QP.I QP.P 0 FixQP 30 0 45 45
-
调试信息分析
记录当前某VENC device的使用状况,以及device属性、layer属性、inputport属性,可以动态地获取到这些信息,方便调试和测试。
-
参数说明
表7-1
参数 描述 Device Info DevID 设备号,作为Dev ID使用 (对映内核MI_VENC_Dev_e) CmdqId Command Queue号 CmdqSize Command Queue单帧大小 (bytes) CmdqCnt Command Queue数量 (number of frames) IrqNum 中断号 FromIsr 是否有未处理ISR信号:0:无 1:中 表7-2
参数 描述 CHN info ChnId Channel ID 通道号 RefMemPA 底层driver要求的硬件物理位址 RefMemVA 底层driver要求的硬件虚拟位址 RefMemBufSize 底层driver要求的硬件内存大小 AlMemPA 底层driver要求的CPU物理位址 AlMemVA 底层driver要求的CPU虚拟位址 AlMemBufSize 底层driver要求的CPU内存大小 bStart 是否已开始接收数据 bSelected 是否有处理中的数据 表7-3
参数 描述 Inputport info ChnId Channel ID 通道号 Width 画面宽度 (pixels) Height 画面高度 (pixels) SrcFrmRate 来源每秒帧数,通常以此作为rate control的参数 MaxW 最大画面宽度 (pixels) MaxH 最大画面高度 (pixels) FrameCnt 已处理的帧数 DropFrameCnt 已丢弃的帧数 表7-4
参数 描述 Outputport info ChnId Channel ID 通道号 CODEC 使用何种CODEC: H264,H265,MJPG Profile Profile值 BufSize 由user设定的每帧最大缓存 (bytes) RefNum 最大参考帧数 bByFrame 后级是否一次取走一帧?
0:否,通常代表按包取数据
1:是FrameCnt 已处理的帧数 DropFrameCnt 已丢弃的帧数 Outputport Rate Control Info RateCtl Rate Control的算法:CBR, VBR, FixQp等 GOP Group of Picture大小 Bitrate CBR, VBR时,最大的目标码率。(bits per second) QP.I FixQp 时,I帧的QP QP.P FixQp 时,P帧的QP StatTime CBR, VBR时,算法操作的时间参数 FluctuateLevel CBR时,允许的摆荡程度 MaxQp VBR时,允许的最大QP MinQp VBR时,允许的最小QP
7.2. echo¶
表7-5
功能 | 开启或者关闭command queue 开机初始设定或者Demo退出后,下次生效 |
---|---|
命令 | echo enable_cmdq [Status] > /proc/mi_modules/mi_venc/mi_venc[DevID] |
参数说明 | [Status] 1 开启 0 关闭 [DevID] 设备ID [0~3] |
举例 | echo enable_cmdq 0 –h > /proc/mi_modules/mi_venc/mi_venc0 关闭devcie 0的cmdq |
表7-6
功能 | 开启或者关闭中断 开机初始设定或者Demo退出后,下次生效 |
---|---|
命令 | echo enable_irq [Status] > /proc/mi_modules/mi_venc/mi_venc[DevID] |
参数说明 | [Status] 1 开启 0 关闭 [DevID] 设备ID [0~3] |
举例 | echo enable_irq 0 –h > /proc/mi_modules/mi_venc/mi_venc0 关闭 devide 0 的中断 |
表7-7
功能 | 设定模块工程Log等级 直接修改输出Log等级,立即生效 |
---|---|
命令 | echo dbg_level [Level] > /proc/mi_modules/mi_venc/mi_venc[DevID] |
参数说明 | [Level] [0~3] 0: None 1: Error 2: option 1+ warning 3: option 2+ information [DevID] 设备号 [0~3] |
举例 | 无 |
8. DIVP¶
8.1. cat¶
-
调试信息
# cat /proc/mi_modules/mi_divp/mi_divp0
图8-1
-
调试信息分析
记录当前某DIVP device的使用状况,以及device属性、layer属性、inputport属性,可以动态地获取到这些信息,方便调试和测试。
-
参数说明
表8-1
参数 描述 channelinfo ChnId 0~31 32 Capture Channel 不对上层开放 Status 0 INITED
1 CREATED
2 STARTED
3 STOPED
4 DISTROYEDAttrChg 0:not change
1:changedbSendFrameTwice 0: not sendFrameTwice
1:SendFrameTwice *if the channel's TNR is opend, when I/P mode change or the first frame is comming in, the frame need to be send twice to avoid showwing garbage.FieldType0, FieldType1 (last two fields's type) 0 NONE, //< no field.
1 TOP, //< Top field only.
2 BOTTOM, //< Bottom field only.
3 BOTH, //< Both fields.
4 NUMTaskMeanTime GetBuffer到Releasebuffer的平均时间 TaskMaxTime GetBuffer到Releasebuffer的最大时间 ChnAttr 当前channel属性 ChnAttrPre channel的上一次设置属性 ChnAttrOrg channel的原始设置属性 MaxW,MaxH 设置最大宽高 CropX,CropY,CropW,CropH 上层设置的crop位置 bHMirror bVMirror 水平翻转使能 垂直翻转使能
0:disable
1:enableeDiType 0 OFF,//off
1 2D,///2.5D DI
2 3D,///3D DI
3 NUM,eRotateType 0 NONE, //Rotate 0 degrees
1 90, //Rotate 90 degrees
2 180, //Rotate 180 degrees
3 270, //Rotate 270 degrees
4 NUM,eTnrLevel 0 OFF,
1 LOW,
2 MIDDLE,
3 HIGH,
4 NUM,表8-2
参数 描述 inputport info ChnId Channel ID 0~31 InputChg input port 属性是否发生变化 bIPChg 0 隔行和逐行之间没有发生变化 1 隔行切换到逐行,or 逐行到隔行 Width input port width Height input port height Pixel E_MI_SYS_PIXEL_FRAME_YUV422_YUYV = 0, E_MI_SYS_PIXEL_FRAME_ARGB8888, E_MI_SYS_PIXEL_FRAME_ABGR8888, E_MI_SYS_PIXEL_FRAME_RGB565, E_MI_SYS_PIXEL_FRAME_ARGB1555, E_MI_SYS_PIXEL_FRAME_I2, E_MI_SYS_PIXEL_FRAME_I4, E_MI_SYS_PIXEL_FRAME_I8, E_MI_SYS_PIXEL_FRAME_YUV_SEMIPLANAR_422, E_MI_SYS_PIXEL_FRAME_YUV_SEMIPLANAR_420, E_MI_SYS_PIXEL_FRAME_YUV_MST_420, //vdec mstar private video format E_MI_SYS_PIXEL_FRAME_YC420_MSTTILE1_H264, E_MI_SYS_PIXEL_FRAME_YC420_MSTTILE2_H265, E_MI_SYS_PIXEL_FRAME_YC420_MSTTILE3_H265, E_MI_SYS_PIXEL_FRAME_FORMAT_MAX GetBuffCnt 获取buffer的数量 表8-3
参数 描述 Outputport Info ChnId Channel ID 0~31 OutputChg Output 属性是否发生变化 0: not change 1: changed Width Height output port宽高 Pixel 同input pixel CompMode 0 //no compress
1 //compress unit is 256 bytes as a segment
2 //compress unit is the whole line
3 //compress unit is the whole frame
4 //numberPreWidth PreHeight PrePixel 上一次设置的output port 宽高和像素 PrepareOutBufCnt 从sys拿到的outputbuffer 数量 FinishOutBufCnt divp处理的buffer数量
8.2. Echo¶
表8-4
功能 | 打印接收到每一帧的PTS,如果前端是VDEC,会打印VDEC送过来的FrameID,Debug丢帧问题,正常情况下FrameID和PTS的值都是递增的。 |
---|---|
命令 | echo checkframeid [ChnID] [Status] > /proc/mi_modules/mi_divp/mi_divp0 |
参数说明 | [ChnID] 通道号 [0~32] [Status] ON 开始打印 OFF 停止打印 |
举例 | echo checkframeid 0 ON/OFF > /proc/mi_modules/mi_divp/mi_divp0 [MI DIVP PROCFS]:ChnID 0, receive buffer ID = 63 , H = 0, L = 196615, PTS = 43956000 [MI DIVP PROCFS]:ChnID 0, receive buffer ID = 64 , H = 0, L = 196616, PTS = 43989000 [MI DIVP PROCFS]:ChnID 0, receive buffer ID = 65 , H = 0, L = 196615, PTS = 44022000 [MI DIVP PROCFS]:ChnID 0, receive buffer ID = 66 , H = 0, L = 196615, PTS = 44055000 [MI DIVP PROCFS]:ChnID 0, receive buffer ID = 67 , H = 0, L = 196615, PTS = 44088000 [MI DIVP PROCFS]:ChnID 0, receive buffer ID = 68 , H = 0, L = 196615, PTS = 44121000 [MI DIVP PROCFS]:ChnID 0, receive buffer ID = 69 , H = 0, L = 196614, PTS = 44154000 [MI DIVP PROCFS]:ChnID 0, receive buffer ID = 70 , H = 0, L = 196615, PTS = 44187000 receive buffer ID:每个channel接收到buffer的ID。 H,L:VDEC 送来的FrameID,H高32位,L低32位,前端不是VDEC则无该打印。 PTS:FrameBuffer的PTS。 |
表8-5
功能 | 统计1秒时间内GetBuffer的数量,以及每拿到两个inputbuffer之间的间隔时间的平均值,最大值,最小值,Debug丢帧问题。 |
---|---|
命令 | echo statintervaltime [ChnID] ON/OFF > /proc/mi_modules/mi_divp/mi_divp0 |
参数说明 | [ChnID] 通道号 [0~32] [Status] ON 开始统计并打印 OFF 停止统计和打印 |
举例 | echo statintervaltime 0 ON > /proc/mi_modules/mi_divp/mi_divp0 [MI DIVP PROCFS]:ChnlID 0,1s FrameCnt:19,Average time: 50393 us,MAX 59601 us,57652 us,57534 us,MIN 41401 us,42415 us,42896 us [MI DIVP PROCFS]:ChnlID 0,1s FrameCnt:19,Average time: 50247 us,MAX 63004 us,62889 us,62845 us,MIN 36896 us,37120 us,37130 us [MI DIVP PROCFS]:ChnlID 0,1s FrameCnt:18,Average time: 51049 us,MAX 70431 us,59763 us,59736 us,MIN 38873 us,40109 us,40283 us [MI DIVP PROCFS]:ChnlID 0,1s FrameCnt:20,Average time: 48537 us,MAX 67168 us,67117 us,66953 us,MIN 18513 us,31242 us,32681 us [MI DIVP PROCFS]:ChnlID 0,1s FrameCnt:19,Average time: 49962 us,MAX 61416 us,61416 us,61338 us,MIN 38564 us,38736 us,38762 us FrameCnt: 1秒时间GetBuffer的数量 Average time: 拿到两个buffer之间间隔时间的平均时间 MAX:间隔时间最大的三个值。 MIN: 间隔时间最小的三个值 |
表8-6
功能 | DIVP不再处理某一个channel,以节省频宽,验证频宽相关问题 |
---|---|
命令 | echo stoponechannel [ChnID] [Status] > /proc/mi_modules/mi_divp/mi_divp0 |
参数说明 | [ChnID] 通道号 [0~32] [Status] ON 停止处理设置的channel OFF继续处理设置的channel |
举例 | echo stoponechannel 0 ON > /proc/mi_modules/mi_divp/mi_divp0 通道0的画面将会停住 |
表8-7
功能 | DIVP不处理所有的channel,DIVP硬件的属性为设置的Channel的属性。可以通过Debug Register来调试指定的channel。 |
---|---|
命令 | echo processonechannel [ChnID] [Status] > /proc/mi_modules/mi_divp/mi_divp0 |
参数说明 | [ChnID] 通道号 [0~32] [Status] ON 停止所有的通道,硬件属性为所设置的通道的属性(即此通道会再处理一次) OFF 所有通道正常运行 |
举例 | echo processonechannel 0 ON > /proc/mi_modules/mi_divp/mi_divp0 所有通道全部停止即画面卡住,但通道0会多处理一帧 echo processonechannel 0 OFF > /proc/mi_modules/mi_divp/mi_divp0 所有通道回复正常工作 |
9. VDISP¶
9.1. cat¶
-
调试信息
# cat proc/mi_modules/mi_vdisp/mi_vdisp0 ============================Private Vdisp0 Info =============================== DevStatus Start ------------------------------------------------------- Input Port Info--------------------------------------------- PortID PortStatus ChnX ChnY ChnW ChnH IsFreeRun TryOk RecvOk 0 Enabled 0 0 960 540 1 245356299 313332 1 Enabled 960 0 960 540 1 355670297 313332 2 Enabled 0 540 960 540 1 578760014 313331 3 Enabled 960 540 960 540 1 757579130 313330 ------------------------------------------------------ Output Port Info------------------------------------------------- Inited FrmInterval BgColor PixelFmt FrmRate Width Height SendOk 1 33333 8388736 0 30 1920 1080 471418
-
调试信息分析
记录当前VDISP的使用状况以及device属性、Input port属性、Output port属性,可以动态地获取到这些信息,方便调试和测试。
-
参数说明
表9-1
参数 描述 device info DevStatus Vdisp设备的工作状态
Uninit:未初始化
Init:初始化
Start:运行状态
Stop:停止状态表9-2
参数 描述 layer info PortID Inport ID
取值范围:[0~16],16为overlay通道,即PIP通道PortStatus Port口状态
Uninit:inport未初始化
Init:inport已初始化
Enabled:inport已经使能
Disabled:inport已经禁用ChnX 输入inport的起始坐标X地址
取值范围:[0~4094],需要根据chip的align对齐ChnY 输入inport的起始坐标Y地址
取值范围:[0~2159]ChnW 输入inport的图像宽度,需要根据chip的align对齐
取值范围:[0~4096]ChnH 输入inport的图像高度
取值范围:[0~4096]IsFreeRun 是否不做帧率控制
0:按pts控制播放
1:自由播放TryOk 尝试取前级绑定端口的数据次数 RecvOk 从前级绑定端口成功拿到数据的次数 表9-3
参数 描述 Output port info Inited 是否有初始化Output Port
0:未初始化
1:已初始化FrmInterval 出帧时间间隔,单位US BgColor 背景色,此处打印的是10进制 PixelFmt 色彩空间
取值范围[0~E_MI_SYS_PIXEL_FRAME_FORMAT_MAX-1] 0-YUYV422,9-YUVSP420FrmRate 输出帧率 Width 图像输出宽度
取值范围:[0~4096],需要根据chip的align对齐Height 图像输出高度
取值范围:[0~2160],需要根据chip的align对齐SendOk 成功推往后级的帧数统计
10. DISP¶
10.1. cat¶
-
调试信息
# cat /proc/mi_modules/mi_disp/mi_disp0 ------------------------- start dump dev 0 Info ------------------------- DevStatus IrqNum IrqStatus BgColor CvbsStatus 1 211 1 0 0 Interface DevTiming CscMatrix Luma Contrast 5 16 0 50 50 Hue Saturation Gain Sharpness ActiveLayerId 50 50 0 0 0 ------------------------- End dump dev 0 Info ------------------------- ------------------------- start dump dev 0 Chn 0 Info ------------------------- LayerId LayerStatus BindedDevID ePixFormat Compress 0 1 0 0 0 LayerWidth LayerHeight LayDispWidth LayDispHeight Toleration 1920 1080 1920 1080 100 PendingBufCnt 0 ------------------------- End dump dev 0 Chn 0 Info ------------------------- ------------------------- start dump dev 0 Chn 0 InputPort 0 Info------------------------- ParentLayerId PortStatus DispWin_x DispWin_y DispWinWidth 0 0 0 0 1920 DispWinHeight ZoomWin_x ZoomWin_y ZoomWinWidth ZoomWinHeight 1080 0 0 0 0 SyncMode FlipByGe PtsResetCnt FramePtsBefore FiredDiff 0 0 0 1 25617320 LastFramePts RecvCurPts NextPts 35232981 35232981 35183296 ------------------------- End dump dev 0 Chn 0 InputPort 0 Info-------------------------
-
调试信息分析
记录当前DISP的使用状况以及device属性、layer属性、inputport属性,可以动态地获取到这些信息,方便调试和测试。
-
参数说明
表10-1
参数 描述 device info DevStatus 使能或者禁用
0:禁用
1:使能IrqNum 中断号 IrqStatus 是否开启中断
0:中断禁用
1:中断使能BgColor 背景色(RGB format) CvbsStatus 是否开启cvbs
0:关闭cvbs
1:开启cvbsInterface 接口类型
取值范围:(CVBS、YPBPR、VGA、BT656、BT1120、HDMI、LCD、BT656_H、BT656_L)DevTiming 输出时序
取值范围:[0~ E_MI_DISP_OUTPUT_USER]CscMatrix CSC矩阵选择
取值范围:[0~ E_MI_DISP_CSC_MATRIX_RGB_TO_BT709_PC]Luma 亮度
取值范围:[0 ~ 100] 默认50Contrast 对比度
取值范围:[0 ~ 100] 默认50Hue 色调
取值范围:[0 ~ 100] 默认50Saturation 饱和度
取值范围:[0 ~ 100] 默认40Active Layers 关联了那些Layer
取值范围:[0~1]表10-2
参数 描述 layer info LayerId layer
ID 取值范围:[0~1]LayerStatus layer状态
0:关闭layer
1:开启layerBindedDevID 绑定的device ID
取值范围:[0~1]ePixFormat 像素格式
取值范围:[0~E_MI_SYS_PIXEL_FRAME_YC420_MSTTILE3_H265]Compress 数据压缩
取值范围:[E_MI_SYS_COMPRESS_MODE_NONE~E_MI_SYS_COMPRESS_MODE_BUTT]LayerWidth Layer的宽 LayerHeight Layer的高 LayDispWidth Layer显示的宽 LayDispHeight Layer显示的高 Toleration PTS误差允许阈值,单位毫秒 PendingBufCnt 当前还有多少待显示的Frame 表10-3
参数 描述 Inputport info ParentLayerId 关联的layer ID 取值范围:[0~1] PortStatus port状态 取值范围:[E_MI_LAYER_INPUTPORT_STATUS_INVALID~ E_MI_LAYER_INPUTPORT_STATUS_HIDE] DispWin_x 该port在layer上的起始横坐标 DispWin_y 该port在layer上的起始纵坐标 DispWinWidth 该port输入的宽度 DispWinHeight 该port输入的高度 ZoomWin_x 局部放大区域起始横坐标 ZoomWin_y 局部放大区域起始纵坐标 ZoomWinWidth 局部放到区域宽度 ZoomWinHeight 局部放大区域高度 Sync Mode Check PTS/Free Run
0:无效
1:Check PTS
2:Free RunFlipByGe 是否使用GE 0:不使用GE 1:使用GE PTS reset Cnt reset pts的统计记录 FramePtsBefore Frame pts是否超前于系统时间用于计算nextpts 0:滞后 1:超前 FiredDiff 根据FramePtsBefore计算的系统时间和FramePts的差值(绝对值) LastFramePts 最近一次Flip的FramePts RecvCurPts 当前接收到buff的FramePts NextPts 期望的下一帧FramePts
11. HDMI¶
11.1. cat¶
-
调试信息
# cat /proc/mi_modules/mi_hdmi/mi_hdmi0 --------------------------------------- HDMI0 Dev Info------------------------------------- InitFlag AvMute PowerOn Y N Y EnableVideo TimingType OutputMode ColorType DeepColorMode 1 9 0 2 4 EnableAudio IsMultiChannel BitDepth CodeType SampleRate 1 0 16 0 3
-
调试信息分析
记录当前HDMI的使用状况以及device属性可以动态地获取到这些信息,方便调试和测试。
-
参数说明
表11-1
参数 描述 device info InitFlag HDMI模块是否初始化
Y:已初始化
N:未初始化AvMute 音视频是否处于MUTE状态
Y:被MUTE
N:未被MUTEPowerOn HDMI是否使能电源管理
Y:是
N:否EnableVideo 是否使能视频
0:未使能
1:使能TimingType 当前HDMI的输出分辨率
取值范围[0~ E_MI_HDMI_TIMING_MAX]OutputMode HDMI输出模式
0:HDMI模式
2:DVI模式 ⅓为HDCP模式,当前暂不支持ColorType 颜色空间
0:RGB44
1:YUV422
2:YUV444
3:YUV420DeepColorMode 色彩位深
0:8Bit
1:10Bit
2:12Bit
3:16BitEnableAudio 是否使能音频
0:未使能
1:使能IsMultiChannel 是否多通道
0:否
1:是BitDepth 音频采样位深
8:8Bit
16:16Bit
32:32BitCodeType 音频输出的压缩格式
0:PCM
1:非PCMSampleRate 音频输出采样率
0:未知
1:32K
2:44K
3:48K
4:88K
5:96K
6:176K
7:192K
12. FB¶
12.1. cat¶
-
调试信息
# cat /proc/mi_modules/mi_fb0 ############################OnDumpOSDAttr#################################### Framebuffer iFramebuffer id = MStar FB0 xres=1280, yres=720 xres_virtual=1280, yres_virtual=1440 xoffset=0,yoffset=0 fix.line_length=0xa00 Bytes fix.smem_start=0xf800000 Memory Size=0x400000 Bytes Gop ID=0 Gwin ID=0 Open Count=1 Visible State=0 MIU Sel=0 ColorSpace=YUV ColorFomrmat=ARGB1555 StretchWindow Pos[0,0] StretchWindow Src[1280,720],StretchWindow Dst[1920,1080] Gwin Pos[0,0] Gwin Size[1280,720] Gwin PhyAddr=0x0 ColorKey Enable=0 ColorKey Val=[0,0,0] Enable Alpha Blend=1 Enalbe Multi Alpha=0 Global Alpha Val=0x0 Alpha0=0x0,Alpha1=0x0,(Only for ARGB1555) GOP Hstart=192 Current TimingWidth=1920,TimingWidth=1080,hstar=192 ##################################end########################################## #########################OnDumpHwcursorAttr#################################### Cursor Gop ID=4 Cursor Gwin ID=6 Cursor MIU Sel=0 Cursor PhyAddr=0x166000 Cursor ColorFmt=ARGB8888 Cursor Icon Width=44,Height=56 Cursor HotSpot[18,9] Cursor request pos[712,207] Cursor Visible=1 Cursor Gwin Pos[694,198] Cursor Gwin Size[44,56] Cursor Gwin Pitch=0x200 Bytes Curosr StretchWindow pos[0,0] Cursor StretchWin Src[1280,720],Dst[1920,1080] Cursor ColorKey Enable=0 Cursor ColorKey Value=[0xff,0xff,0xff] ############################OnDumpHwcursorAttr#################################
-
调试信息分析
记录当前Fbdev && Hwcursor的使用状况以及OSD图层属性、OSD device属性、Hwcursor属性,可以动态地获取到这些信息,方便调试和测试。
-
参数说明
表12-1
参数 描述 OSD info Framebuffer id Framebuffer设备ID xres 可见分辨率宽度 yres 可见分辨率宽高度 xres_virtual 虚拟分辨率的宽度 yres_virtual 虚拟分辨率的高度 xoffset 可见分辨率到虚拟分辨率的x偏移量 yoffset 可见分辨率到虚拟分辨率的y偏移量 fix.line_length 虚拟分辨率每行的字节数 fix.smem_start 帧缓冲内起始地址 Memory Size 帧缓冲内存长度,单位字节数 表12-2
参数 描述 OSD device info Gop ID 图层硬件ID Gwin ID 图层硬件显示窗口ID Open Count 该图形层打开次数。在用户调用open()时增1;调用close()时减1 Visible State 该图层显示状态。 取值:{1表示可见,0表示不可见} 用户显示调用FBIOSET_SHOW去设置图层可见状态。 MIU Sel 保存帧缓冲数据的物理内存编号。 对于MSR620设备该值为0 ColorSpace 该图形层输出的颜色空间。 取值:{YUV表示输出YUV color space;RGB表示输出RGB color space }。默认为YUV ColorFomrmat 图形层格式 取值:{ARGB1555,ARGB4444,ARGB8888,RGB565}。 用户设置可变屏幕信息中的格式项后更新 StretchWindow Pos 图形层在显示设备上的起始位置。 单位:像素 默认为0,用户可调用FBIOSET_SCREEN_LOCATION去设置 StretchWindow Src 图形层原始分辨率的宽度和高度。 单位:像素 通过硬件放大功能放大到当前timing。用户设置可变屏幕信息中的可见分辨率后更新 StretchWindow Dst 图形层在显示设备上的宽度和高度。 默认设置为输出timing大小。可以通过FBIOSET_SCREEN_LOCATION去设置 Gwin Pos 图形层显示窗口的起始位置 单位:像素 对于OSD图层来说,该值总是为(0,0) Gwin Size 图形层显示窗口的宽度、高度。 单位:像素 对于OSD图层来说,该值总是被设置为可见分辨率的宽度、高度。用户设置可变屏幕信息中的可见分辨率后更新 Gwin PhyAddr 图形层当前显示数据的物理地址 ColorKey Enable 图形层ColorKey是否使能 取值:{0表示Disable ColorKey; 1表示Enable ColorKey}用户设置可通过FBIOSET_COLORKEY去设置 ColorKey Val 图形层ColorKey的RED,GREEN,BLUE通道数值 取值:每个通道的取值范围从0-255。ColorKey val的数值用RGB888格式表示 用户可通过FBIOSET_COLORKEY去设置后更新 Enable Alpha Blend 图形层alpha是否使能。 取值:{0表示否,1表示是},默认为1。 用户可通过FBIOSET_GLOBAL_ALPHA去设置后更新。 该项关闭,则像素alpha配置不生效。该项开启且Enable Multi Alpha关闭,仅像素alpha生效(对于ARGB1555格式,Alpha bit为1的像素使用Global Alpha作为像素alpha,Alpha bit为0的像素使用0xff作为像素alpha)。当该项目开启且Enable Multi Alpha生效时,则像素alpha和Global Alpha都生效 Enable Multi Alpha 全局alpha是否生效开关 取值{0时,1否}默认值为0 Enable Multi Alpha使能,Global Alpha便生效 Global Alpha Val 全局Alpha Alpha0 ARGB1555格式时,当最高位为0时,选择Alpha0作为Alpha混合的的Alpha数值 取值: 0~255默认为0 Alpha1 ARGB1555格式时,当最高位为1时,选择Alpha1作为Alpha混合的Alpha数值 取值: 0~255默认为0 GOP Hstart 图层硬件向对于显示窗口的偏移。 取值:该值和当前输出timing相关,当输出timing发生变化时,通过FBIOSET_DISPLAYLAYER_ATTRIBUTES并将输入参数MI_FB_DisplayLayerAttr_s的u32SetAttrMask数值包含E_MI_FB_DISPLAYLAYER_ATTR_MASK_SCREEN_SIZE mask位来通知图层驱动输出timing发生变化。图层驱动会根据当前timing设置相应的hstart数值 Current TimingWidth 当前输出timing的宽度、高度以及当前timing下应该给图形层硬件设置的像对于显示窗口的偏移。 该项与GOP Hstart配合使用,用于检查设置给硬件图层的hstart数值是否和当前timing一致。 Current TimingHeight hstar 表12-3
参数 描述 Hwcursor info Cursor Gop ID 鼠标图层硬件ID Cursor Gwin ID 鼠标图层硬件显示窗口ID Cursor MIU Sel 用于保存鼠标图标数据的物理内存编号。 对于MSR620设备该值为0 Cursor PhyAddr 鼠标层当前显示数据的物理地址 Cursor ColorFmt 鼠标图层格式 值:{ARGB1555,ARGB4444,ARGB8888,RGB565}。 用户可通过FBIOSET_CURSOR_ATTRIBUTE 设置 Cursor Icon Width 鼠标图标的宽度、高度。 单位:像素 用户可通过FBIOSET_CURSOR_ATTRIBUTE设置 Cursor HotSpot 鼠标图标的热点信息 单位:像素 热点信息通常和鼠标图标相关,用户可通过FBIOSET_CURSOR_ATTRIBUTE设置 Cursor request pos 鼠标图标的位置信息 单位: 像素 用户通过FBIOSET_CURSOR_ATTRIBUTE设置 Cursor Visible 鼠标图层是否可见 取值:{0,表示不可见,1表示可见} 用户通过FBIOSET_CURSOR_ATTRIBUTE设置 Cursor Gwin Pos 鼠标图层显示窗口的起始位置 单位:像素 Cursor Gwin Pitch 鼠标图层每行的字节数。 对于鼠标图层来说,该值固定为0x200 Curosr StretchWindow pos 鼠标图层在显示设备上的起始位置。 单位:像素 Cursor StretchWin Src 鼠标图层原始大小 单位:像素。该值通常和OSD的显示分辨率一致 Cursor StretchWin Dst 鼠标图层在显示设备上的宽度、高度 该值和输出timing一致 Cursor ColorKey Enable 鼠标图层ColorKey是否使能 取值:{0表示Disable ColorKey; 1表示Enable ColorKey}。 用户通过FBIOSET_CURSOR_ATTRIBUTE设置 Cursor ColorKey Value 鼠标图层ColorKey的RED,GREEN,BLUE通道数值 取值:每个通道的取值范围从0-255。ColorKey val的数值用RGB888格式表示 用户可通过FBIOSET_CURSOR_ATTRIBUTE去设置后更新
12.2. echo¶
表12-4
功能 | 打开或关闭指定的图层 |
---|---|
命令 | echo GUI_SHOW [LayerID] [Status] > /proc/mi_modules/mi_fb0 |
参数说明 | [LayerID] 图层号 [Status] on 打开 off 关闭 |
举例 | echo GUI_SHOW 0 on > /proc/mi_modules/mi_fb0 显示图层fb0 echo GUI_SHOW 0 off > /proc/mi_modules/mi_fb0 显示图层fb0 |
表12-5
功能 | 打开或关闭硬件鼠标 |
---|---|
命令 | echo CURSOR_SHOW [Status] > /proc/mi_modules/mi_fb0 |
参数说明 | [Status] on 打开 off 关闭 |
举例 | echo CURSOR_SHOW on > /proc/mi_modules/mi_fb0 显示鼠标图标 echo CURSOR_SHOW off > /proc/mi_modules/mi_fb0 关闭鼠标图标 |
表12-6
功能 | 为指定的图层设置Colorkey |
---|---|
命令 | echo GUI_SET_CLRKEY [LayerID] [Red] [Green] [Blue] > /proc/mi_modules/mi_fb0 |
参数说明 | [LayerID] 图层号 [Red] 红色分量 以16进制,ARGB888 格式表示 [Green] 绿色分量 以16进制,ARGB888 格式表示 [Blue] 蓝色分量 以16进制,ARGB888 格式表示 |
举例 | echo GUI_SET_CLRKEY 0 ff 00 00 > /proc/mi_modules/mi_fb0 设置fb0的Colorkey为红色 |
表12-7
功能 | Dump当前正在显示的鼠标图标 |
---|---|
命令 | echo CURSOR_DUMP [Path] >/proc/mi_modules/mi_fb0 |
参数说明 | [Path] dump 的路径 |
举例 | echo CURSOR_DUMP /mnt > /proc/mi_modules/mi_fb0 dump cursor Icon到/mnt路径,文件名为CursorData.raw,用7yuv打开,宽高设置为128,128,格式按照cursor icon的格式设置即可显示Rawdata |
表12-8
功能 | 分别为ARGB1555格式的alpha bit0,alpha bi1设置pixel alpha数值。因为目前msr620不支持这个feature,暂时未实现 |
---|---|
命令 | echo GUI_SETALPHA_ARGB1555 [LayerID] [Alpha0] [Alpha1]> /proc/mi_modules/mi_fb0 |
参数说明 | [LayerID] 图层号 [Alpha0] alpha0 的数值 [Alpha1] alpha1 的数值 |
举例 | 无 |
13. GFX¶
13.1. cat¶
-
调试信息
# cat /proc/mi_modules/mi_gfx/mi_gfx0
图13-1
-
调试信息分析
记录当前GFX的使用状况以及device属性可以动态地获取到这些信息,方便调试和测试。
-
参数说明
表13-1
参数 描述 device info InitCnt 设备被Open的次数,由于GFX会有多个模块进行调用,并且不能确定是哪一个module会先调用GFX的初始化,所以设备允许多次Open,会记录Open次数来在Close的时候做对应的计数判断是否需要真的Close Device Thresholdvalue ARGB1555时,GFX内部的alpha判定阈值,如大于N则alpha为1,反之alpha为0. 在ARGB8888模式下无效。默认值为1. QuickFillColorFormt 最后一次做QuickFill的颜色格式 取值参考:GFX_Buffer_Format BitblitSrcColorFormt 最后一次做BitBlit的Src Surface的颜色格式 BitblitDstColorFormt 最后一次做BitBlit的Dst Surface的颜色格式
14. REGION¶
14.1. cat¶
-
调试信息
# cat /proc/mi_modules/mi_rgn0
图14-1
图14-2
-
调试信息分析
记录当前RGN的使用状况以及device属性可以动态地获取到这些信息,方便调试和测试
-
参数说明
表14-1
参数 描述 Region capability Region handle 创建region的最大数量为1024个,句柄取值为[0~1023] Vpe channel Vpe最大通道数量为64个,通道取值为[0~63] Vpe port Vpe最大输出端口数量为4个,端口取值为[0~3] Divp channel Divp最大通道数量为64个,通道取值为[0~63] Divp port Divp最大输出端口数量为1个,端口取值为0 Osd attach 每个输出端口每个通道能绑定的Osd数量上限为4个 Cover attach 每个输出端口每个通道能绑定的Cover数量上限为4个 Overlay Format Osd支持的颜色格式: ARGB1555,宽度按2个像素对齐 ARGB4444,宽度按2个像素对齐 I2,宽度按4个像素对齐 I4,宽度按2个像素对齐 Overlay Size Osd宽取值范围为2 ~ 1920,要求为2的整数倍 Osd高取值范围为2 ~ 1080,要求为2的整数倍 Overlay HW mode Osd的frontbuff数量,目前设置为2 Cover Size Cover宽取值为[1~8192] Cover高取值为[1~8192] Overlap 是否支持范围重叠 表14-2
参数 描述 Region attr Handle 句柄 Type 类型,Osd或是Cover Width 宽 Height 高 Stride 宽补齐 Format 颜色格式,ARGB1555,ARGB4444,I2,I4 VirAddr Canvas的虚拟地址 PhyAddr Canvas的物理地址 表14-3
参数 描述 Region attr Frontbuffer info Index Frontbuffer索引 bShow 是否显示 OffsetX X偏移 OffsetY Y偏移 Width 宽 Height 高 Stride 宽补齐 Format 颜色格式 VirAddr 虚拟地址 PhyAddr 物理地址 Attach info Handle 绑定Region句柄 Type 绑定Region类型 bShow 是否显示 Layer 绑定Cover的层级 Color 绑定Cover的颜色值 Width 宽 Height 高 Stride 宽补齐 PositionX X偏移 PositionY Y偏移 Format 绑定Osd的颜色格式 VirAddr 虚拟地址 PhyAddr 物理地址 表14-4
参数 描述 Buffer info kmalloc Region模块内部申请内存字节数 mma alloc Region模块通过Sys模块申请内存字节数
14.2. echo¶
表14-5
功能 | Dump指定Region的buffer |
---|---|
命令 | echo dumpRgnBuf [Handle] [Path] > /proc/mi_modules/mi_rgn0 |
参数说明 | [Handle] region句柄 [Path] 保存dump数据的路径。保存内容为region的canvas内容 |
举例 | echo dumpRgnBuf 0 /mnt > /proc/mi_modules/mi_rgn0 在/mnt 下产生文件 Rgn0_canvasInfo_fmt0_64X48 表示dump句柄为0,颜色格式为ARGB1555,Stride为64,高为48的region的canvas数据 文件格式为Rgn[Handle]canvasInfo_fmt[Format][Stride]X[Height] [Handle]: region句柄。 [Format]:颜色格式,ARGB1555为0,ARGB4444为1,I2为2,I4为3。 [Stride]:宽补齐 [Height]:高 |
表14-6
功能 | Dump指定channel和port的frontbuffer |
---|---|
命令 | echo dumpFrontBuf [ModId] [ChnID] [PortID] [Path] > /proc/mi_modules/mi_rgn0 |
参数说明 | [ModId] 端口类型,Vpe为0,Divp为1。 [ChnID] 通道号 [0 ~ 63] [PortID] 端口号 [0~3] [Path] 保存dump数据的路径。会根据当前实际使用的frontbuffer数量生成0 ~ 2个文件 |
举例 | echo dumpFrontBuf 0 0 0 /mnt > /proc/mi_modules/mi_rgn0 在/mnt下产生 Vpe_Chn0_Port0_frontbuf0_fmt0_64X48, 表示dump通道为0,输出端口为Vpe0号端口,索引为0的frontbuffer的数据,颜色格式为ARGB1555,Stride为64,高为48 文件格式 [Mod]Chn[Channel]_Port[Port]_frontbuf[Index]_fmt[Format][Stride]X[Height] [Mod] 输出端口类型,Vpe时为Vpe,Divp时为Divp。 [Channel] 通道号。 [Port] 输出端口。 [Index] frontbuffer索引号。 [Format] 颜色格式,ARGB1555为0,ARGB4444为1,I2为2,I4为3。 [Stride] 宽补齐 [Height] 高 |
表14-7
功能 | 获取region能力级信息 |
---|---|
命令 | echo getcap > /proc/mi_modules/mi_rgn0 |
参数说明 | 无 |
举例 | 无 |
表14-8
功能 | 获取已创建region信息 |
---|---|
命令 | echo dumprgn > /proc/mi_modules/mi_rgn0 |
参数说明 | 无 |
举例 | 无 |
表14-9
功能 | 获取channel和port的信息 |
---|---|
命令 | echo dumpchport > /proc/mi_modules/mi_rgn0 |
参数说明 | 无 |
举例 | 无 |
表14-10
功能 | 获取内存使用信息 |
---|---|
命令 | echo bufcnt > /proc/mi_modules/mi_rgn0 |
参数说明 | 无 |
举例 | 无 |
15. VDEC¶
15.1. cat¶
-
调试信息
# cat /proc/mi_modules/mi_vdec/mi_vdec0
图15-1
-
调试信息分析
打印分为两部分,使用Private Vdec0 Info分隔开。上半部分为common信息,下半部分为vdec模块信息。
主要记录了解码通道的使用情况及配置属性,可用于检查属性配置和当前通道的工作状态,便于debug。
-
参数说明
表15-1
参数 描述 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:YCbCr444RefFrmNum 最大参考帧个数,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:JPEGLeftStrmBytes 码流buffer中待解码的byte数 LeftStrmFrm 码流buffer中待解码的帧数。
–1 表示无效。 仅按帧发送时有效LeftPics 图像buffer中剩余的pic数目 RecvStrmFrm 码流buffer中已接收码流帧数。
-1 表示无效。 仅按帧发送时有效DecStrmFrm 码流buffer中已解码帧数
15.2. echo¶
表15-2
功能 | 设置解码模式 |
---|---|
命令 | 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 |
表15-3
功能 | 设置解码图像输出顺序 |
---|---|
命令 | 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,按显示顺序输出 |
表15-4
功能 | 设置解码图像数据格式,暂不支持设置 |
---|---|
命令 | 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格式输出 |
表15-5
功能 | 设置显示模式 |
---|---|
命令 | 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 预览模式 |
表15-6
功能 | 打开/关闭统计打印码流输入时间间隔,每隔一秒打印一次 |
---|---|
命令 | 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] 每秒内两帧输入最小时间间隔。 |
表15-7
功能 | 打开/关闭统计打印图像输出时间间隔 |
---|---|
命令 | 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] 每秒内两帧输入最小时间间隔。 |
表15-8
功能 | 打开/关闭统计打印输入码流时间戳 |
---|---|
命令 | 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] 码流时间戳。 |
表15-9
功能 | 打开/关闭统计打印输出码流时间戳 |
---|---|
命令 | 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] 码流时间戳。 |
表15-10
功能 | 将写入码流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流文件 |
表15-11
功能 | 将解码出的图像同时存文件,存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帧 |
表15-12
功能 | 将当前码流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 |
16. WARP¶
16.1. cat¶
-
调试信息
# cat /proc/mi_modules/mi_warp/mi_warp0
图16-1
-
调试信息分析
打印分为两部分,common信息和warp模块信息。
主要记录了warp设备各通道的使用情况及端口状态,可用于检查属性配置和当前通道的工作状态,便于debug。
-
参数说明
表16-1
参数 描述 Dev InputPort Info ChnId 通道号 Format Pixel format: YUV422_YUYV; YUV420_SP; Unknown。 Width 帧宽度 Height 帧高度 GetInput InputPort接收到的buffer数量 FinishInput InputPort结束的buffer数量,包括正常处理完成和丢弃的帧数 RewindInput InputPort放回的buffer数量 Fps InputPort端的帧率。根据两帧时间间隔进行采样,先计算平均两帧时间间隔,再计算帧率 StatDepth 采样样本大小。取值范围为(1~100) Dev OutputPort Info ChnId 通道号 Format Pixel format: YUV422_YUYV; YUV420_SP; Unknown Width 帧宽度 Height 帧高度 GetOutput OutputPort接收到的buffer数量 FinishOutput OutputPort正常处理完成的buffer数量 RewindOutput OutputPort放回的buffer数量 Fps OutputPort端的帧率。根据两帧时间间隔进行采样,先计算平均两帧时间间隔,再计算帧率 StatDepth 采样样本大小。取值范围为(1~100),默认值为20 Dev Hal Info ChnId 通道号 AvgTime Hal执行单次trigger平均耗时。单位us MaxTime Hal执行单次trigger最大耗时。单位us MinTime Hal执行单次trigger最小耗时。单位us TotalTrigger Hal层总共trigger数量 FinishTrigger Hal层执行成功的trigger数量
16.2. echo¶
表16-2
功能 | Dump模块配置文件 |
---|---|
命令 | echo dump_table2file [ChnID] [BinType] [BinPath] > /proc/mi_modules/mi_warp/mi_warp0 |
参数说明 | [ChnID] 通道号 0 [BinType] Bin文件类型 0 -> Bounding Box Table dump文件名称为Warp_BbTable.bin 1 -> Displayment Table dump文件名称为Disp_absolute.bin或Disp_relative.bin (根据warpConfig中disp_table类型不同,生成不同文件) [BinPath] Bin文件路径 |
举例 | echo 0 0 /mnt/warp > /proc/mi_modules/mi_vdec/mi_vdec0 通道0,Bin文件类型为Bounding Box,路径为/mnt/warp。最后在/mnt/warp目录生成文件Warp_BbTable.bin。 |
表16-3
功能 | Dump输入/输出端口帧率。 |
---|---|
命令 | echo dump_fps > /proc/mi_modules/mi_warp/mi_warp0 |
参数说明 | 无。 |
举例 | 无。 |
表16-4
功能 | 统计输入/输出端口数据帧状态。 |
---|---|
命令 | echo dump_frameCnt > /proc/mi_modules/mi_warp/mi_warp0 |
参数说明 | 无。 |
举例 | 无。 |
表16-5
功能 | 统计hal时间消耗。 |
---|---|
命令 | echo dump_halTimeConsume > /proc/mi_modules/mi_warp/mi_warp0 |
参数说明 | 无。 |
举例 | 无。 |
表16-6
功能 | 设置统计样本大小。 |
---|---|
命令 | echo dump_SetStatDepth [Depth] > /proc/mi_modules/mi_warp/mi_warp0 |
参数说明 | [Depth] 样本大小 |
举例 | echo dump_SetStatDepth 30 /mnt/warp > /proc/mi_modules/mi_vdec/mi_vdec0 设置统计样本大小为30。会统计两帧间的pts差值,放入样本集合中,最多可放置30个,不足30时,根据实际样本数量计算fps;达到30时,按照30个pts差值计算fps。 |