达芬奇技术之Codec Engine学习(一)

Codec Engine学习

1、Codec Engine概述

对于达芬奇(DAVINCI)平台的开发,所有的工程师都面临着如何实现ARM和DSP或协处理器的通信和协同工作。而TI的数字视频软件开发包(DVSDK)提供了Codec Engine这样一个软件模块来实现ARM和DSP或协处理器的协同工作。

如上图所示,Codec Engine是连接ARM和DSP或协处理器的桥梁,是介于应用层(ARM侧的应用程序)和信号处理层(DSP侧的算法)之间的软件模块。ARM应用程序调用Codec Engine的VISA (Video, Image, Speech, Audio)API,如图中VIDENC_process(a, b, c )。Codec Engine的stub (ARM侧)会把参数a, b, c以及要调用DSP侧process这个信息打包,通过消息队列(message queue)传递到DSP。Codec
Engine的skeleton(DSP侧)会解开这个参数包,把参数a, b, c转换成DSP侧对应的参数x, y, z(比如ARM侧传递的是虚拟地址,而DSP只能认物理地址),DSP侧的server(优先级较低,负责和ARM通信的任务)会根据process这一信息创建一个DSP侧的process(x, y, x)任务最终实现VIDENC_process(a, b, c)的操作。

2、codec_engine_2_24_ReleaseNotes

Codec Engine入门第一步,从Codec Engine发布说明文档(release notes)开始,开发包中都有提供这个网址。本人手中的说明文档如下所示:

后面的1_00、1_01、...、2_23等代表版本。

下面给出2.24版本的页面。

下面重点学习2.24版本的说明文档。

该Codec Engine的发布适应于DaVinci 和OMAP 平台,使用户能够实例化和利用本地和远程编解码器。 除了异构设备(如DM644x, DM6467, OMAP2530, OMAP3530, 等.)之外,还支持单处理器环境, 特别是C64+器件(如DM643x, and DM648),ARM器件(如DM355, DM365, OMAP3503) 和x86器件去运行Linux.系统。

Codec Engine是算法执行的软件平台,满足以下高层次的目标:

  • Robust - drives pre-integrated components with fully characterized performance.
  • Easy to use - app developers specify what needs to be run, but nothow orwhere.
  • Extensible and Configurable - new algorithms can be added by anyone, using standard tools and techniques.
  • Portable - API's are target, platform, and in many cases even codec independant.

对于我手中的DVS365的资料,Codec Engine资料位于:....\dvsdk_2_10_00_17\codec_engine_2_24\packages\ti\sdo\ce

主要的包有:

ti.sdo.ce - The Codec Engine runtime.

ti.sdo.ce.video2 - The Codec Engine video component (supporting the XDM IVIDDEC2 interface).

ti.sdo.ce.video1 - The Codec Engine video component (supporting the XDM IVIDDEC1 and IVIDENC1 interfaces).

ti.sdo.ce.image1 - The Codec Engine image component (supporting the XDM IIMGDEC1 and IIMGENC1 interfaces).

ti.sdo.ce.speech1 - The Codec Engine speech component (supporting the XDM ISPHDEC1 and ISPHENC1 interfaces).

ti.sdo.ce.audio1 - The Codec Engine audio component (supporting the XDM IAUDDEC1 and IAUDENC1 interfaces).

ti.sdo.ce.osal - The Codec Engine OS Abstraction Layer. This package insulates CE from the OS it's running on, and provides a few Modules for customers to use (e.g. Memory).

ti.sdo.ce.utils.trace - The Codec Engine utility package for trace. This includes the TraceUtils module. This makes tracing features easier to use by an application. It will be supported in this release, but may be replaced in
a future release with an incompatible implementation.

还包含过时的包,主要有:

ti.sdo.ce.video - The Codec Engine video component (supporting the XDM IVIDDEC and IVIDENC interfaces).

ti.sdo.ce.image - The Codec Engine image component (supporting the XDM IIMGDEC and IIMGENC interfaces).

ti.sdo.ce.speech - The Codec Engine speech/voice component (supporting the XDM ISPHDEC and ISPHENC interfaces).

