海思方案 HI3518E平台ISP调试环境搭建
- 格式:doc
- 大小:62.50 KB
- 文档页数:16
海思HI35XX之视频处理单元各通道间的关系最近在折腾HI3518C的芯片,应用到IPCamera上,最终获取多路不同分辨率的视频流供不同需求的预览切换。
此处简单记录一下视频前处理元VPSS(Video Process Sub-System)的多通道间的关系以及使用心得。
HI3518C的视频子系统包括:视频系统初始化模块(MPP_SYS_CONF_S)、视频输入模块(VI)、视频前处理模块(VPSS)、视频编码模块(VENC)和视频输出模块(VO)组成。
HI3518C的VPSS是视频数据编码前的预处理单元,主要完成对一幅输入图像的统一预处理,如去噪、去隔行等,然后再对各通道分别进行缩放、锐化等处理(如:PreScale、De-ring/De-block、NR、IE、DIE、Sharpen 等,具体可参见VPSS_GRP_ATTR_S结构体),最后输出多种不同分辨率的图像。
其中,HI3518C对用提供GROUP的概念来管理VPSS,最多支持128个GROUP(我目前只使用了一个组:GROUP0)。
VPSS的GROUP又包含多个通道(CHANNEL),对于不同规格的芯片,每个组包含的通道数也不相同,规格文档上都有详细说明。
HI3518C的各个GROUP包含8个CHANNEL,其中2个物理通道(PHY CHN)、一个直通通道(Bypass)和5个扩展通道(EXT CHN)。
物理通道是由硬件提供的,各物理通道的功能和限制各不相同;直通通道具备CROP功能,可以把不需要作预处理的一幅幅图像直接透传给接收者;扩展通道具备缩放功能,当它绑定到物理通道后,可以把从物理通道获取到的图像缩小或放大成用户所需要的不同分辨率的图像。
Hi3518C 提供 5 路扩展通道以提供更好的灵活性,扩展通道具备缩放和帧率控制功能,不经过其他硬件算法单元处理。
用户在使用的时候,需要首先创建VPSS GROUP,然后设置好GROUP属性并启用VPSS GROUP之后,再把VI作为源通道,把VPSS作为目标通道,通过调用 HI_MPI_SYS_Bind 绑定VI到VPSS,就可以建立视频输入到视频预处理间的通路,使得前端采集到的视频数据经由此通路到达VPSS单元。
Hi3516dv300搭建开发环境——编译osdrv(7)-mtd-utils2.0.2的。
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%注意1:如果你要安装automake1.15.1,建议你的安装顺序为:M4 -> autoconf -> automake(⼀定要安照这个顺序,不然会出现很多错误,建议从下⾯的3)开始看),这关于这⼏个包以及相关下载地址会在下⾯有⽂字或图⽚解释.有⼀个问题:我指定安装⽬录的时候⽐如安装m4和autoconf的时候为什么在/usr/local/建⽴名为m4⽂件夹,当m4安装到这个⽂件后为什么安装运⾏./configure --prefix=/usr/local/autoconf就⼀直提⽰要你安装m4,但是你都将他们安装在/usr/local/这同⼀⽬录下就不会出现该问题,我想是不是因为安装在不同⽬录系统是不是识别不了才出现这个问题,注意2:下⾯的⼀、⼆、三、四的安装顺序是我按照说明⽂档的安装顺序,亲测这个顺序是有问题的,在其中我插⼊了遇到的⼀些问题,以及对问题的解决%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%1、本⽂的autoconf的安装过程可以参考:https:///xlwang1995/p/10604104.html 注意:只参考它的autoconf安装即可,不要按照它的顺序2、本⽂automake1.15.1的安装与autoconf的安装类似3、本⽂安装顺序参考⾃:https:///ubuntucc/article/details/9264165⼀、mtd-utils2.0.2依赖以下⼏个库,以ubuntu为例,安装⽅式请参考下⾯命令:sudo apt-get install zlib1g-dev liblzo2-dev uuid-dev pkg-config⼆、由于mtd-utils2.0.2通过pkg-config⼯具检查各个库是否正常安装,因此请参考如下⽅式设置pkg-config⼯具搜索路径:export PKG_CONFIG_PATH="$PKG_CONFIG_PATH:/usr/lib/x86_64-linux-gnu/pkgconfig"注:这⼀步可参考链接:https:///weixin_41041772/article/details/102767759理解:输⼊指令:pkg-config --variable pc_path pkg-config出现问题:pkg-config命令未发现,可以安装这个包,安装这个包后重新输⼊该指令,发现这个路径/usr/lib/x86_64-linux-gnu/pkgconfig有了,故可进⾏下⼀步三、mtd-utils2.0.2依赖于automake1.15.1版本,请参考如下⽅式安装automake1.15.1版本:1、删除原有automake版本sudo apt-get autoremove automake2、下载1.15.1版本1)Windows系统中使⽤浏览器访问automake⼯程url并下载对应源码包:https:///archive/html/info-gnu/2017-06/msg00007.html2)linux系统中可以使⽤下⾯命令下载:wget ftp:///gnu/automake/automake-1.15.1.tar.gz3、编译安装automake1.15.1tar zxvf automake-1.15.1.tar.gzcd automake-1.15.1/./configure注:安装到这⼀步出错了,原因是autoconf版本太低了,输⼊指令下载autoconf2.65,(我下载的为2.68),1)输⼊下载的指令为:wget ftp:///gnu/autoconf/autoconf-2.68.tar.gz2)解压到指定⽬录(我解压到root⽬录下),-C为指定路径命令3)出现提⽰需要下载另⼀个包m4,同样⽤wget⽅法4)这次解压⽤绝对路径,(绝对路径是不是为在prefix前⾯加两个减号)指定解压位置:指定安装路径:最后安装编译:4.1)执⾏到这⼀步出现三个错误:4.2)第⼀个错误为:c:83:3:error:#error please port gnulib freadahead.c to your platf orm!Look at the..........解决办法:在在该⽬录下的终端(就是从终端进⼊m4-1.4.14⽬录也⾏)输⼊指令:sed -i 's/IO_ftrylockfile/IO_EOF_SEEN/' lib/*.cecho "#define _IO_IN_BACKUP 0x100" >> lib/stdio-impl.h注意:这指令⾥⾯的IO中的I为⼤写的i, lib/stdio-impl.h这⾥⾯的l位⼩写字母l此步参考链接为:第⼆个为:error:get undeclared here (not in a function);did you mean......出现这个问题,参考链接:https:///weixin_34168880/article/details/91842744按照这个⽅法处理后,竟然⼜出现了两个错误4.3)第三个为:/m4-1.4.14/src/path.c:118: undefined reference to `S_ISDIR'的错误参考链接:https:///ubuntucc/article/details/9264165⾮常感谢这个链接的博主,通过这个⽂章我知道我掉坑⾥去了,知道了正确的安装顺序为:M4 -> autoconf -> automake (很重要!!!!)你要是按照osdrv/tools/jffs2_tool/readme_cn.txt⾥⾯的安装步骤你就会以⼀个相反的安装顺序安装并会出现我上⾯所有的问题,⼀个软件还没安装完问题就出现了,⼜解决这个问题解决问题中⼜出现问题到最后⼀个软件也没安装上。
海思hi3512平台SDK安装1、解压SDK包在linux服务器上或者一台装有linux的PC上,进入选择安装SDK 的目录,并将Hi3511_VSSDK_V1.1.2.3.tar.gz拷贝到该目录下面,使用命令:tar -zxf Hi3511_VSSDK_V1.1.2.3.tar.gz解压Hi3511_VSSDK_V1.1.2.3.tar.gz,在安装SDK目录下可以得到一个Hi3511_VSSDK_V1.1.2.3目录。
2、在linux服务器上安装交叉编译工具进入Hi3511_VSSDK_V1.1.2.3/tools/toolchains,运行下面命令:chmod +x cross.install增加cross.install运行权限(+x为增加运行权限),然后使用下面命令运行cross.install:./cross.install注意需要sudo权限或者root权限。
执行下面命令使交叉编译器的脚本配置的环境变量生效。
source /etc/profile3、展开SDK包的其他内容返回SDK目录,运行:./sdk.unpack将会展开SDK包打包压缩存放的其他内容,按照提示完成操作,注意一定要输入:Yes //安装SDK需要SDK安装的时候,有提示输入Yes,请一定要输入Yes,不能输入yes或者YES,否则不能完全安装。
如果需要中转拷贝SDK包,则运行:./sdk.cleanup收起SDK包的内容,拷贝到新的目录后再展开。
4、SDK目录介绍Hi3511_VSSSDK_VX.X.X.X 目录结构如下:|-- pub| |-- images # 可供FLASH烧写的映像文件,如内核、jffs2文件系统| |-- include # 应用程序需要的头文件| |-- kbuild # 内核头文件,内核模块使用该目录来进行编译| |-- lib # 应用程序需要的库文件| |-- resource # 构成rootfs的各种组件,一般不需要关心| |-- standee # 各模块的原始安装文件,如需要mmz.ko就可以在这里找到,同时也包含组件所需的调试信息| `-- tarball # SDK各模块的打包备份文件|-- rootfs # 根文件系统,可以直接作为NFS|-- scripts # 存放相关脚本的目录|-- sdk.cleanup # SDK清理脚本|-- sdk.unpack # SDK展开脚本|-- source # 放置所有源代码的目录| |-- app # 应用程序类源代码| |-- drv # 驱动类源代码| |-- lib # Lib类源代码| `-- os # OS相关源代码,如内核|-- tools # 工具类| |-- bin # 可执行程序,如mkfs.cramfs| `-- toolchains # 交叉工具链,展开SDK时已自动安装|`---mpp # Hi3511的媒体处理平台发布的头文件、库以及内核模块|-- lib.rel # 音频库,MPP发布的release版本库,音频库|-- lib.dbg # MPP发布的debug版本库,音频库|-- lib.lessrel # MPP发布的less release版本库,音频库|-- ko.rel # MPP发布的发布的release内核模块,包括FB,TDE|-- ko.dbg # MPP发布的发布的debug内核模块,包括FB,TDE|-- ko.lessrel # MPP发布的发布的less release内核模块,包括FB,TDE|-- include # MPP发布的发布的对外头文件,包括FB,TDE`-- sample # MPP的sample代码,进入各个子目录,可以直接编译运行。
海思SDK学习:000-海思HI35xx平台软件开发快速⼊门之背景知识背景参考⾃:《HiMPP V3.0 媒体处理软件开发参考.pdf》由于在⾳视频处理领域,海思芯⽚占有全球市场的很⼤份额。
当我们选择使⽤海思芯⽚开发时,程序开发模型主要是围绕HIMPP(Hisi Media Process Platform)提供的API进⾏。
这⾥围绕主⾓HIMPP详细介绍与它相关的专业词汇与背景知识,对HIMPP有充分了解之后,我们就可以利⽤它实现⾳视频编解码等业务逻辑。
本⽂主要讲述HIMPP平台处理流程,以快速⼊门海思HI35xx平台⾳视频编解码编程。
HIMPP平台架构简介海思提供的媒体处理软件平台(Hisi Media Process Platform,简称HIMPP),可⽀持软件快速开发。
该平台对应⽤软件屏蔽了芯⽚相关复杂的底层原理,并对应⽤软件直接提供MPI(MPPProgram Interface)接⼝完成相应功能。
该平台⽀持应⽤软件快速开发以下功能:输⼊视频捕获、H.264/MJPEG/JPEG/MPEG4编码、H.264/MJPEG/JPEG/MPEG4解码、视频输出显⽰、视频图像前处理(包括去燥、增强、锐化、Deinterlace)、编码码流叠加OSD、视频侦测分析、智能分析、⾳频捕获及输出、⾳频编解码等功能。
HIMPP平台典型架构分层HIMPP平台主要是衔接了操作系统层与应⽤层,典型软件架构体系⽰意图如下:应⽤层媒体软件处理平其他驱动操作系统层硬件层1、硬件层硬件层由Hi35xx芯⽚加上必要的外围器件构成。
外围器件包括Flash、DDR(Double Data-Rate)、视频Sensor或AD、⾳频AD等。
2、操作系统层基于Linux的操作系统。
系统版本号芯⽚Linux 3.10.y Hi3536/Hi3521A/Hi3520DV300/Hi3531ALinux 3.18.y Hi3536CV100/Hi3531DV100/Hi3521DV100Linux 4.9.y Hi3536DV1003、媒体处理平台层基于操作系统层,控制芯⽚完成相应的媒体处理功能。
安防IPC怎么选芯片方案?来源:中安网安防人都知道,询问视频监控产品时一般都会问上这么一句:“你家这产品用的是谁家的方案?”由此,芯片方案对产品市场的影响可见一斑,尤其是IPC。
可眼下,很多企业在选择芯片方案时,却容易犯尴尬症。
目前,国内IPC 生产厂家虽然不少,但有自主研发能力的却不多。
这也导致,上游的研发生产厂商在IPC芯片上做什么样的选择就在一定程度上决定了下游的IPC将具备怎样的基因、能力和市场。
模拟索尼时代当然已成为过去时。
而在过去的几年,编解码芯片方案上,厂商可选择美国德州仪器(TI)、华为海思、安霸、台湾智原等芯片供应商。
“洋芯片”曾长期占据市场主导地位,成为制约产业进一步发展的瓶颈。
安防江湖瞬息万变,你能翻手为云,他也能覆手为雨。
到如今,芯片市场格局早已是另一番景象。
目前国内生产资源非常丰富,同时工业化、标准化及第三方的介入给芯片设计业者提供了快速进入市场的可能,从而推动了芯片国产化和产业化的逐步升级。
安防行业的蓬勃发展,让国产芯片厂商看到了希望,以海思、国科、中星微、安凯为代表的一批致力于国产芯片研发生产的企业,将目光聚焦在安防芯片上,试图在安防行业一展拳脚,发挥最大的价值。
IPC品牌厂商的尴尬症也是缘于,一旦选择某个芯片,将会投入企业大量的人力物力财力,进行产品开发、渠道培育、市场推广等等。
在这个应该以挣钱为己任的残酷市场中,现在的IPC到底该怎么选芯片?慧中君认为,先要看看现在市场几大芯片供应商的走势、市场反馈和定位:即将退出安防市场——TITI创办于1930年,悠久的历史让这个老牌的芯片设计者在视频监控芯片行业曾独霸天下。
此前,在标清和模拟市场,TI的达芬奇系列一直占据摄像机的主要市场份额。
但是从06年开始,TI的日子不太好过,一直被海思穷追猛打。
行业人士认为,未来TI可能会退出这个市场,因为安防只是人家的一个小芝麻。
高端市场标杆,逐渐式微——安霸IPC研发制造厂商谈到海思和TI的时候,还一定会提到另外一个SoC品牌——安霸。
一、编译内核:1、先手动配置内核cd osdrv/kernel/linux-3.0.ycp arch/arm/configs/hi3518e_full_deconfig .configmake ARCH=arm CROSS_COMPILE=arm-hisiv100nptl-linux- menuconfig选择General setup——》Cross-compiler tool prefix 输入arm-hisiv100nptl-linux- 退出〃保存2、进入/osdrv/Makefile文件中:将规则hirootfs_build:pushd $(OSDRV_DIR)/pub/$(PUB_ROOTFS)/lib/;$(OSDRV_CROSS)-strip *;popd这一行的注释去掉〃为了生成精简版的文件系统。
3、执行make OSDRV_CROSS=arm-hisiv100nptl-linux CHIP=hi3518e all生成的内核镜像和文件系统放在/osdrv/pub目录中〃将uImage和后面生成的文件镜像拷贝到安装tftp服务时创建的目录下面(以下有说明)可能出现以下问题:1、pushd 命令找不到!ll /bin/sh ——查看/bin/sh的指向〃如果结果是dash,修改为bashln -s /bin/bash /bin/sh -f二、制作文件系统:1、首先将~/mpp2/ko/pinmux_hi3518.sh文件的两行注释掉:net_mii_mode函数中的:himm 0x200f005c 0x1和himm 0x200f0070 0x1这两行。
2、拷贝该ko文件到~/osdrv/pub/rootfs_uclibc文件下。
3、把~/osdrv/pub/rootfs_uclibc文件夹打包成镜像的命令:mkfs.jffs2 -d 文件系统的路径-l -e 0x10000 -o 文件镜像的目标位置/文件镜像名称;如:mkfs.jffs2 -d ~/lenglihong/HiSi3518/Hi3518_SDK_V1.0.9.0/osdrv/pub/rootfs_uclibc -l -e 0x10000 -o ~/lenglihong/HiSi3518/Hi3518_SDK_V1.0.9.0/osdrv/pub/rootfs_64k_ko.jffs2三、烧录过程在WINDOW 7下的烧录:(1)、工具SecureCTR、tftpd32(2)、具体步骤1、安装usb转串口的驱动在~/usb驱动/WIN7驱动2/Prolific_DriverInstaller_v110.exe目录下安装后到设备管理器中查看是否安装成功。
3518E平台的搭建海思的SDK提供了ISP调试的相关工具,降低了IPC开发ISP调试的难度。
初次搭建ISP调试环境,记录一下。
SDK版本:Hi3518_MPP_V1.0.A.0硬件平台:HI3518E_OV9732工具包:PQ_TOOL (Hi3518E_V100R001C01SPC0A0\01.software\pc\PQ_TOOL)文件说明:Hi3518_ITTB_MPP2_V1.0.A.0_B030.tgz 设备端工具; PQTools_V3.7.5.zip PC端工具环境搭建步骤:(1)将Hi3518_ITTB_MPP2_V1.0.A.0_B030.tgz拷贝至nfs共享目录名,解压后运行HiIspTool.sh脚本倘若用海思自带的工具出图像并调节ISP运行:#./HiIspTool.sh -a -p ov9732_720p_line.inips一下可以看到两个进程696 adminlvj 58488 S ./ittb_stream -p ov9732_720p_line.ini699 adminlvj 19676 S ./ittb_control倘若运行自己的工程出图像了,这时只需要运行一下命令即可。
#./HiIspTool.sh -aps一下可以看到一个进程699 adminlvj 19676 S ./ittb_control(2)PC端直接解压PQTools_V3.7.5.zip,运行HiPQTools.exe,输入选择sdk版本Hi3518_MPP_V1.0.A.0 ,输入设备IP,就可以连接上摄像头倘若运行了ittb_stream,可以PC端软件上打开视频图像窗口连接成功,至此,最简单的ISP调试环境搭建就完成了。
复杂的就是后面的ISP调节过程了。
备注:解决:将OV9732sensor库拷贝至Hi3518_ITTB_MPP2_V1.0.A.0/libs/下,将ov9732_720p_line.ini拷贝至Hi3518_ITTB_MPP2_V1.0.A.0/configs/下附录:ov9732_720p_line.ini[plain]view plaincopyprint?1.[sensor]2.Sensor_type =ov9732 ;the type of sensor3.Mode =0 ;LINE mode,mode = 0 ,WDR mode,mode =14.DllFile =libs/libsns_ov9732.so ;LineDllFile path5.6.[vi_dev]7.Input_mod =2 ;VI_INPUT_MODE_BT656 = 08. ;VI_INPUT_MODE_BT601,9. ;VI_INPUT_MODE_DIGITAL_CAMERA10.11.Work_mod =0 ;VI_WORK_MODE_1Multiplex = 012.13. ;VI_WORK_MODE_2Multiplex,14.15. ;VI_WORK_MODE_4Multiplex16.bine_mode =0 ;Y/C composite or separation mode18.19. ;VI_COMBINE_COMPOSITE = 0 /*Composite mode */p_mode =0 ;Component mode (single-component or dual-component)24.25. ;VI_COMP_MODE_SINGLE = 0, /*single component mode */26.27. ;VI_COMP_MODE_DOUBLE = 1, /*double component mode */28.29.Clock_edge =1 ;Clock edge mode (sampling on the rising or falling edge)30.31. ;VI_CLK_EDGE_SINGLE_UP=0, /*rising edge */32.33. ;VI_CLK_EDGE_SINGLE_DOWN, /*falling edge */34.35.Mask_num =2 ;Component mask36.37.Mask_0 =0xFFC0000038.39.Mask_1 =0x040.41.Scan_mode = 1;VI_SCAN_INTERLACED = 042.43. ;VI_SCAN_PROGRESSIVE,44.45.Data_seq =2 ;data sequence (ONLY for YUV format)49. ; VI_INPUT_DATA_VUVU = 0,50.51. ; VI_INPUT_DATA_UVUV,52.53. ;----input sequence for yuv54.55. ; VI_INPUT_DATA_UYVY = 0,56.57. ; VI_INPUT_DATA_VYUY,58.59. ; VI_INPUT_DATA_YUYV,60.61. ; VI_INPUT_DATA_YVYU62.63.64.65.Vsync =1 ; vertical synchronization signal66.67. ;VI_VSYNC_FIELD = 0,68.69. ;VI_VSYNC_PULSE,70.71.VsyncNeg=0 ;Polarity of the vertical synchronization signal75. ;VI_VSYNC_NEG_LOW /*if VIU_VSYNC_E76.77.Hsync =0 ;Attribute of the horizontal synchronization signal78.79. ;VI_HSYNC_VALID_SINGNAL = 0,80.81. ;VI_HSYNC_PULSE,82.83.HsyncNeg =0 ;Polarity of the horizontal synchronization signal84.85. ;VI_HSYNC_NEG_HIGH = 0,86.87. ;VI_HSYNC_NEG_LOW88.89.VsyncValid =0 ;Attribute of the valid vertical synchronization signal90.91. ;VI_VSYNC_NORM_PULSE = 0,92.93. ;VI_VSYNC_VALID_SINGAL,94.95.VsyncValidNeg =0;Polarity of the valid vertical synchronization signal96.97. ;VI_VSYNC_VALID_NEG_HIGH = 0,101.Timingblank_HsyncHfb =0 ;Horizontal front blanking width102.103.Timingblank_HsyncAct =1280 ;Horizontal effetive width104.105.Timingblank_HsyncHbb =0 ;Horizontal back blanking width106.107.Timingblank_VsyncVfb =0 ;Vertical front blanking height108.109.Timingblank_VsyncVact =720 ;Vertical effetive width110.111.Timingblank_VsyncVbb=0 ;Vertical back blanking height112.113.Timingblank_VsyncVbfb =0 ;Even-field vertical front blanking height(interlace, invalid progressive) 114.115.Timingblank_VsyncVbact=0 ;Even-field vertical effetive width(interlace, invalid progressive) 116.117.Timingblank_VsyncVbbb =0 ;Even-field vertical back blanking height(interlace, invalid progressive) 118.119.120.121.;----- only for bt656 ----------122.FixCode =0 ;BT656_FIXCODE_1 = 0,123.126.FieldPolar=0 ;BT656_FIELD_POLAR_STD = 0127.128. ;BT656_FIELD_POLAR_NSTD129.130.DataPath =1 ;ISP enable or bypass131.132. ;VI_PATH_BYPASS = 0,/* ISP bypass */133.134. ;VI_PATH_ISP = 1,/* ISP enable */135.136. ;VI_PATH_RAW = 2,/* Capture raw data, for debug */ 137.138.InputDataType=1 ;VI_DATA_TYPE_YUV = 0,VI_DATA_TYPE_RGB = 1, 139.140.DataRev =FALSE ;Data reverse. FALSE = 0; TRUE = 1141.142.143.[vi_chn]144.145.CapRect_X =0146.147.CapRect_Y =0148.149.CapRect_Width=1280152.153.DestSize_Width=1280154.155.DestSize_Height=720156.157.CapSel =2 ;Frame/field select. ONLY used in interlaced mode 158. ;VI_CAPSEL_TOP = 0, /* top field */159. ;VI_CAPSEL_BOTTOM, /* bottom field */ 160. ;VI_CAPSEL_BOTH, /* top and bottom field */ 161.162.PixFormat =19 ;163.164.165.166.SrcFrameRate=-1 ;Source frame rate. -1: not controll167.168.FrameRate =-1 ;Target frame rate. -1: not controll169.170.171.[vpss_group]172.Vpss_DrEn =FALSE173.174.Vpss_DbEn =FALSE175.178.Vpss_NrEn =TRUE179.180.Vpss_HistEn =TRUE181.182.Vpss_DieMode=0 ;Define de-interlace mode 183.184. ;VPSS_DIE_MODE_AUTO = 0, 185.186. ;VPSS_DIE_MODE_NODIE = 1, 187.188. ;VPSS_DIE_MODE_DIE = 2, 189.190.[vpss_chn]191.Vpss_W =1280192.Vpss_H =720193.194.[isp_image]195.196.Isp_W =1280197.198.Isp_H =720199.200.Isp_FrameRate=30201.204.205.[isp_timing]206.207.Isp_WndMode=0 ;WIND_NONE= 0,WIND_HOR= 1,WIND_VER= 2,WIND_ALL= 3, 208.209.Isp_HorWndStart=0210.211.Isp_HorWndLength=1280212.213.Isp_VerWndStart=0214.215.Isp_VerWndLength=720216.217.[vb_conf]218.219.VbCnt=8220.221.222.[venc]223.224.RcMode =VENC_RC_MODE_H264CBR225.226.Gop =30227.230.ViFrmRate =30231.232.TargetFrmRate=25233.;----- only for VENC_RC_MODE_H264CBR ---------- 234.BitRate=4096235.FluctuateLevel=1236.;----- only for VENC_RC_MODE_H264VBR ---------- 237.MaxBitRate =10000238.239.MaxQp=32240.241.MinQp=24242.;----- only for VENC_RC_MODE_H264FIXQP ---------- 243.IQp=20244.245.PQp=23246.247.[bind]248.249.ViDev =0250.251.ViChn =0252.253.VpssGrp =0254.255.VpssChn = 0256.257.VencGrp =0 258.259.VencChn =0 260.261.VoDev =0 262.263.VoChn =0 264.265.ViSnapChn =0 266.267.VpssSnapGrp=0 268.269.VpssSnapChn=1 270.271.VencSnapGrp=1 272.273.VencSnapChn=1。
4.海思Hi3519AMPP从⼊门到精通(四视频输出)VO(Video Output,视频输出)模块主动从内存相应位置读取视频和图形数据,并通过相应的显⽰设备输出视频和图形。
1. 基本概念3519A芯⽚⽀持的显⽰/回写设备、视频层和图形层见下表。
注:缩写解释DHD0:Device HD0,超⾼清设备 0。
DHD1:Device HD1,⾼清设备 1。
VHD0:Video layer of HD0,超⾼清视频层 0,⾪属于 DHD0。
VHD1:Video layer of HD1,⾼清视频层 1,⾪属于 DHD1。
VHD2:Video layer of HD 2,⾼清视频层 2,Hi3559AV100 上⾪属于 DHD0, Hi3519AV100/Hi3556AV100 上可以绑定⾄ DHD0 或者DHD1,⽤作 PIP 层。
WD:Write Back Channel Device,回写通道设备。
2. 模块划分视频输出(VO)实现启⽤视频输出设备或通道、发送视频数据到输出通道等功能。
该功能模块提供以下 API(Application Programming Interface,应⽤程序编程接⼝),下⾯分别从设备、视频层、通道、回写、图形层等⽅⾯进⾏介绍。
3. 模块功能3.1 视频回写将回写设备称之为 WD(Write Back Channel Device)。
回写功能:捕获视频层和设备级的视频数据,可⽤于显⽰和编码。
回写设备的使⽤依赖于被回写的设备,既可以回写设备级(视频层与图形层叠加后)的视频数据,也可以回写视频层的数据。
3.2 通道SDK 将通道归属于视频层管理,⼀个视频层上可显⽰多个视频,每⼀个视频显⽰区域称为⼀个通道,视频被限制通道内,通道被限制在视频层内。
对于⼀个视频层,其上⾯的通道都是独⽴的。
同时,不同的视频层上的通道也是独⽴的。
对于通道的排号上⾯不存在跨层的连续。
对于系统绑定,应该使⽤视频层号和通道号来进⾏绑定配置;另外,对于回写的图像作为输出源时,需要使⽤回写内容所在的设备号和 0 通道号进⾏绑定配置。
Hi3518⽹络监控SOC芯⽚规格参数⽹络监控SOC 视频编解码处理器内核● ARM926@ 440MHz,16KB I-Cache ,16KB D-Cache视频编码● H.264 Main Profile Level4.0● H.264● MJPEG/JPEG Baseline编码视频编码处理性能● H.264编码可⽀持最⼤分辨率为2M Pixel● H.264&JPEG 多码流实时编码能⼒:720P@30fps+VGA@30fps+QVGA@30fps+720P @1fsJPEG抓拍●⽀持JPEG 抓拍720P @30fps● CBR/VBR/ABR 码率控制,16kbit/s~20Mbit/s●编码帧率⽀持1/16 ~30fps●⽀持8 个感兴趣区域(ROI )编码●⽀持8 个区域的编码前处理OSD叠加智能视频分析●集成智能分析加速引擎,⽀持智能运动侦测、周界防范、视频诊断等多种智能分析应⽤视频与图形处理●⽀持3D去噪、图像增强、边缘增强、de-interlace 等前处理功能●⽀持视频、图形输出抗闪烁处理●⽀持视频1/16 ~8x缩放功能●⽀持图形1/2~2x缩放功能● 8 个区域的编码前处理OSD叠加● 2 层(视频层、图形层1)视频后处理硬件图像叠加 ISP●⽀持3A功能,3A的控制⽤户可调节●强光抑制、背光补偿、gamma 、⾊彩增强●⽀持坏点校正、去噪、数字防抖●⽀持去雾●⽀持畸变校正●⽀持图像90度/270 度旋转●⽀持图像mirror、flip●⽀持数字WDR和 tone mapping●提供 PC 端ISP tuning tools⾳频编解码●通过软件实现多协议语⾳编解码●协议⽀持G.711、ADPCM、G.726●⽀持回波抵消功能安全引擎●硬件实现AES/DES/3DES 三种加解密算法●数字⽔印技术视频●输⼊− ⽀持⽀持8/10/12 bit RGB Bayer输⼊, 时钟频率最⾼74.25MHz− ⽀持BT.601、BT.656− ⽀持与、Aptina 、OmniVision 、等主流⾼清CMOS 对接− ⽀持与CCD sensor 对接− 兼容多种sensor 电平− 提供可编程sensor 时钟输出− ⽀持1080P@30fps,720P@30fps视频输⼊能⼒●输出− ⽀持1路CVBS输出,⽀持负载⾃动检测− 提供1个BT.1120视频输出接⼝,⽤于外扩HDMI或SDI 接⼝,最⾼性能1080P@30fps⾳频接⼝●集成 codec,⽀持16bit语⾳输⼊和输出外围接⼝●⽀持POR●集成⾼精度RTC●集成2 通道慢速ADC● 3 个UART 接⼝● IR接⼝、I2C 接⼝、SPI 主从接⼝、GPIO接⼝、● 2 个PWM 接⼝● 1 个SDIO2.0 接⼝,⽀持SDHC● 1 个USB 2.0 HOST接⼝●⽀持RMII和MII模式;⽀持10/100Mbit/s 全双⼯或半双⼯模式, 提供 PHY时钟输出外部接⼝● DDR2/3 SDRAM接⼝− 16bit DDR2/DDR3@440MHz− 最⼤容量⽀持256MB● SPI Nor Flash 接⼝− 1、2、4bit SPI Nor Flash● NAND Flash接⼝− 8bit 数据位宽− ⽀持SLC 、MLC;− 1、4、8、24bit ECC− ⽀持8GB 以上容量器件●可选择从Nor Flash 或NAND Flash启动SDK●提供基于Linux-3.0.y SDK 包●提供H.264的⾼性能PC解码库芯⽚物理规格●功耗− 700mW典型功耗− ⽀持多级省电模式●⼯作电压− 内核电压为1.2V− IO电压为3.3V ,容限电压为3.8V− DDR2/3 SDRAM接⼝电压为1.8/1.5V●封装− 13mm x 13mm, 293pin 0.65管脚间距,TF RoHS封装Hisilicon 海思代理商汶政科技Hi3518 ⽹络监控SOC芯⽚视频编解码。
海思Hi35xx平台调试笔记1、进⼊板⼦debug环境 (根据⾃⼰情况)1) mount /dev/sda3 /root/disk2) minicom3) nfspc:sudo vi /etc/exports/root/disk/hi3516 *(rw,sync,no_root_squash,no_subtree_check)sudo /etc/init.d/nfs-kernel-server restartsudo /etc/init.d/rpcbind restartsudo ifconfig eth1 172.16.23.157board:ifconfig wlan1 172.16.23.158mount -t nfs -o nolock 172.16.23.157:/root/disk/hi3516 /root/hi3516注意海思sdk⾥的mpp⽬录名不要改动,改了会导致sample编译出错。
2、⾳视频数据循环采集a. 在sample_venc.c⽂件中,海思官⽅是把采集到的数据都保存到⽂件中,我们需要更改到缓存⾥,以便后⾯推送到rtsp/rtmp/hls服务端。
for (i = 0; i < s32ChnTotal; i++){if (FD_ISSET(VencFd[i], &read_fds)){/*******************************************************step 2.1 : query how many packs in one-frame stream.*******************************************************/memset(&stStream, 0, sizeof(stStream));s32Ret = HI_MPI_VENC_Query(i, &stStat);if (HI_SUCCESS != s32Ret){SAMPLE_PRT("HI_MPI_VENC_Query chn[%d] failed with %#x!\n", i, s32Ret);break;}/*******************************************************step 2.2 : malloc corresponding number of pack nodes.*******************************************************/stStream.pstPack = (VENC_PACK_S*)malloc(sizeof(VENC_PACK_S) * stStat.u32CurPacks);if (NULL == stStream.pstPack){SAMPLE_PRT("malloc stream pack failed!\n");break;}/*******************************************************step 2.3 : call mpi to get one-frame stream*******************************************************/stStream.u32PackCount = stStat.u32CurPacks;s32Ret = HI_MPI_VENC_GetStream(i, &stStream, HI_TRUE);if (HI_SUCCESS != s32Ret){free(stStream.pstPack);stStream.pstPack = NULL;SAMPLE_PRT("HI_MPI_VENC_GetStream failed with %#x!\n", \s32Ret);break;}/*******************************************************step 2.4 : save frame to file*******************************************************/HisiPutH264DataToBuffer(&stStream);/*s32Ret = SAMPLE_COMM_VENC_SaveStream(enPayLoadType[i], pFile[i], &stStream);if (HI_SUCCESS != s32Ret){free(stStream.pstPack);stStream.pstPack = NULL;SAMPLE_PRT("save stream failed!\n");break;}*//*******************************************************step 2.5 : release stream*******************************************************/s32Ret = HI_MPI_VENC_ReleaseStream(i, &stStream);if (HI_SUCCESS != s32Ret){free(stStream.pstPack);stStream.pstPack = NULL;break;}/*******************************************************step 2.6 : free pack nodes*******************************************************/free(stStream.pstPack);stStream.pstPack = NULL;}}b. HI_S32 HisiPutH264DataToBuffer(VENC_STREAM_S *pstStream)函数⽐较重要HI_S32 HisiPutH264DataToBuffer(VENC_STREAM_S *pstStream){HI_S32 i,j,x;HI_S32 len=0,off=0,len2=2,uplen=0;unsigned char *pstr;int iframe=0;for (i = 0; i < pstStream->u32PackCount; i++){len+=pstStream->pstPack[i].u32Len;}if(n<NMAX){for (i = 0; i < pstStream->u32PackCount; i++){memcpy(ringfifo[iput].buffer+off,pstStream->pstPack[i].pu8Addr,pstStream->pstPack[i].u32Len); off+=pstStream->pstPack[i].u32Len;pstr=pstStream->pstPack[i].pu8Addr;if(pstr[4]==0x67){UpdateSps(pstr+4,pstStream->pstPack[i].u32Len-4);iframe=1;}if(pstr[4]==0x68){UpdatePps(pstr+4,pstStream->pstPack[i].u32Len-4);}}ringfifo[iput].size= len;if(iframe){// printf("I");ringfifo[iput].frame_type = FRAME_TYPE_I;}else{ringfifo[iput].frame_type = FRAME_TYPE_P;// printf("P");}iput = addring(iput);// printf("(%d)",iput);// fflush(stdout);n++;}return HI_SUCCESS;}c. VENC_STREAM_S相关结构体//定义帧码流类型结构体:typedef structhiVENC_STREAM_S{VENC_PACK_S *pstPack; //帧码流包结构。
海思HI3531 4路高清SDI 1080P开发板使用手册海思HI3531 4路高清SDI 1080P开发板使用手册��、简介1) 开发板图片2) 资源情况主芯片为海思Hi3531带4片2Gbit DDR,一共1Gbyte带2个千兆网口,PHY为RTL8211EG带音频输入输出,均支持双声道立体声,AD/DA芯片为TLV320AIC31IRHBR 带4个TTL UART串口(其中包括一个调试串口)带2个SATA口,均带PM功能,可以接扩展模块,扩展为更多SATA口带1个时钟芯片DS1339带1个HDMI输出,可支持1080P@60fps 带1个VGA输出,可支持2560x1600@60fps 带2个USB输出,可以接USBHUB扩展更多USB口带4路SDI输入接口,可以支持4路1080P视频,AD芯片为GV7601 带2路CVBS输出带JTAG/PCIE/IR/GPIO/蜂鸣器等其他接口一、接线和启动拿到开发板之后,首先接好串口线(注意,不管什么接口,请在断电情况下插拔)如上图所示,J11为缺省的调试串口,带有箭头标记的为第一管脚接好串口线后打开串口调试工具超级终端或者其他调试工具都可以,下面的例子以putty为例,波特率设为115200,打开串口,然后上电 12V(内正外负)可以看到嵌入式操作系统开始启动启动完成输入ifconfig可以看到板子的IP情况如果接好网线,可以telnet到板卡,进行相关操作。
如果遇到串口不能输入的情况,请关掉软件,重新打开这个串口,或者重新插拔一下串口线二、启动示例程序板卡启动之后就是一个嵌入式linux系统,可以输入各种linux命令板子里面/nand/目录下带有各种例子,可以运行查看1)解码H264文件通过HDMI输出的例子请先接好HDMI显示器,然后运行 cd/nand./sample_vdec 0然后选0,选择frame mode就可以看到海思自带的一个例子,这个例子解码同级目录下的stream_chn0.h264,然后输出到HDMI显示器2) 解码H264文件通过VGA输出的例子请先接好VGA显示器,然后运行 cd /nand./sample_vdec 33) 视频输入直接输出到视频输出的例子请先接好VGA或者HDMI显示器 cd /nand. /sample_vio 2然后输入1 选择多画面分割模式可以看到 SDI的输入源显示在显示器上4) 其他例子请自行摸索测试三、SDK的安装与编译请通读SDK包中的 \\01.software\\board\\documents_cn 目录下的相关文档请注意,本板卡,已经烧写了uboot和内核文件系统,并且启动已经加载了海思相关驱动如果不小心擦除了uboot,可以通过海思自带的FastBoot3.1_BVT.exe烧写恢复,具体可以参看海思相关文档如果要执行SDK中的load3531脚本,请修改为4hd模式,并且去掉sil9024.ko驱动的加载详细情况,可以参考SDK中的文档,大概步骤如下1) 安装虚拟机软件推荐VirtualBox2) 在虚拟机上安装Linux系统,可以选择Ubuntu 等 3) 在Linux上安装GCC等编译器和开发相关工具4) 在Linux上解压缩Hi3531_SDK_VX.X.X.X.tgz 的压缩包 5) 在Linux上安装跨平台编译器arm-hisiv200-linux-gcc6) 编写Hello Word程序,然后通过arm-hisiv200-linux-gcc 编译,然后把编译后的程序放到Hi3531板卡上运行(配置好NFS可以加快开发进度) 7) 编译sdk中的sample,放到Hi3531板卡上运行四、系统资源简介SDI输入一共有4路 J7 ~ J10 分别接GV7601芯片J7 对应U1 对应VIU0/SIO0 J8 对应U2 对应VIU1/SIO1 J9 对应U3 对应VIU2/SIO2 J10 对应U4 对应VIU3/SIO3感谢您的阅读,祝您生活愉快。
3518E平台的搭建海思的SDK提供了ISP调试的相关工具,降低了IPC开发ISP调试的难度。
初次搭建ISP调试环境,记录一下。
SDK版本:Hi3518_MPP_V1.0.A.0硬件平台:HI3518E_OV9732工具包:PQ_TOOL (Hi3518E_V100R001C01SPC0A0\01.software\pc\PQ_TOOL)文件说明:Hi3518_ITTB_MPP2_V1.0.A.0_B030.tgz 设备端工具; PQTools_V3.7.5.zip PC端工具环境搭建步骤:(1)将Hi3518_ITTB_MPP2_V1.0.A.0_B030.tgz拷贝至nfs共享目录名,解压后运行HiIspTool.sh脚本倘若用海思自带的工具出图像并调节ISP运行:#./HiIspTool.sh -a -p ov9732_720p_line.inips一下可以看到两个进程696 adminlvj 58488 S ./ittb_stream -p ov9732_720p_line.ini699 adminlvj 19676 S ./ittb_control倘若运行自己的工程出图像了,这时只需要运行一下命令即可。
ps一下可以看到一个进程699 adminlvj 19676 S ./ittb_control(2)PC端直接解压PQTools_V3.7.5.zip,运行HiPQTools.exe,输入选择sdk版本Hi3518_MPP_V1.0.A.0 ,输入设备IP,就可以连接上摄像头倘若运行了ittb_stream,可以PC端软件上打开视频图像窗口连接成功,至此,最简单的ISP调试环境搭建就完成了。
复杂的就是后面的ISP调节过程了。
备注:运行脚本的时候可能会报错,查看相关打印信息,将错误消除。
当前产品我们用的是HI3518E+OV9732,SDK中并没有提供相关的sensor库和相关的config文件,所以运行报错了!解决:将OV9732sensor库拷贝至Hi3518_ITTB_MPP2_V1.0.A.0/libs/下,将ov9732_720p_line.ini拷贝至Hi3518_ITTB_MPP2_V1.0.A.0/configs/下附录:ov9732_720p_line.ini[plain]view plaincopyprint?1.[sensor]2.Sensor_type =ov9732 ;the type of sensor3.Mode =0 ;LINE mode,mode = 0 ,WDR mode,mode =14.DllFile =libs/libsns_ov9732.so ;LineDllFile path5.6.[vi_dev]7.Input_mod =2 ;VI_INPUT_MODE_BT656 = 08. ;VI_INPUT_MODE_BT601,9. ;VI_INPUT_MODE_DIGITAL_CAMERA10.11.Work_mod =0 ;VI_WORK_MODE_1Multiplex = 012.13. ;VI_WORK_MODE_2Multiplex,14.15. ;VI_WORK_MODE_4Multiplexbine_mode =0 ;Y/C composite or separation mode18.19. ;VI_COMBINE_COMPOSITE = 0 /*Composite mode */20.21. ;VI_COMBINE_SEPARATE, /*Separate mode */22.p_mode =0 ;Component mode (single-component or dual-component)24.25. ;VI_COMP_MODE_SINGLE = 0, /*single component mode */26.27. ;VI_COMP_MODE_DOUBLE = 1, /*double component mode */28.29.Clock_edge =1 ;Clock edge mode (sampling on the rising or falling edge)30.31. ;VI_CLK_EDGE_SINGLE_UP=0, /*rising edge */32.33. ;VI_CLK_EDGE_SINGLE_DOWN, /*falling edge */34.35.Mask_num =2 ;Component mask37.Mask_0 =0xFFC0000038.39.Mask_1 =0x040.41.Scan_mode = 1;VI_SCAN_INTERLACED = 042.43. ;VI_SCAN_PROGRESSIVE,44.45.Data_seq =2 ;data sequence (ONLY for YUV format)46.47. ;----2th component U/V sequence in bt112048.49. ; VI_INPUT_DATA_VUVU = 0,50.51. ; VI_INPUT_DATA_UVUV,52.53. ;----input sequence for yuv54.55. ; VI_INPUT_DATA_UYVY = 0,56.59. ; VI_INPUT_DATA_YUYV,60.61. ; VI_INPUT_DATA_YVYU62.63.64.65.Vsync =1 ; vertical synchronization signal66.67. ;VI_VSYNC_FIELD = 0,68.69. ;VI_VSYNC_PULSE,70.71.VsyncNeg=0 ;Polarity of the vertical synchronization signal72.73. ;VI_VSYNC_NEG_HIGH = 0,74.75. ;VI_VSYNC_NEG_LOW /*if VIU_VSYNC_E76.77.Hsync =0 ;Attribute of the horizontal synchronization signal78.81. ;VI_HSYNC_PULSE,82.83.HsyncNeg =0 ;Polarity of the horizontal synchronization signal84.85. ;VI_HSYNC_NEG_HIGH = 0,86.87. ;VI_HSYNC_NEG_LOW88.89.VsyncValid =0 ;Attribute of the valid vertical synchronization signal90.91. ;VI_VSYNC_NORM_PULSE = 0,92.93. ;VI_VSYNC_VALID_SINGAL,94.95.VsyncValidNeg =0;Polarity of the valid vertical synchronization signal96.97. ;VI_VSYNC_VALID_NEG_HIGH = 0,98.99. ;VI_VSYNC_VALID_NEG_LOW101.Timingblank_HsyncHfb =0 ;Horizontal front blanking width102.103.Timingblank_HsyncAct =1280 ;Horizontal effetive width104.105.Timingblank_HsyncHbb =0 ;Horizontal back blanking width106.107.Timingblank_VsyncVfb =0 ;Vertical front blanking height108.109.Timingblank_VsyncVact =720 ;Vertical effetive width110.111.Timingblank_VsyncVbb=0 ;Vertical back blanking height112.113.Timingblank_VsyncVbfb =0 ;Even-field vertical front blanking height(inter lace, invalid progressive)114.115.Timingblank_VsyncVbact=0 ;Even-field vertical effetive width(interlace, i nvalid progressive)116.117.Timingblank_VsyncVbbb =0 ;Even-field vertical back blanking height(inte rlace, invalid progressive)118.121.;----- only for bt656 ----------122.FixCode =0 ;BT656_FIXCODE_1 = 0,123.124. ;BT656_FIXCODE_0125.126.FieldPolar=0 ;BT656_FIELD_POLAR_STD = 0127.128. ;BT656_FIELD_POLAR_NSTD129.130.DataPath =1 ;ISP enable or bypass131.132. ;VI_PATH_BYPASS = 0,/* ISP bypass */133.134. ;VI_PATH_ISP = 1,/* ISP enable */135.136. ;VI_PATH_RAW = 2,/* Capture raw data, for debug */ 137.138.InputDataType=1 ;VI_DATA_TYPE_YUV = 0,VI_DATA_TYPE_RGB = 1, 139.142.143.[vi_chn]144.145.CapRect_X =0146.147.CapRect_Y =0148.149.CapRect_Width=1280150.151.CapRect_Height=720152.153.DestSize_Width=1280154.155.DestSize_Height=720156.157.CapSel =2 ;Frame/field select. ONLY used in interlaced mode158. ;VI_CAPSEL_TOP = 0, /* top field */159. ;VI_CAPSEL_BOTTOM, /* bottom field */160. ;VI_CAPSEL_BOTH, /* top and bottom field */162.PixFormat =19 ;163.164.165.166.SrcFrameRate=-1 ;Source frame rate. -1: not controll 167.168.FrameRate =-1 ;Target frame rate. -1: not controll169.170.171.[vpss_group]172.Vpss_DrEn =FALSE173.174.Vpss_DbEn =FALSE175.176.Vpss_IeEn =TRUE177.178.Vpss_NrEn =TRUE179.180.Vpss_HistEn =TRUE181.182.Vpss_DieMode=0 ;Define de-interlace mode183.184. ;VPSS_DIE_MODE_AUTO = 0,185.186. ;VPSS_DIE_MODE_NODIE = 1,187.188. ;VPSS_DIE_MODE_DIE = 2,189.190.[vpss_chn]191.Vpss_W =1280192.Vpss_H =720193.194.[isp_image]195.196.Isp_W =1280197.198.Isp_H =720199.200.I sp_FrameRate=30201.202.Isp_Bayer =3 ;BAYER_RGGB=0, BAYER_GRBG=1, BAYER_GBRG=2, BAYER_ BGGR=3203.205.[isp_timing]206.207.Isp_WndMode=0 ;WIND_NONE= 0,WIND_HOR= 1,WIND_VER= 2,WIND_A LL= 3,208.209.I sp_HorWndStart=0210.211.Isp_HorWndLength=1280212.213.Isp_VerWndStart=0214.215.Isp_VerWndLength=720216.217.[vb_conf]218.219.VbCnt=8220.221.222.[venc]223.224.RcMode =VENC_RC_MODE_H264CBR226.Gop =30227.228.StatTime =1229.230.ViFrmRate =30231.232.TargetFrmRate=25233.;----- only for VENC_RC_MODE_H264CBR ----------234.BitRate=4096235.FluctuateLevel=1236.;----- only for VENC_RC_MODE_H264VBR ----------237.MaxBitRate =10000238.239.MaxQp=32240.241.MinQp=24242.;----- only for VENC_RC_MODE_H264FIXQP ----------243.IQp=20244.245.PQp=23 246.247.[bind]248.249.V iDev =0 250.251.ViChn =0 252.253.VpssGrp =0 254.255.VpssChn = 0 256.257.VencGrp =0 258.259.VencChn =0 260.261.VoDev =0 262.263.VoChn =0 264.265.V iSnapChn =0266.267.VpssSnapGrp=0 268.269.V pssSnapChn=1 270.271.VencSnapGrp=1 272.273.VencSnapChn=1。