DSP

C6678 H.264 高性能视频编码测试——基于网口

2019-07-13 16:30发布

        通过之前的测试,我们知道通过仿真器串口传输视频数据速度很慢,大概15KB/S 左右,所以又测试了下TI提供的另一个DEMO:C: imcsdk_video_2_2_0_46dsp ,这个demo不仅仅包括高性能H.264编码,通过修改配置文件还可以实现别的编码实验,视频数据是通过网口传输,速度较快。另外这个demo项目的组织结构不是能导入CCS的结构,而是通过MinGW 直接编译的。         在C: imcsdk_video_2_2_0_46dspmkrelsv04flat 下有已经编译好的可执行文件:sv04.out ,我们先用这个测试下,具体步骤可以参考:http://processors.wiki.ti.com/index.php/MCSDK_VIDEO_2.x_TFTP_Demo_Guide
第一步:将网卡设置如下 192. 168.     1. 101 255. 255. 255.    0 192. 168.     1.     1 打开命令窗口,绑定IP:arp -s 192.168.1.100 08-24-BA-75-5E-9E  注意上面的的物理地址是任意指定的,但是不能用 TI 文档提供的(连不上,不知道为什么)。 PS:arp -d  清除所有IP映射, arp -a  显示所有IP映射。
第二步:修改参数文件,这个demo会读取四个参数文件,下面分别介绍。 1、C: imcsdk_video_2_2_0_46dspsiuvct estVecs 下的 testVecs.cfg 文件:这个文件指明另外两个编码参数文件的位置。
2、C: imcsdk_video_2_2_0_46dspsiuvct estVecs 下的 tftp.cfg 文件:这个文件指明PC机和卡板的IP地址和物理地址,将其内容修改如下:
localIpAddress    = 192.168.1.100        # should be in the same subnet as TFTP server
localMacAddress   = 08-24-BA-75-5E-9E
serverIpAddress   = 192.168.1.101         # should be in the same subnet as DSP
serverMacAddress  = F8-BC-12-A0-D3-18 #注意这个地址不是随便写的,需要PC机网卡的真实物理地址,可以通过:ipconfig /all 命令查看。
3、C: imcsdk_video_2_2_0_46dspsiuvct estVecsh264hpencconfig 下的 multiClip.cfg 文件:这个文件指明编码视频的源文件、目标文件和编码帧数。 4、C: imcsdk_video_2_2_0_46dspsiuvct estVecsh264hpencconfig 下的 codecParams.cfg 文件: 这个文件指明编码视频的主要参数,需要注意的有以下几个: codecName         = H264HPENC   # Name of the codec (must be listed in siuVctsupportedCodecs.c)
nCores            = 1         # Number of Cores involved in the decode/encode operation
coreTeamMapping   = 0 -1 # Core IDs (0-based) involved in the decode/encode operation, -1 indicates end of the core list
static_param3   = 288         # maxHeight
static_param4   = 352         # maxWidth
dynamic_param1   = 288        # inputHeight
dynamic_param2   = 352        # inputWidth
dynamic_param8   = 352        # captureWidth

第三步:连接好卡板,no boot 模式,上电,打开TFTP ,将 C: imcsdk_video_2_2_0_46dspsiuvct estVecsh264hpencinput 下的yuv文件copy到TFTP根目录下,并将TFTP的服务器地址设置为:192.168.1.101 。
第四步:将sv04.out文件加载到0核(或者多核,视参数文件而定),进行system reset 和 global default reset ,运行加载的所有核。
        dsp会通过串口读取配置参数文件,然后通过网口读取yuv文件进行编码,并将编码好的264码流文件返回给PC上的TFTP,压缩率大概1/100,我这里的网口速度大概在1.3M/s,速度没有想象的块,可能是因为dsp要和pc交互,无法全速运行。