ti.sdo.ce.audio - The Codec Engine audio component (supporting the XDM IAUDDEC and IAUDENC interfaces).

Codec Engine的工具主要有:

  • XDAIS 6.24
  • EDMA3 Resource Manager 1.06.00.01 (from the EDMA3 Low Level Driver product).
  • Framework Components 2.24
  • Linux Utils 2.24.01
  • WinCE Utils 1.00
  • LPM 1.24

常用的参考资料有:

 兼容性信息:

  • ti.dsplink.utils.lad - This package is incompatibile with the previous release. (Compatibility key:2,0,0 -> 2,0,0)
  • ti.dsplink.utils.ladclient - This package is compatibile with the previous release. (Compatibility key:1,0,0 -> 1,0,0)
  • ti.sdo.ce - This package is compatible with the previous release. (Compatibility key:1,0,6 -> 1,0,6)
  • ti.sdo.ce.alg - This package is compatible with the previous release. (Compatibility key:1,0,1 -> 1,0,1)
  • ti.sdo.ce.audio - This package is compatible with the previous release. (Compatibility key:1,0,2 -> 1,0,2)
  • ti.sdo.ce.audio1 - This package is compatible with the previous release. (Compatibility key:1,0,1 ->1,0,1)
  • ti.sdo.ce.bioslog - This package is compatible with the previous release. (Compatibility key:1,0,1 -> 1,0,1)
  • ti.sdo.ce.global - This package is compatible with the previous release. (Compatibility key:1,0,0 -> 1,0,0)
  • ti.sdo.ce.image - This package is compatible with the previous release. (Compatibility key:1,0,3 -> 1,0,3)
  • ti.sdo.ce.image1 - This package is compatible with the previous release. (Compatibility key:1,0,1 -> 1,0,1)
  • ti.sdo.ce.ipc - This package is compatible with the previous release. (Compatibility key:2,0,1 -> 2,0,1)
  • ti.sdo.ce.ipc.bios - This package is compatible with the previous release. (Compatibility key:2,0,1 -> 2,0,1)
  • ti.sdo.ce.ipc.dsplink - This package is compatible with the previous release. (Compatibility key:2,0,1 -> 2,0,1)
  • ti.sdo.ce.ipc.dsplink.dsp - This package is compatible with the previous release. (Compatibility key:2,0,1 -> 2,0,1)
  • ti.sdo.ce.ipc.linux - This package is compatible with the previous release. (Compatibility key:2,0,1 -> 2,0,1)
  • ti.sdo.ce.ipc.noOS - This package is compatible with the previous release. (Compatibility key:2,0,1 -> 2,0,1)
  • ti.sdo.ce.node - This package is compatible with the previous release. (Compatibility key:1,0,0 -> 1,0,0)
  • ti.sdo.ce.osal - This package is compatible with the previous release. (Compatibility key:2,0,2 -> 2,0,2)
  • ti.sdo.ce.osal.bios - This package is compatible with the previous release. (Compatibility key:2,0,1 -> 2,0,1)
  • ti.sdo.ce.osal.linux - This package is compatible with the previous release. (Compatibility key:2,0,1 -> 2,0,1)
  • ti.sdo.ce.osal.noOS - This package is compatible with the previous release. (Compatibility key:2,0,1 -> 2,0,1)
  • ti.sdo.ce.speech - This package is compatible with the previous release. (Compatibility key:1,0,2 -> 1,0,2)
  • ti.sdo.ce.speech1 - This package is compatible with the previous release. (Compatibility key:1,0,1 -> 1,0,1)
  • ti.sdo.ce.trace - This package is compatible with the previous release. (Compatibility key:1,0,0 -> 1,0,0)
  • ti.sdo.ce.utils - This package is compatible with the previous release. (Compatibility key:1,0,0 -> 1,0,0)
  • ti.sdo.ce.utils.trace - This package is compatible with the previous release. (Compatibility key:1,0,1 -> 1,0,1)
  • ti.sdo.ce.utils.xdm - This package is compatible with the previous release. (Compatibility key:1,0,2 -> 1,0,2)
  • ti.sdo.ce.video - This package is compatible with the previous release. (Compatibility key:1,0,3 -> 1,0,3)
  • ti.sdo.ce.video1 - This package is compatible with the previous release. (Compatibility key:1,0,2 -> 1,0,2)
  • ti.sdo.ce.video2 - This package is compatible with the previous release. (Compatibility key:1,0,2 -> 1,0,2)
  • ti.sdo.ce.video2.split - This package is compatible with the previous release. (Compatibility key:1,0,0 -> 1,0,0)
  • ti.sdo.ce.vidtranscode - This package is compatible with the previous release. (Compatibility key:1,0,1 -> 1,0,1)
  • ti.sdo.ce.wizards.genserver - This package is compatible with the previous release. (Compatibility key:1,0,0 -> 1,0,0)

