DAVINCI技术剖析及实战实用开发指南 作者 张亮_ 第3章.pptVIP

DAVINCI技术剖析及实战实用开发指南 作者 张亮_ 第3章.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
  本章主要对Codec Engine中的算法—Codec进行详细的描述。Codec主要用于生成算法并将其打包,其中必不可少的是算法的定义、具体的调用以及相应的服务配置等。本章中对于这些问题会一一进行详细的描述。此外,对于生成一个Codec Package的两种方法,包括基于examples的已有算法生成Codec和基于RTSC生成Codec,都有详细的讲解。      每一个Codec都必须包括以下源文件[13]:package.bld文件、package.xdc文件、package.xs文件、MODULE.xdc文件、MODULE.xs文件以及相应算法的.h文件和.c文件等。本节会对这些必备文件进行详细的讲解。 .  package.bld文件主要定义和package编译相关的属性,即一个包应该如何被编译。文件内容用Javascript描述。Package.bld文件中包含目标平台集的定义[MVArm9,Linux86]、编译版本的定义[release]、确定源文件集和生成的可执行文件信息,等等。   在Linux中,我们使用make命令,根据Makefile文件来生成可执行文件,XDC也可类似地生成脚本文件(我们统称为XDC文件)。package.bld就是一个XDC文件。   1. ?package.bld文件的功能   package.bld文件的功能类似于Linux中的Makefile文件,它会告诉XDC怎样建立(build)一个DSP Server的源文件,即定义需要build的可执行文件和库文件。这个目标平台的配置来自config.bld文件,config.bld文件位于/opt/dvsdk_1_40_02_33/codec_engine_2_10_02/   examples下,可以通过修改达到定制,这里默认的是读取xdcpath.mak文件中的配置。   2. 文件内容详解   在package.bld文件中,首先定义了一些需要使用的模块及其属性,如表3.1所示。    表3.1 package.bld中的模块 表3.1的代码中:   ● ?Build是这个全局对象(xdc.bld.BuildEnvironment)的别名,用于建立全局的环境。   ● ?Pkg是一个PackageContents对象的别名,这个对象用于表示包的内容;attrs是一个结构体,这个结构体提供package的默认属性,这些属性包括控制代码的生成工具、配置工具和公布选项等。其中的Pkg.attrs.exportAll值为true,表示一旦发布这个package,其中所有生成文件都会公布显示出来(其中所有的模块以及它们的具体结构可以查看以下这个目录中的文件:/opt/dvsdk_1_40_02_33/xdc_3_ 00_06/packages/xdc/bld)。    表3.2 SRCS数组   表3.3 其他文件的添加 3.1.2 package.xdc   package.xdc文件是包定义文件,同时也是一个XDC文件。它定义了包的名称及其依赖。文件中主要包含与package有关的静态特性信息,如依赖信息、模块信息、版本信息等,如图3.1所示。package.xdc中声明了DSP Server的名字、路径及Server的依赖文件和各文件之间的关系。   1. ?pakcage.xdc文件的功能   package.xdc完成的工作很简单,就是定义Servers包名,即Servers目录下文件夹的名称,这里用的是videnc_copy。如果需要改成h264_dec,只要相应地在这个文件中做修改即可。但是这个包名更改后,*.bld文件下所有关于serverName的值及*.tcf文件名都要做相应修改,否则会找不到编译对象。同时,ceapp.cfg文件中的myEngine.server的值也应修改成./h264_dec.x64P。   2. 文件内容详解   在这个文件中,主要注意的就是表3.4所示的代码。    表3.4中的语句说明这个算法包所在的路径是:“ti.sdo.ce.examples.codecs.videnc_copy”,该路径反映了目录结构,同时表明算法包中包含唯一的一个模块“VIDENC_COPY”,这个语句相当于告诉了XDC包含模块的*.xdc和*.xs文件有哪些,本例中主要指的就是VIDENC_COPY.xdc和VIDENC_COPY.xs这两个配置文件。其中的[1, 0, 0]是指版本。  3.1.3 package.xs   package.xs是一个动态属性配置文件。   1. ?package.xs文件的功能   package.xs文件指出了由于平台和配置的不同而不同的包属性。XD

您可能关注的文档

文档评论(0)

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档