TI中文支持网
TI专业的中文技术问题搜集分享网站

dm6446 h264编码库使用疑问

硬件环境: dm6446

软件环境:dvevm1.20

                    codec_engine_1_10_01

                    framework_components_1_10_04

                    bios_5_31_01

h264编码库:h264venc_ti.l64P

以上h264编码库是我在网上找到的适用于dvevm1.20环境的h264编码库,但是是评估版,我将该编码库封装成了x64P文件,arm端的app能通过codec_engine 的VISA API接口正常创建h264算法(VIDENC1_create函数返回非null)。

问题:

     1. 是否能正常创建h264算法,就意味着这个库就能正常调用起来呢?

     2. 算法创建时,dataEndianness的参数只能配置为XDM_BYTE(大端模式),用其余模式算法均创建不成功,从user‘s guide中得知,目前该h264算法库只支持XDM_BYTE模式,但是我的设备用的是小端模式,请问这该如何转换?

     3. 当我使用VIDENC1_control来配置算法参数时,配置只返回了 (-1),在dsp中也没有相关信息提示打印出来,配置传入的参数均为demo程序中的默认参数,使用的命令id为XDM_SETPARAMS,请问这是怎么回事呢?或者我可以从哪些方面去排查问题?

Chris Meng:

你好,

建议你使用原始的整个DVSDK包进行开发。

eric eric3:

回复 Chris Meng:

你好,感谢回答,我是使用整个原始dvsdk包进行开发的,只是软件列表中没有将所有部件都列出来而已。

Chris Meng:

回复 eric eric3:

你好,

原始的DVSDK包里面应该已经有包含h264enc的codec combo,有encode demo/encodedecode demo。为什么你还要单独再加上h264enc的库呢?

eric eric3:

回复 Chris Meng:

你好,非常感谢回复。

是这样的,我目前使用的dm6446设备,设备内存和cmobo中要求的不一致,所有我参照了cmobo中的例子,将h264库依据我的设备内存环境,重新封装成了x64P文件。另外,在demo中,通过DMAI来对h264算法进行调用,我觉得这样有点麻烦,所有自己写了个app,直接调用VISA API来调用h264算法,当然了,调用程序的编写也是参照encode demo的。

目前我封装的x64P和app程序均能在我的设备中运行,h264算法创建成功,app中调用VIDENC1_control来获取缓存信息(命令值为XDM_GETBUFINFO)时,返回成功,但是如果配置算法参数时,就返回-1了。所配置的参数也是参照encode demo中的默认参数进行配置的。

目前我在评估该h264算法库能否适用于我的开发环境,现在我能正常创建算法和获取缓存信息,是不是意味着该h264算法库适用于我的设备的?

Chris Meng:

回复 eric eric3:

你好,

内存和combo不同是什么意思?

如果你的板子的内存和DM6446 EVM上的大小不一样,你可参考下面链接修改:

http://processors.wiki.ti.com/index.php/Changing_the_DVEVM_memory_map

eric eric3:

回复 Chris Meng:

你好,

不好意思,可能我表达得不够清晰,我刚才所说得内存和combo不同,意思是在combo中不是有个server吗,里面有设计到一些内存分配的内容,这些内存分配的内容和我目前设备对应的内存有点不同,所有我使用了我自己的server程序,这个server我确定是没有错误的,集成我自定义的算法时,能在设备中正常运行。

由于目前在ti官网下载的h264编码库都是需要对应dvsdk2.0以上开发套件进行开发的,目前我的设备中的开发环境是1.20版本的,由于设备设备升级设计到的修改比较多,所以我想先在原本的设备环境中进行h264算法库的评估工作,目前我使用的h264venc_ti.l64P文件是在网上找到的,上传者署名该库适用于dm6446 dvevm1.20环境,但是我不确定。

请问我的设备内存一定要按照DM6446 EVM上的大小进行修改吗?h264venc_ti.l64P只是一个codec库,应该对设备内存方面,除了内存空间大小,其余像起始地址这些都没有硬性要求的吧?

eric eric3:

回复 Chris Meng:

你好,问题我已经解决了,之前出现错误的原因在于参数配置的时候配置错了,非常感谢你耐心的回答

CHENG FEI:

您好!

      我现在也是将h264venc_ti.l64P封装成x64P文件,在arm端的app通过codec_engine,VIDENC1_create函数返回null,暂没找到原因?另外您说的问题2,算法创建时,dataEndianness的参数只能配置为XDM_BYTE(大端模式),在哪里,没看到有这些

eric eric3:

回复 CHENG FEI:

你好,关于创建不成功的,你可以开CE_DEBUG开看一下,先开等级2,找不到有用信息再开等级3。创建不成功通常是配置或者调用顺序的问题。大端那个问题的话,我之前是在例程自带的那个user guide 看到的,你的如果和我的不是同一个版本,不一定有这个限制。

CHENG FEI:

回复 eric eric3:

好的,非常感谢!我先试试

赞(0)
未经允许不得转载:TI中文支持网 » dm6446 h264编码库使用疑问
分享到: 更多 (0)