本人想开帖讲解RDK软件,主要是读代码的一些心得,以及RDK软件扩展的一些想法.不知道大家比较关心哪些部分.我现在也是会边读边讲.主要是RDK框架以及使用.由于本人工作时间等因素,发帖不会很频繁,请大家回帖,说明关心的部分,关心比较多的我会先看.请按照框架层次说明.谢谢.
回复 Xiao Feng Huang:
"Codec Engine则只是运行在HDVICP中的一个程序."这句话是错误的,Codec Engine的API能运行在A8的linux上也能运行在TI DSP上的BIOS上,Codec Engine能在linux端透明的调用DSP和m3进行处理,提供的VISA API有图像,视频,音频相关的编解码接口,所以看来,McFw的API也能和DSP、vpss m3和HDVICP m3进行通信,能视频编解码,似乎和Codec Engine的功能重叠了....所以我才产生了疑问,到底是用Codec Engine还是用McFw?
Codec Engine能做McFw不能做的什么事情????
我是大白他弟,小白,多多指教。
不觉得,两者都是一个框架.....
回复 大白他弟:
Codec Engine的API虽能被A8调用,但完成算法的并非A8吧. A8操作的只是接口,而完成运算的不是A8吧
是如此啊,McfW API还不是如此视频编解码也是在硬核里面实现啊,我想问下如果方向是DVS的话用哪个框架McFW或者Codec Engine,或者说是ezsdk还是DVR_RDK?
回复 lijin lin:
我也是一个新手啊。不知道你搞懂了不啊?搞懂了的话,你这个老鸟能不能给菜鸟讲讲整个程序的框架啊,程序的入口,出口,最好整个程序的流程图,创建link的方式啊。。。期待啊,万分感谢啊。
刚刚入门啊,看DVRRDK下的docs文档,但是感觉看了,认为有用的东西也算多啊,理解的东西也不是很多啊。迫切希望能从代码级上有个突破的理解啊。程序的框架,入口,出口,流程图。因为我最后是想在这个平台上把自己的图像算法给移植过去,所以也特别想知道link创建的方式等等啊。希望楼主能给与帮助啊。
我想非要比较来比较去的也没什么意思,还是尽量把mcfw的做法理解起来,这样做个codec engine的人慢慢自己会有感触的。
如果是mcfw的话,已经淡化了codec Engine的主从概念,各个核上跑的程序是对等的,但要考虑的是一个数据流向。
这点意义上和openmax很像。
link相当于一个小任务,完成一小点工作,完成之后把数据送到另一个小任务去做下一件事情
以ipnc或者dvr为例子,
在一些核上跑一个capture link完成采集后,把数据放到两个m3的共享区,然后送消息到另一个核上的编码link或者解码link做接下来的事情,
做完了再把数据放到a8和m3的共享区,a8上面跑的link把数据拿出来存到硬盘里或者送给网络打包进程。
当然capture的link也有可能先把数据放到m3和dsp的共享区,然后送消息到dsp上的link,dsp上的link就可以调用大家所能知道的各种算法进行处理,
然后把处理结果再出给其他link.
由此可见,DSP的算法,和m3上的一段程序类似,不过相当于跑在dsp上的一段程序,输入输出都必须通过通信link传到其他核上。
如果非要套用以前linux通过codec engine调用dsp上的算法这种模式,
那么在mcfw框架下,有几个例子:
1.m3通过类似于codec engine的方式调用hdvicp2进行编码,
2.许多link里面调用算法或者硬件驱动的时候用了FVID2或者MSP的接口形式和codec engine比较类似
3.link层做的所有事情要从A8进行干预,则通过mcfw层(对整个chain分成capture,enc,dec,display等)的api
回复 deyisupport: