本人想开帖讲解RDK软件,主要是读代码的一些心得,以及RDK软件扩展的一些想法.不知道大家比较关心哪些部分.我现在也是会边读边讲.主要是RDK框架以及使用.由于本人工作时间等因素,发帖不会很频繁,请大家回帖,说明关心的部分,关心比较多的我会先看.请按照框架层次说明.谢谢.
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
期待开讲啊:)!
欢迎朋友们为我们的工程师提供反馈意见和想法。。。
加强交流,每天进步一点点:)
支持、欢迎多一些的技术讲解。
我关心的是EDMA3在DM36x中的资源分配情况哪里可以看到?SPI以slave方式使用EDMA3,如何调整资源优先级才能保证数据的正确收发?
谢谢!
我们用DVR2.8版本的软件,tvp5158接vip1 port A,现在可以出来图像了。
想问一下,我们的板子vip 0接的是HD(720P 1080P)输入,是否方便在DVR2.8上实现。
是不是DVR软件版本还有3.0,是否方便支持vip 0 接HD输入,tvp5158 接vip1 port A输入?
谢谢。
www.ti.com/.../mrktgenpage.tsp
这里是参考设计,可以通过代理商购买
你好:
关于codeengine的文章我看过一些了,但是听技术支持说mcfw使用的是完全不同与codeengine的架构 这两者有很多区别吗? 主要区别是什么?
A8.
M3是被A8复位住的,A8跑起来才会让M3跑
是两个完全不同的东西.
Multi Channel Framework – Software framework developed for multi-channel IPNC applications.The software framework in IPNC RDK allows a user to create different multi-channel data flows involving sensor video capture, ISP processing, resolution scaling, video noise filter, video display (SC, Noise Filter and Encode) and streaming.
Codec Engine则只是运行在HDVICP中的一个程序.
MCFW是一个组织视频数据在多核间流动并处理的框架,原来是针对dvr,nvr的应用场景设计的,所以设计成了多通道mc(multi-channel),
mcfw和原来openmax的框架有类似之处,但是由于封装的层次不想openmax那么多,所以效率比较高,
在IPNC,VC等很多视频场景里都适用。
codec engine是TI多核间算法调用I的接口定义规范,
http://www.ti.com.cn/general/cn/docs/gencontent.tsp?contentId=61575
比如arm调用dsp算法,arm调用hdvicp硬件加速器的算法。
好处是大家各司其职,做arm应用的可以不管dsp里面做了什么,做dsp算法或者codec的可以不管什么应用来调我。
"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不能做的什么事情????
我想非要比较来比较去的也没什么意思,还是尽量把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