The following packages are beta quality, and therefore compatibility keys are not maintained.

  • ti.sdo.ce.universal
  • ti.sdo.ce.vidanalytics

Validation:

This release was built and validated against using the following software components:

  • Framework Components 2.24
  • XDAIS 6.24
  • Linux Utils 2.24.01
  • WinCE Utils 1.00
  • XDCtools 3.10.05.61
  • DSP/BIOS Link 1.61.03 (Linux)/1.61.04 (WinCE) - see the Codec Engine Link Config wiki article for more details
  • DSP/BIOS 5.33.05
  • EDMA3 Resource Manager 1.06.00.01
  • LPM 1.24
  • gnu.targets.Linux86 - 4.1.0
  • gnu.targets.UCArm9 - 4.2.1
  • gnu.targets.arm.GCArmv5T - 4.2.1
  • microsoft.targets.arm.WinCE - 14.01.60511
  • ti.targets.C64P - 6.0.16
  • ti.targets.C674 - 6.1.5

This release was validated using the following hardware platforms:

DM365 EVM:

  • single-processor ARM configuration, running MV 5.0 MV Linux (gcclib or uClibc)

Examples:

Codec Engine examples and instructions are located in the "examples" directory.

 

时间: 2024-10-28 12:01:17

达芬奇技术之Codec Engine学习(一)的相关文章

一文读懂!达芬奇手术机器人的发展历程

雷锋网(公众号:雷锋网)按:本文转自剪刀手雷蒙德(师云雷)的知乎专栏. 一.简介 本文描述了达芬奇手术机器人在直观手术公司早期到2009年发展的历程,也做了一个关于远程手术起源的总结,包括独特的技术趋势和临床需求,同时介绍了那些深刻的理解机器人和远程技术并将其应用在医疗的先驱们.我们描述了一些重要的设备影响规则,并且描述了它们是如何影响了医疗设备的发展.不过需要指明的是,这些观点都来自直观手术公司而且描述的不够详细,但是无论如何,我们希望这些观点能够针对技术和医疗的发展和创新提供一些观点,最终来

算法告诉你,达芬奇和莫奈谁更有创造力

创造力是人类所特有的特质之一,大多数人认为创造力最重要的两个因素是:凡是创造性过程中所产生的,它必须是新奇的,而且必须要有影响力. 艺术的历史长河中充满了绘画形式上很好的例子,不同于任何之前已经出现的,并且对随后产生的画作产生了巨大的影响,例如:达芬奇于1469年创作的<拈花圣母>,戈雅于1780创作的<基督殉难图>或莫奈于1865年创作的<干草堆>等.而其他的绘画更多的则是上述的"衍生物",表现出了与之前画作的许多相似之处,因此被认为缺乏创造力.

Flash MX 2004视频宝典教程(3)达芬奇的鸡蛋

教程 第 03 节:达芬奇的鸡蛋 课程目标:学习绘制鸡蛋的技巧. 课程要点:通过实例绘制鸡蛋,学习选择工具,椭圆工具,变形工具和混色器面板. 观看教程:[全屏观看] 下载教程:[下载教程](鼠标右键点击该链接,然后从弹出的菜单中选择"目标另存为-")

达芬奇名画《蒙娜丽莎》或为世界最早3D画像

&http://www.aliyun.com/zixun/aggregation/37954.html">nbsp;      [ 科技讯]5月30日消息,据媒体报道,3D技术如今已经日趋成熟,人们对其的了解程度也在不断的加深,3D技术可以存在在生活的每个角落.因此,研究人员通过分析两个<蒙娜丽莎>版本,发现达-芬奇是世界首位绘制3D画像的伟大画家. 研究人员发现达-芬奇站在两个不同的位置绘制完成两幅<蒙娜丽莎>,对比两张作品,所形成的效果类似于3D图像所具

达芬奇造假行为至今未被认定媒体批商家张狂

达芬奇怎么如此张狂 "中国的消费者必须有十八般武艺,必须能够解决所有的问题."这句话听着像玩笑,却是现实. 沸沸扬扬的"达芬奇"事件仍未结束.在召开了一场不知道所谓的"新闻发布会"之后,达芬奇又在8月3日发出<致媒体朋友的沟通信>,声称其从未伪造过任何报关单或原产地证书,否认3.6亿元的退税,同时表示,没有问题的产品,不能接受顾客退货. 如果说前段时间达芬奇召开的新闻发布会目的是为了博取大众的同情,那么这封沟通信就是厚着脸皮检验之前的

无名少女肖像被鉴为达-芬奇真迹价值翻1万倍(图)

创作于19世纪初的少女肖像画 加拿大裔收藏家彼得-西尔弗曼两年前以11400英镑的价格买下了一幅被认为创作于19世纪初的少女肖像画(见上图).然而西尔弗曼请艺术鉴定专家对这幅画进行碳定年和红外线分析等手段后,专家们竟在这幅画上发现了意大利15世纪文艺复兴大师达-芬奇的一个指纹,这意味着这幅"无名氏"创作的肖像画竟是失落的达-芬奇真迹! 1万多英镑买下"无名画" 这幅33厘米长.23厘米宽的肖像画是用白垩和钢笔墨水绘制在一张牛皮纸上的, 它显示了一个年轻少女的侧面肖像

达芬奇调色软件中文快捷键大全

  相信大家都达芬奇这款调色软件有所认识吧,现在就分享一下达芬奇界面中英文对照.现在米松的汉化团队已经在对这款软进行汉化,在不久的将来就可以看到了,希望大家关注一下吧,以下是部分汉化界面. 达芬奇调色中文快捷键(mac版) option+花+G 保存流程 option+花+N 下一预存流程 option+花+P 上一预存流程 shift+H 高光区开关 花+S 存储工程文件 shift+花+S 另存为工程文件 花+Z 向前一步 花+Y 向后一步 shift+J 打包文件夹 花+J 加入文件夹 方

宁波一企业被爆向达芬奇供货出场几千卖几十万

据中国之声<新闻晚高峰>报道,这两天其实"达芬奇"成为人们熟悉的词语,是因为一家家具公司的造假事件. 其实很多人觉得自己买的是达芬奇家具,但是不知道买到的还有是很多其他的家具,比如继卡森集团子公司卡雷诺之后,又一家浙江企业宁波亨润家具有限公司被 曝光向达芬奇供货,公司总经理在接受本台记者采访时表明他们拿到订单时并不知道是发给达芬奇公司. 浙江亨润家具总经理王玉龙表示,他们和卡雷诺公司一样只是为美国品牌汤姆斯威尔供货. 王玉龙:我们是为汤姆斯威尔做OEM的,没有跟达芬奇发生任

达芬奇家居总经理称若产地造假愿10倍赔偿

□本版撰文 信息时报记者 李俊彦 实习生 罗金琼(除署名外)本版摄影 信息时报记者 黄立科 昨日,信息时报记者再次来到广州达芬奇家居卖场,试图进一步了解相关情况,但遭到了店员的拒绝.在店门外,记者遇到几位前来要求退货退钱的消费者.店员给前来要求退货的顾客一份题为:"总经理庄秀华:达芬奇家具若造假愿赔十倍"的声明,但就未作出正式的回应.店员还表示,已聘请律师处理相关事情,现在只对质量出现问题的家具进行退钱. 顾客要求退款均未获回应 昨日下午一点,记者去到达芬奇家居,站在门口的店员表示不允