codec engine代码阅读四---CE_DIR/examples/ti/sdo/ce/examles/codecs/videnc_copy(转)

AVProVideeo1.6.2 插件:Simply Stronger Powerful 一款视频播放插件,内含DEmo,可自行学习 立即下载
http://www.usr.cc/thread-52035-1-1.html

主要讲解CE_DIR/examples/ti/sdo/ce/examles/codecs文件夹:提供实现IVIDENC接口的视频编码器


codec engine代码阅读四---CE_DIR/examples/ti/sdo/ce/examles/codecs/videnc_copy下的文件:
当完成编辑上一篇code engine代码阅读三 所涉及的两个文件之后就可以编译程序了.
需要编译的程序主要涉及CE_INSTALL_DIR/examples/ti/sdo/ce/examples下面的四个文件夹,分别为apps,codecs,extensions,servers这四个文件夹分别为编解码算法,扩展,编解码服务器和应用程序.
首先编解码算法和扩展是编解码服务器和应用程序编译的前提条件,要先一步编译.应用程序通过服务器提供的接口来调用codecs下面的算法.
我们先从codecs中某一个算法videnc_copy下手:

ls lib package.bld package.xs videnc_copy_ti.h VIDENC_COPY.xdc makefile package.xdc videnc_copy.c videnc_copy_ti_priv.h VIDENC_COPY.xs

其中lib是文件夹,编译生成的库文件会放到lib下面,而未编译之前lib是空的.从哪里开始看呢?
由于我们是用make命令编译的,所以我们先来看makefile文件:

# include the files that defines XDC package, paths and build rules //要包含定义XDC包,路径和创建规则的文件. EXAMPLES_ROOTDIR := $(CURDIR)/../../../../../.. //示例代码根目录位置. include $(EXAMPLES_ROOTDIR)/xdcpaths.mak //包含路径相关的文件,这里面是我们填的所有工具和包的路径. # [CE] add the examples directory itself to the list of paths to packages//把示例代码文件夹本身填加到XDC_PATH中. XDC_PATH := $(EXAMPLES_ROOTDIR);$(XDC_PATH) include $(EXAMPLES_ROOTDIR)/buildutils/xdcrules.mak //包含创建规则文件xdcrules.mak # # @(#) ti.sdo.ce.examples.codecs.videnc_copy; 1, 0, 0,188; 4-21-2009 18:17:11; /db/atree/library/trees/ce/ce-m06x/src/ #

可见这个makefile文件告诉我们一些文具在那里,一些路径在哪里,而真正怎么创建却要看CE根目录下的buildutils/xdcrules.mak.

# # ======== xdcrules.mak ======== # definition of XDC rules //定义XDC规则 # # If not set in the environment, set XDCOPTIONS to verbose (the 'v' option)//如果环境变量没设XDCOPTIONS,设为v, //这个选项的意思是打印调试消息. XDCOPTIONS ?= v # This command actually performs the build. //这个命令实际是执行创建(编译) # Note that the "-PD ." says "build the package in this directory ("-P ."), # and all of the packages it depends on ("-D"). //下面的-PD的选项意思是创建当前文件夹下的代码,及所依赖的代码. //下面是实际的编译命令,make all和make都执行下面的语句: all: %:: //语句意思是,执行XDC_INSTALL_DIR下的xdc ,传数参数是XDCPATH="$(XDC_PATH)" XDCOPTIONS=$(XDCOPTIONS) $@ -PD $(XDC_INSTALL_DIR)/xdc XDCPATH="$(XDC_PATH)" \ XDCOPTIONS=$(XDCOPTIONS) $@ -PD .

make时,实际上只是完成了一些变量的设定,然后就调用xdc工具了,我们得知道xdc工具的工作过程.
xdc工具包括:

j@j-desktop:/home/pheobe/davinci/xdctools_3_10_05_61$ ls bin examples package uninstall bioscfg gmake packages vers config.jar include package.xdc xdc docs jre tconf xdctools_3_10_05_61_release_notes.html eclipse libcdb.so tconfini.tcf xs etc libncdb.so tconf.x86U xs.x86U





OK,我承认,上次我知识不足,写到这里写不下去了,又回头看了些东西,如果大家要接着往下看,恐怕得读一下:
XDC工具使用示例
http://www.usr.cc/thread-52037-1-1.html

重新清理思路:一楼的内容是正确的,一楼说到,makefile里就是要调用xdc来编译。xdc怎么干活,看完上面链接的内容大家也都了解了。

/*! * ======== package.xdc ======== * Simple Codec Engine compatible video "encoder". *简易与CE兼容的视频编码器 * This codec illustrates the simplest integration into the Codec从一楼可以知道,make时,实际上只是完成了一些变量的设定,然后就调用xdc工具了,我们得知道xdc工具的工作过程. xdc工具包括: [code]j@j-desktop:/home/pheobe/davinci/xdctools_3_10_05_61$ ls bin examples package uninstall bioscfg gmake packages vers config.jar include package.xdc xdc docs jre tconf xdctools_3_10_05_61_release_notes.html eclipse libcdb.so tconfini.tcf xs etc libncdb.so tconf.x86U xs.x86U

这时我们可以查看它的 release notes :
Introduction
介绍

RTSC / XDC (eXpanDed C) is a standard for reusable software components, optimized for real-time embedded systems. RTSC components have hardware-neutral formal interfaces, are configurable offline to optimize memory and performance, and support custom automation in the development environment via a scripting language.
RTSC/XDC(eXpanDed C)是一个标准的可重用软件组件(这里显然是把xdc称为eXpanDed C的简写,而其它的文档则视为Express DSP Component的缩写),它为实时嵌入式系统进程了优化. RTSC组件有硬件中立正规接口,可以离线进行配置以优化内存和性能,另外,它还支持通过脚本语言自定义的开发环境自己化.

XDCtools 3.10.05.61 is the General Availability release of XDCtools 3.10.05. It includes the following sets of packages:
XDC包括下列的包:
Core (xdc.*) - the xdc and xs command line utilities for building packages and execting scripts, together with the packages that implement the XDC standard;
核心模块(xdc.*)--xdc和xs命令行工具,用于构建包和执行脚本.
User tools (xdc.tools.*) - command-line and graphical utilities for working with packages and repositories;
用户工具(xdc.tools.*)--命令行和图形界面工具,用于包和库相关的工作.
Targets (*.targets.*) - definitions for using various TI and third-party compiler tool chains;
目标(*.targets.*)--各种TI和第三个编译工具的定义
Platforms (*.platforms.*) - definitions for linking and running code on various TI and third-party board-level hardware and simulator products.
平台(*.platforms.*)--各种TI和第三方板级硬件及仿真器上的代码的链接和执行所需的定义.





下面我们应该看的是 package.xdc和 package.bld,因为它们定义了这个包:
/*!
*  ======== package.xdc ========
*  Simple Codec Engine compatible video "encoder".
*简易与CE兼容的视频编码器
*  This codec illustrates the simplest integration into the Codec
*  Engine.  Only three files are required to integrate into the Codec Engine:
* 这个编解码器描述了CE的最简单集成,它只需三个文件用于集成.
*  @p(dlist)
*      -  `package.xdc`
*          This file is required to declare a name for this package and to
*          list all codec interfaces available.
* 这个文件用于声明包的名字和列出可用的接口.
*      - `VIDENC_COPY.xdc`

*          This file specifies a codec (named VIDENC_COPY) that is
*          provided by this package.
*这个文件指定了这个包所提供的编解码器,名字为VIDENC_COPY.
*      -  `VIDENC_COPY.xs`
*          This file implements the functions required by the ICodec
*          interface; these functions enable the codec to describe its
*          non-functional requirements such as stack size.
* 这个文件实现了ICodec接口中的函数的实现,这个函数描述的是一些非功能性的需求,如栈大小等.
*  All other files in this package are simply the implementation of the codec
*  as specified by xDM.  Thus, integration into the Codec Engine requires
*  no change to the codecs sources.
*所有其他文件用于实现xDM.
*/
package ti.sdo.ce.examples.codecs.videnc_copy [1, 0, 0] {
    module VIDENC_COPY;
}
本文件实际上就是声明了一个包,包里有一个模块叫VIDENC_COPY,描述这个模块的文件是名为VIDENC的.c .xdc .xs文件.

再看 package.bld :

var Build = xdc.useModule('xdc.bld.BuildEnvironment');  //客户程序需要的模块.
var Pkg = xdc.useModule('xdc.bld.PackageContents'); //客户程序需要的模块.

/* when constructing a release, release everything */
Pkg.attrs.exportAll = true;

// Uncomment this to build debug binaries
//Pkg.attrs.profile = "debug";

/*
* Create an array containing the files to include in this package.  Note
* that the extension is added by XDC, so it need not be explicitly specified.
var SRCS = ["videnc_copy"];/ /这个包会编译成一个库,编译进这个库的文件在这里列出,扩展中的无需列出.
for (var i = 0; i < Build.targets.length; i++) 
{    
        var targ = Build.targets;// 枚举所有的targets,如果是C64P或C674则有DMA3,可以优化,编译优化版本videnc_copy_dma.    
        if (targ.name == "C64P" || targ.name == "C674") 
        {            
                Pkg.addLibrary("lib/videnc_copy_dma", targ, {copts: "-DUSE_ACPY3 ",}).addObjects(SRCS);
        }
         //否则编译普便版本
        Pkg.addLibrary("lib/videnc_copy", targ).addObjects(SRCS);
}

所以包里的主文件就是 videnc_copy.c :

/* * ======== videnc_copy.c ======== * Video Encoder "copy" algorithm. * * This file contains an implementation of the deprecated IVIDENC interface * as defined by xDM 0.9. */ #include <xdc/std.h> #include <string.h> #include <ti/xdais/dm/ividenc.h> #include <ti/sdo/ce/trace/gt.h> #include "videnc_copy_ti.h" #include "videnc_copy_ti_priv.h"

这里只列了头文件,videnc_copy.c的头文件里没有package/internal/videnc_copy.xdc.h的字样,但是我们看到有VIDENC_COPY.XDC这个文件了,没找到真正包含它的地方.
然后我们看 Video_COPY.XDC 吧:
/*!
*  ======== VIDENC_COPY ========
*  VIDENC_COPY codec specification
* VIDENC_COPY编解码器说明手册
*  This file specifies information necessary to integrate with the Codec
*  Engine.
* 本文件特别说明了与CE集成所必需的信息。
*  By inheriting ti.sdo.ce.video.IVIDENC, VIDENC_COPY declares that it "is
*  a" video encoder algorithm.  This allows the codec engine to automatically
*  supply simple stubs and skeletons for transparent execution of DSP
*  codecs by the GPP.
*  通过继承ti.sdo.ce.video.IVIDENC,VIDENC_COPY声明它自己为一个视频编码算法。
* 这使得CE可以自动提供一个stub们和skeleton们,以实现GPP调用DSP的算法.

*  In addition to declaring the type of the VIDENC_COPY algorithm, we declare the
*  external symbol required by xDAIS that identifies the algorithms
*  implementation functions.
*除了声明算法类型,还声明了xDAIS需求实现的一些函数的外部符号.
*/
metaonly module VIDENC_COPY inherits ti.sdo.ce.video.IVIDENC
{
    override readonly config String ialgFxns = "VIDENCCOPY_TI_VIDENCCOPY";/ /ialgFxns函数表名字.
    override readonly config String idma3Fxns = "VIDENCCOPY_TI_IDMA3";// DMA3接口的名字,useDMA为true才有用.
    config Bool useDMA = false;// 用于支持某些芯片的DMA优化算法.
}
也就是说这里声明了两个String和个Bool型常量,给C语言及其他语言用,这个文件主要用来配置这三个常量的值.

下面接着看 videnc_copy.c 的代码,我把函数体内的内容去掉,只留一个声明,我们还看框架:
IVIDENC_Fxns VIDENCCOPY_TI_VIDENCCOPY = { 
{IALGFXNS},
VIDENCCOPY_TI_process,
VIDENCCOPY_TI_control,
};   //这里是填充IVIDENC_Fxns框架.

IALG_Fxns VIDENCCOPY_TI_IALG = { /* module_vendor_interface */
IALGFXNS
}; //这里是填充IALG_Fxns框架


// ======== dmaChangeChannels ========
Void VIDENCCOPY_TI_dmaChangeChannels()
// ======== dmaGetChannelCnt ========
Uns VIDENCCOPY_TI_dmaGetChannelCnt(Void)
//  ======== dmaGetChannels ========
Uns VIDENCCOPY_TI_dmaGetChannels()
// ======== maInit ========
Int VIDENCCOPY_TI_dmaInit()
这一部分是实现IDMA3_Fxns框架


IDMA3_Fxns VIDENCCOPY_TI_IDMA3 = { /* module_vendor_interface */
&VIDENCCOPY_TI_IALG, /* IALG functions */
VIDENCCOPY_TI_dmaChangeChannels, /* ChangeChannels */
VIDENCCOPY_TI_dmaGetChannelCnt, /* GetChannelCnt */
VIDENCCOPY_TI_dmaGetChannels, /* GetChannels */
VIDENCCOPY_TI_dmaInit /* initialize logical channels */
} ;//这里填充IDMA3_Fxns框架


//======== activate ========
VIDENCCOPY_TI_activate(IALG_Handle handle)
// ======== deactivate ========
VIDENCCOPY_TI_deactivate()
// ======== alloc ========
Int VIDENCCOPY_TI_alloc()
// ======== free ========
Int VIDENCCOPY_TI_free()
// ======== initObj ========
Int VIDENCCOPY_TI_initObj()
// ======== process ========
XDAS_Int32 VIDENCCOPY_TI_process()
// ======== control ========
VIDENCCOPY_TI_control()

这里是IVIDENC_Fxns框架的实现

最后看一下 videnc_copy.xs :





*  ======== VIDENC_COPY.xs ========
*  This file implements the functions specified in the ti.sdo.ce.ICodec
*  interface.  These functions enable the configuration tool to validate
*  user supplied configuration parameters (e.g., stack size for the
*  thread running this codec).
* 这个文件实现了ti.sdo.ce.ICodec接口的函数,这些函数使配置功具可以验明用户提供的配置参数.
*如栈大小等.
*/

var verbose = false;   /* set to true to enable verbose output during config */


function  getStackSize (prog)
{
    return (1024);
}

/*
*  ========  getDaramScratchSize  ========
*/
function getDaramScratchSize(prog)
{
    return (0);
}

/*
*  ========  getSaramScratchSize  ========
*/
function getSaramScratchSize(prog)
{
  return (1024);
}

行文到这里,videnc_copy的代码就看得差不了,现在总结一下:
package.xdc声明了包了名字为videnc_copy,并且告拆xdc工具,包内有一个模块,名为VIDENC_COPY, 它里面就这一句话:

package ti.sdo.ce.examples.codecs.videnc_copy [1, 0, 0] { module VIDENC_COPY; }

VIDENC_COPY这个名字指示xdc工具去看VIDENC_COPY.xdc文件,VIDENC_COPY.xdc声明了这个模块,并且告诉xdc工具,说我这个模块是继承了IVIDENC接口。

metaonly module VIDENC_COPY inherits ti.sdo.ce.video.IVIDENC { override readonly config String ialgFxns = "VIDENCCOPY_TI_VIDENCCOPY"; override readonly config String idma3Fxns = "VIDENCCOPY_TI_IDMA3"; config Bool useDMA = false; }

这里体现出来xdc有点类似于c语言头文件的作用,它一直在声明一些东西,说明了包和模块的结构。

说它相当于头文件,实际上在XDC工具使用示例中第六课的内容也讲了,videnc_copy.c中的函数定义也可以放在VIDENC_COPY.xdc中的,但也可以放在.h文件中,这个代码就是放在.h文件中的,可见videnc_copy_ti_priv.h中的代码。

另一方面是package.bld文件,这个文件说明了程序怎么编译,需要哪些依赖模块,编译哪些C语言文件,生成的什么可执行文件或库。简化一点就是下面的代码:
var Build = xdc.useModule('xdc.bld.BuildEnvironment'); //需要这些模块
var Pkg = xdc.useModule('xdc.bld.PackageContents');
var SRCS = ["videnc_copy"];
Pkg.addLibrary("lib/videnc_copy", targ).addObjects(SRCS); //编译videnc_copy.c文件,用它来生成lib/videnc_copy库


第三类文件是.xs文件,一个是package.xs,即包的.xs文件,另一个模块的.xs文件 VIDENC_COPY.xs,他们里面都是些函数。用于向配置工具提供一些用户配置参数。如package.xs里有两个函数是一个是getlibs函 数,根据情况会返回lib/videnc_copy.a64P ,lib/videnc_copy_dma.a64P等字符串值,即返回库文件的名字,它在xdc生成包之后调用,用以生成与目标芯片相关的链接命令脚 本,而另一个函数则是close,这个函数在xdc生成包的最后阶段调用,将一些配置参数复位。
模块相关的.xs文件是VIDENC_COPY.xs文件,它里面是一些堆栈设置的函数,一般都是直接return一个数值,或是打印一些信息。


读到这里我们似乎也有了一些印象,xdc编译时似乎要先打包(其中打包的结尾要调用close,然后生成链接脚。

下面我们编译一下,看看都做了些什么:
ti/sdo/ce/examples/codecs/videnc_copy$ make
/home/pheobe/davinci/xdctools_3_10_05_61/xdc XDCPATH="/home/pheobe/davinci/dvsdk_2_00_00_22/codec_engine_2_23_01/examples/ti/sdo/ce/examples/codecs/videnc_copy/../../../../../..;/home/pheobe/davinci/dvsdk_2_00_00_22/local_power_manager_1_23_01/packages;/home/pheobe/davinci/dvsdk_2_00_00_22/codec_engine_2_23_01/packages;/home/pheobe/davinci/dvsdk_2_00_00_22/xdais_6_23/packages;/home/pheobe/davinci/dvsdk_2_00_00_22/dsplink-1_61_03-prebuilt/packages;/home/pheobe/davinci/dvsdk_2_00_00_22/linuxutils_2_23_01/packages;/home/pheobe/davinci/dvsdk_2_00_00_22/framework_components_2_23_01/packages;/home/pheobe/davinci/dvsdk_2_00_00_22/biosutils_1_01_00/packages;/home/pheobe/davinci/bios_5_33_03/packages" \
                XDCOPTIONS=v all -PD .
making all: Thu Nov 3 11:12:45 EDT 2011 ...
上面这段是翻译了makefile里面的话,传换成了完整的好长的xdc命令。
======== .interfaces [/home/pheobe/davinci/dvsdk_2_00_00_22/codec_engine_2_23_01/examples/ti/sdo/ce/examples/codecs/videnc_copy] ========
#
# making package.mak (because of package.bld) ...//这里是根据package.bld生成package.mak文件
package.mak也是供make命令用的,用来编译的,你可以去看看里面是什么,大致意思是利用当前文件夹的文件和生成的pakage文件夹下的文件来编译目标代码

/ home/pheobe/davinci/xdctools_3_10_05_61/tconf  -//调用tconf
Dxdc.path="/home/pheobe/davinci/dvsdk_2_00_00_22/codec_engine_2_23_01/examples/ti/sdo/ce/examples/codecs/videnc_copy/../../../../../..;/home/pheobe/davinci/dvsdk_2_00_00_22/local_power_manager_1_23_01/packages;/home/pheobe/davinci/dvsdk_2_00_00_22/codec_engine_2_23_01/packages;/home/pheobe/davinci/dvsdk_2_00_00_22/xdais_6_23/packages;/home/pheobe/davinci/dvsdk_2_00_00_22/dsplink-1_61_03-prebuilt/packages;/home/pheobe/davinci/dvsdk_2_00_00_22/linuxutils_2_23_01/packages;/home/pheobe/davinci/dvsdk_2_00_00_22/framework_components_2_23_01/packages;/home/pheobe/davinci/dvsdk_2_00_00_22/biosutils_1_01_00/packages;/home/pheobe/davinci/bios_5_33_03/packages;/home/pheobe/davinci/xdctools_3_10_05_61/packages;../../../../../.." -Dxdc.root=/home/pheobe/davinci/xdctools_3_10_05_61 -Dxdc.hostOS=Linux -Dconfig.importPath=".;/home/pheobe/davinci/dvsdk_2_00_00_22/codec_engine_2_23_01/examples/ti/sdo/ce/examples/codecs/videnc_copy/../../../../../..;/home/pheobe/davinci/dvsdk_2_00_00_22/local_power_manager_1_23_01/packages;/home/pheobe/davinci/dvsdk_2_00_00_22/codec_engine_2_23_01/packages;/home/pheobe/davinci/dvsdk_2_00_00_22/xdais_6_23/packages;/home/pheobe/davinci/dvsdk_2_00_00_22/dsplink-1_61_03-prebuilt/packages;/home/pheobe/davinci/dvsdk_2_00_00_22/linuxutils_2_23_01/packages;/home/pheobe/davinci/dvsdk_2_00_00_22/framework_components_2_23_01/packages;/home/pheobe/davinci/dvsdk_2_00_00_22/biosutils_1_01_00/packages;/home/pheobe/davinci/bios_5_33_03/packages;/home/pheobe/davinci/xdctools_3_10_05_61/packages;../../../../../..;/home/pheobe/davinci/xdctools_3_10_05_61;/home/pheobe/davinci/xdctools_3_10_05_61/etc" -Dxdc.bld.targets="" -DTOOLS=   /home/pheobe/davinci/xdctools_3_10_05_61/packages/xdc/bld/bld.js /home/pheobe/davinci/dvsdk_2_00_00_22/codec_engine_2_23_01/examples/ti/sdo/ce/examples/codecs/videnc_copy/../../../../../../config.bld package.bld package.mak 
config.bld: Running the version from Codec Engine Examples.
config.bld: loading user build configuration file   /home/pheobe/davinci/dvsdk_2_00_00_22/codec_engine_2_23_01/examples/user.bld   //加载这个用户脚本文件.
building for target C64P ...  //为DSP创建
building for target GCArmv5T ...//为ARM创建

#
# generating interfaces for package ti.sdo.ce.examples.codecs.videnc_copy (because package/package.xdc.inc is older than package.xdc) ... //生成vienc_copy接口
/home/pheobe/davinci/xdctools_3_10_05_61/xs
 -Dxdc.path="/home/pheobe/davinci/dvsdk_2_00_00_22/codec_engine_2_23_01/examples/ti/sdo/ce/examples/codecs/videnc_copy/../../../../../..;/home/pheobe/davinci/dvsdk_2_00_00_22/local_power_manager_1_23_01/packages;/home/pheobe/davinci/dvsdk_2_00_00_22/codec_engine_2_23_01/packages;/home/pheobe/davinci/dvsdk_2_00_00_22/xdais_6_23/packages;/home/pheobe/davinci/dvsdk_2_00_00_22/dsplink-1_61_03-prebuilt/packages;/home/pheobe/davinci/dvsdk_2_00_00_22/linuxutils_2_23_01/packages;/home/pheobe/davinci/dvsdk_2_00_00_22/framework_components_2_23_01/packages;/home/pheobe/davinci/dvsdk_2_00_00_22/biosutils_1_01_00/packages;/home/pheobe/davinci/bios_5_33_03/packages;/home/pheobe/davinci/xdctools_3_10_05_61/packages;../../../../../.." -Dxdc.root=/home/pheobe/davinci/xdctools_3_10_05_61 -Dxdc.hostOS=Linux -Dconfig.importPath=".;/home/pheobe/davinci/dvsdk_2_00_00_22/codec_engine_2_23_01/examples/ti/sdo/ce/examples/codecs/videnc_copy/../../../../../..;/home/pheobe/davinci/dvsdk_2_00_00_22/local_power_manager_1_23_01/packages;/home/pheobe/davinci/dvsdk_2_00_00_22/codec_engine_2_23_01/packages;/home/pheobe/davinci/dvsdk_2_00_00_22/xdais_6_23/packages;/home/pheobe/davinci/dvsdk_2_00_00_22/dsplink-1_61_03-prebuilt/packages;/home/pheobe/davinci/dvsdk_2_00_00_22/linuxutils_2_23_01/packages;/home/pheobe/davinci/dvsdk_2_00_00_22/framework_components_2_23_01/packages;/home/pheobe/davinci/dvsdk_2_00_00_22/biosutils_1_01_00/packages;/home/pheobe/davinci/bios_5_33_03/packages;/home/pheobe/davinci/xdctools_3_10_05_61/packages;../../../../../..;/home/pheobe/davinci/xdctools_3_10_05_61;/home/pheobe/davinci/xdctools_3_10_05_61/etc" -Dxdc.bld.targets="" -DTOOLS=  -f xdc/services/intern/cmd/build.xs  -m package/package.xdc.dep -i package/package.xdc.inc package.xdc
    translating VIDENC_COPY
.interfaces files complete: Thu Nov 3 11:12:50 EDT 2011. //接口文件搞定
======== .libraries [/home/pheobe/davinci/dvsdk_2_00_00_22/codec_engine_2_23_01/examples/ti/sdo/ce/examples/codecs/videnc_copy] ========
rm -f package/lib/lib/videnc_copy/package/package_ti.sdo.ce.examples.codecs.videnc_copy.ov5T
#
# clv5T package/package_ti.sdo.ce.examples.codecs.videnc_copy.c ...
/usr/local/montavista/pro/devkit/arm/v5t_le/bin/ arm_v5t_le-gcc开始编译了 -c -MD -MF package/lib/lib/videnc_copy/package/package_ti.sdo.ce.examples.codecs.videnc_copy.ov5T.dep -x c  -fPIC -Wunused -Wall -fno-strict-aliasing  -march=armv5t -Dfar=  -Dxdc_target_name__=GCArmv5T -Dxdc_target_types__=gnu/targets/arm/std.h -Dxdc_bld__profile_release -Dxdc_bld__vers_1_0_4_2_0 -O2  -I. -I/home/pheobe/davinci/dvsdk_2_00_00_22/codec_engine_2_23_01/examples/ti/sdo/ce/examples/codecs/videnc_copy/../../../../../.. -I/home/pheobe/davinci/dvsdk_2_00_00_22/local_power_manager_1_23_01/packages -I/home/pheobe/davinci/dvsdk_2_00_00_22/codec_engine_2_23_01/packages -I/home/pheobe/davinci/dvsdk_2_00_00_22/xdais_6_23/packages -I/home/pheobe/davinci/dvsdk_2_00_00_22/dsplink-1_61_03-prebuilt/packages -I/home/pheobe/davinci/dvsdk_2_00_00_22/linuxutils_2_23_01/packages -I/home/pheobe/davinci/dvsdk_2_00_00_22/framework_components_2_23_01/packages -I/home/pheobe/davinci/dvsdk_2_00_00_22/biosutils_1_01_00/packages -I/home/pheobe/davinci/bios_5_33_03/packages -I/home/pheobe/davinci/xdctools_3_10_05_61/packages -I../../../../../..  -o package/lib/lib/videnc_copy/package/package_ti.sdo.ce.examples.codecs.videnc_copy.ov5T package/package_ti.sdo.ce.examples.codecs.videnc_copy.c
rm -f package/lib/lib/videnc_copy/videnc_copy.ov5T
#
# clv5T videnc_copy.c ...
/usr/local/montavista/pro/devkit/arm/v5t_le/bin /arm_v5t_le-gcc -c -MD -MF package/lib/lib/videnc_copy/videnc_copy.ov5T.dep -x c  -fPIC -Wunused -Wall -fno-strict-aliasing  -march=armv5t -Dfar=  -Dxdc_target_name__=GCArmv5T -Dxdc_target_types__=gnu/targets/arm/std.h -Dxdc_bld__profile_release -Dxdc_bld__vers_1_0_4_2_0 -O2  -I. -I/home/pheobe/davinci/dvsdk_2_00_00_22/codec_engine_2_23_01/examples/ti/sdo/ce/examples/codecs/videnc_copy/../../../../../.. -I/home/pheobe/davinci/dvsdk_2_00_00_22/local_power_manager_1_23_01/packages -I/home/pheobe/davinci/dvsdk_2_00_00_22/codec_engine_2_23_01/packages -I/home/pheobe/davinci/dvsdk_2_00_00_22/xdais_6_23/packages -I/home/pheobe/davinci/dvsdk_2_00_00_22/dsplink-1_61_03-prebuilt/packages -I/home/pheobe/davinci/dvsdk_2_00_00_22/linuxutils_2_23_01/packages -I/home/pheobe/davinci/dvsdk_2_00_00_22/framework_components_2_23_01/packages -I/home/pheobe/davinci/dvsdk_2_00_00_22/biosutils_1_01_00/packages -I/home/pheobe/davinci/bios_5_33_03/packages -I/home/pheobe/davinci/xdctools_3_10_05_61/packages -I../../../../../..  -o package/lib/lib/videnc_copy/videnc_copy.ov5T videnc_copy.c
rm -f lib/videnc_copy.av5T类似的句子是删除临时文件
#
# archiving package/lib/lib/videnc_copy/package/package_ti.sdo.ce.examples.codecs.videnc_copy.ov5T package/lib/lib/videnc_copy/videnc_copy.ov5T into lib/videnc_copy.av5T ...
/usr/local/montavista/pro/devkit/arm/v5t_le/armv5tl-montavista-linux-gnueabi/bin/ar  cr lib/videnc_copy.av5T   package/lib/lib/videnc_copy/package/package_ti.sdo.ce.examples.codecs.videnc_copy.ov5T package/lib/lib/videnc_copy/videnc_copy.ov5T 
rm -f package/lib/lib/videnc_copy/package/package_ti.sdo.ce.examples.codecs.videnc_copy.o64P
#
# cl64P package/package_ti.sdo.ce.examples.codecs.videnc_copy.c ...
/home/pheobe/davinci/cg6x_6_0_21_1/bin/cl6x -c这是为DSP编译 -qq -pdsw225 -pden -pds=195  -mv64p -eo.o64P -ea.s64P  -Dxdc_target_name__=C64P -Dxdc_target_types__=ti/targets/std.h -Dxdc_bld__profile_release -Dxdc_bld__vers_1_0_6_0_21 -O2  -I. -I/home/pheobe/davinci/dvsdk_2_00_00_22/codec_engine_2_23_01/examples/ti/sdo/ce/examples/codecs/videnc_copy/../../../../../.. -I/home/pheobe/davinci/dvsdk_2_00_00_22/local_power_manager_1_23_01/packages -I/home/pheobe/davinci/dvsdk_2_00_00_22/codec_engine_2_23_01/packages -I/home/pheobe/davinci/dvsdk_2_00_00_22/xdais_6_23/packages -I/home/pheobe/davinci/dvsdk_2_00_00_22/dsplink-1_61_03-prebuilt/packages -I/home/pheobe/davinci/dvsdk_2_00_00_22/linuxutils_2_23_01/packages -I/home/pheobe/davinci/dvsdk_2_00_00_22/framework_components_2_23_01/packages -I/home/pheobe/davinci/dvsdk_2_00_00_22/biosutils_1_01_00/packages -I/home/pheobe/davinci/bios_5_33_03/packages -I/home/pheobe/davinci/xdctools_3_10_05_61/packages -I../../../../../.. -I/home/pheobe/davinci/cg6x_6_0_21_1/include -fs=./package/lib/lib/videnc_copy/package -fr=./package/lib/lib/videnc_copy/package -fc package/package_ti.sdo.ce.examples.codecs.videnc_copy.c
/home/pheobe/davinci/xdctools_3_10_05_61/bin/mkdep -a package/lib/lib/videnc_copy/package/package_ti.sdo.ce.examples.codecs.videnc_copy.o64P.dep -p package/lib/lib/videnc_copy/package -s o64P package/package_ti.sdo.ce.examples.codecs.videnc_copy.c -C   -qq -pdsw225 -pden -pds=195  -mv64p -eo.o64P -ea.s64P  -Dxdc_target_name__=C64P -Dxdc_target_types__=ti/targets/std.h -Dxdc_bld__profile_release -Dxdc_bld__vers_1_0_6_0_21 -O2  -I. -I/home/pheobe/davinci/dvsdk_2_00_00_22/codec_engine_2_23_01/examples/ti/sdo/ce/examples/codecs/videnc_copy/../../../../../.. -I/home/pheobe/davinci/dvsdk_2_00_00_22/local_power_manager_1_23_01/packages -I/home/pheobe/davinci/dvsdk_2_00_00_22/codec_engine_2_23_01/packages -I/home/pheobe/davinci/dvsdk_2_00_00_22/xdais_6_23/packages -I/home/pheobe/davinci/dvsdk_2_00_00_22/dsplink-1_61_03-prebuilt/packages -I/home/pheobe/davinci/dvsdk_2_00_00_22/linuxutils_2_23_01/packages -I/home/pheobe/davinci/dvsdk_2_00_00_22/framework_components_2_23_01/packages -I/home/pheobe/davinci/dvsdk_2_00_00_22/biosutils_1_01_00/packages -I/home/pheobe/davinci/bios_5_33_03/packages -I/home/pheobe/davinci/xdctools_3_10_05_61/packages -I../../../../../.. -I/home/pheobe/davinci/cg6x_6_0_21_1/include -fs=./package/lib/lib/videnc_copy/package -fr=./package/lib/lib/videnc_copy/package
rm -f package/lib/lib/videnc_copy/videnc_copy.o64P
#
# cl64P videnc_copy.c ...
/home/pheobe/davinci/cg6x_6_0_21_1/bin/cl6x -c  -qq -pdsw225 -pden -pds=195  -mv64p -eo.o64P -ea.s64P  -Dxdc_target_name__=C64P -Dxdc_target_types__=ti/targets/std.h -Dxdc_bld__profile_release -Dxdc_bld__vers_1_0_6_0_21 -O2  -I. -I/home/pheobe/davinci/dvsdk_2_00_00_22/codec_engine_2_23_01/examples/ti/sdo/ce/examples/codecs/videnc_copy/../../../../../.. -I/home/pheobe/davinci/dvsdk_2_00_00_22/local_power_manager_1_23_01/packages -I/home/pheobe/davinci/dvsdk_2_00_00_22/codec_engine_2_23_01/packages -I/home/pheobe/davinci/dvsdk_2_00_00_22/xdais_6_23/packages -I/home/pheobe/davinci/dvsdk_2_00_00_22/dsplink-1_61_03-prebuilt/packages -I/home/pheobe/davinci/dvsdk_2_00_00_22/linuxutils_2_23_01/packages -I/home/pheobe/davinci/dvsdk_2_00_00_22/framework_components_2_23_01/packages -I/home/pheobe/davinci/dvsdk_2_00_00_22/biosutils_1_01_00/packages -I/home/pheobe/davinci/bios_5_33_03/packages -I/home/pheobe/davinci/xdctools_3_10_05_61/packages -I../../../../../.. -I/home/pheobe/davinci/cg6x_6_0_21_1/include -fs=./package/lib/lib/videnc_copy -fr=./package/lib/lib/videnc_copy -fc videnc_copy.c
/home/pheobe/davinci/xdctools_3_10_05_61/bin/mkdep -a package/lib/lib/videnc_copy/videnc_copy.o64P.dep -p package/lib/lib/videnc_copy -s o64P videnc_copy.c -C   -qq -pdsw225 -pden -pds=195  -mv64p -eo.o64P -ea.s64P  -Dxdc_target_name__=C64P -Dxdc_target_types__=ti/targets/std.h -Dxdc_bld__profile_release -Dxdc_bld__vers_1_0_6_0_21 -O2  -I. -I/home/pheobe/davinci/dvsdk_2_00_00_22/codec_engine_2_23_01/examples/ti/sdo/ce/examples/codecs/videnc_copy/../../../../../.. -I/home/pheobe/davinci/dvsdk_2_00_00_22/local_power_manager_1_23_01/packages -I/home/pheobe/davinci/dvsdk_2_00_00_22/codec_engine_2_23_01/packages -I/home/pheobe/davinci/dvsdk_2_00_00_22/xdais_6_23/packages -I/home/pheobe/davinci/dvsdk_2_00_00_22/dsplink-1_61_03-prebuilt/packages -I/home/pheobe/davinci/dvsdk_2_00_00_22/linuxutils_2_23_01/packages -I/home/pheobe/davinci/dvsdk_2_00_00_22/framework_components_2_23_01/packages -I/home/pheobe/davinci/dvsdk_2_00_00_22/biosutils_1_01_00/packages -I/home/pheobe/davinci/bios_5_33_03/packages -I/home/pheobe/davinci/xdctools_3_10_05_61/packages -I../../../../../.. -I/home/pheobe/davinci/cg6x_6_0_21_1/include -fs=./package/lib/lib/videnc_copy -fr=./package/lib/lib/videnc_copy
rm -f lib/videnc_copy.a64P
# 归档
# archiving package/lib/lib/videnc_copy/package/package_ti.sdo.ce.examples.codecs.videnc_copy.o64P package/lib/lib/videnc_copy/videnc_copy.o64P into lib/videnc_copy.a64P ...
/home/pheobe/davinci/cg6x_6_0_21_1/bin/ar6x  rq lib/videnc_copy.a64P   package/lib/lib/videnc_copy/package/package_ti.sdo.ce.examples.codecs.videnc_copy.o64P package/lib/lib/videnc_copy/videnc_copy.o64P 
rm -f package/lib/lib/videnc_copy_dma/package/package_ti.sdo.ce.examples.codecs.videnc_copy.o64P
#
# cl64P package/package_ti.sdo.ce.examples.codecs.videnc_copy.c ...
/home/pheobe/davinci/cg6x_6_0_21_1/bin/cl6x -c  -qq -pdsw225 -pden -pds=195  -mv64p -eo.o64P -ea.s64P  -Dxdc_target_name__=C64P -Dxdc_target_types__=ti/targets/std.h -Dxdc_bld__profile_release -Dxdc_bld__vers_1_0_6_0_21 -O2 -DUSE_ACPY3   -I. -I/home/pheobe/davinci/dvsdk_2_00_00_22/codec_engine_2_23_01/examples/ti/sdo/ce/examples/codecs/videnc_copy/../../../../../.. -I/home/pheobe/davinci/dvsdk_2_00_00_22/local_power_manager_1_23_01/packages -I/home/pheobe/davinci/dvsdk_2_00_00_22/codec_engine_2_23_01/packages -I/home/pheobe/davinci/dvsdk_2_00_00_22/xdais_6_23/packages -I/home/pheobe/davinci/dvsdk_2_00_00_22/dsplink-1_61_03-prebuilt/packages -I/home/pheobe/davinci/dvsdk_2_00_00_22/linuxutils_2_23_01/packages -I/home/pheobe/davinci/dvsdk_2_00_00_22/framework_components_2_23_01/packages -I/home/pheobe/davinci/dvsdk_2_00_00_22/biosutils_1_01_00/packages -I/home/pheobe/davinci/bios_5_33_03/packages -I/home/pheobe/davinci/xdctools_3_10_05_61/packages -I../../../../../.. -I/home/pheobe/davinci/cg6x_6_0_21_1/include -fs=./package/lib/lib/videnc_copy_dma/package -fr=./package/lib/lib/videnc_copy_dma/package -fc package/package_ti.sdo.ce.examples.codecs.videnc_copy.c
/home/pheobe/davinci/xdctools_3_10_05_61/bin/mkdep -a package/lib/lib/videnc_copy_dma/package/package_ti.sdo.ce.examples.codecs.videnc_copy.o64P.dep -p package/lib/lib/videnc_copy_dma/package -s o64P package/package_ti.sdo.ce.examples.codecs.videnc_copy.c -C   -qq -pdsw225 -pden -pds=195  -mv64p -eo.o64P -ea.s64P  -Dxdc_target_name__=C64P -Dxdc_target_types__=ti/targets/std.h -Dxdc_bld__profile_release -Dxdc_bld__vers_1_0_6_0_21 -O2 -DUSE_ACPY3   -I. -I/home/pheobe/davinci/dvsdk_2_00_00_22/codec_engine_2_23_01/examples/ti/sdo/ce/examples/codecs/videnc_copy/../../../../../.. -I/home/pheobe/davinci/dvsdk_2_00_00_22/local_power_manager_1_23_01/packages -I/home/pheobe/davinci/dvsdk_2_00_00_22/codec_engine_2_23_01/packages -I/home/pheobe/davinci/dvsdk_2_00_00_22/xdais_6_23/packages -I/home/pheobe/davinci/dvsdk_2_00_00_22/dsplink-1_61_03-prebuilt/packages -I/home/pheobe/davinci/dvsdk_2_00_00_22/linuxutils_2_23_01/packages -I/home/pheobe/davinci/dvsdk_2_00_00_22/framework_components_2_23_01/packages -I/home/pheobe/davinci/dvsdk_2_00_00_22/biosutils_1_01_00/packages -I/home/pheobe/davinci/bios_5_33_03/packages -I/home/pheobe/davinci/xdctools_3_10_05_61/packages -I../../../../../.. -I/home/pheobe/davinci/cg6x_6_0_21_1/include -fs=./package/lib/lib/videnc_copy_dma/package -fr=./package/lib/lib/videnc_copy_dma/package
rm -f package/lib/lib/videnc_copy_dma/videnc_copy.o64P
#
# cl64P videnc_copy.c ...
/home/pheobe/davinci/cg6x_6_0_21_1/bin/cl6x -c  -qq -pdsw225 -pden -pds=195  -mv64p -eo.o64P -ea.s64P  -Dxdc_target_name__=C64P -Dxdc_target_types__=ti/targets/std.h -Dxdc_bld__profile_release -Dxdc_bld__vers_1_0_6_0_21 -O2 -DUSE_ACPY3   -I. -I/home/pheobe/davinci/dvsdk_2_00_00_22/codec_engine_2_23_01/examples/ti/sdo/ce/examples/codecs/videnc_copy/../../../../../.. -I/home/pheobe/davinci/dvsdk_2_00_00_22/local_power_manager_1_23_01/packages -I/home/pheobe/davinci/dvsdk_2_00_00_22/codec_engine_2_23_01/packages -I/home/pheobe/davinci/dvsdk_2_00_00_22/xdais_6_23/packages -I/home/pheobe/davinci/dvsdk_2_00_00_22/dsplink-1_61_03-prebuilt/packages -I/home/pheobe/davinci/dvsdk_2_00_00_22/linuxutils_2_23_01/packages -I/home/pheobe/davinci/dvsdk_2_00_00_22/framework_components_2_23_01/packages -I/home/pheobe/davinci/dvsdk_2_00_00_22/biosutils_1_01_00/packages -I/home/pheobe/davinci/bios_5_33_03/packages -I/home/pheobe/davinci/xdctools_3_10_05_61/packages -I../../../../../.. -I/home/pheobe/davinci/cg6x_6_0_21_1/include -fs=./package/lib/lib/videnc_copy_dma -fr=./package/lib/lib/videnc_copy_dma -fc videnc_copy.c
/home/pheobe/davinci/xdctools_3_10_05_61/bin/mkdep -a package/lib/lib/videnc_copy_dma/videnc_copy.o64P.dep -p package/lib/lib/videnc_copy_dma -s o64P videnc_copy.c -C   -qq -pdsw225 -pden -pds=195  -mv64p -eo.o64P -ea.s64P  -Dxdc_target_name__=C64P -Dxdc_target_types__=ti/targets/std.h -Dxdc_bld__profile_release -Dxdc_bld__vers_1_0_6_0_21 -O2 -DUSE_ACPY3   -I. -I/home/pheobe/davinci/dvsdk_2_00_00_22/codec_engine_2_23_01/examples/ti/sdo/ce/examples/codecs/videnc_copy/../../../../../.. -I/home/pheobe/davinci/dvsdk_2_00_00_22/local_power_manager_1_23_01/packages -I/home/pheobe/davinci/dvsdk_2_00_00_22/codec_engine_2_23_01/packages -I/home/pheobe/davinci/dvsdk_2_00_00_22/xdais_6_23/packages -I/home/pheobe/davinci/dvsdk_2_00_00_22/dsplink-1_61_03-prebuilt/packages -I/home/pheobe/davinci/dvsdk_2_00_00_22/linuxutils_2_23_01/packages -I/home/pheobe/davinci/dvsdk_2_00_00_22/framework_components_2_23_01/packages -I/home/pheobe/davinci/dvsdk_2_00_00_22/biosutils_1_01_00/packages -I/home/pheobe/davinci/bios_5_33_03/packages -I/home/pheobe/davinci/xdctools_3_10_05_61/packages -I../../../../../.. -I/home/pheobe/davinci/cg6x_6_0_21_1/include -fs=./package/lib/lib/videnc_copy_dma -fr=./package/lib/lib/videnc_copy_dma
rm -f lib/videnc_copy_dma.a64P
#
# archiving package/lib/lib/videnc_copy_dma/package/package_ti.sdo.ce.examples.codecs.videnc_copy.o64P package/lib/lib/videnc_copy_dma/videnc_copy.o64P into lib/videnc_copy_dma.a64P ...
/home/pheobe/davinci/cg6x_6_0_21_1/bin/ar6x  rq lib/ videnc_copy_dma.a64P   package/lib/lib/videnc_copy_dma/package/package_ti.sdo.ce.examples.codecs.videnc_copy.o64P package/lib/lib/videnc_copy_dma/videnc_copy.o64P 
.libraries files complete: Thu Nov 3 11:12:52 EDT 2011.
======== .dlls [/home/pheobe/davinci/dvsdk_2_00_00_22/codec_engine_2_23_01/examples/ti/sdo/ce/examples/codecs/videnc_copy] ========
.dlls files complete: Thu Nov 3 11:12:52 EDT 2011.
======== .executables [/home/pheobe/davinci/dvsdk_2_00_00_22/codec_engine_2_23_01/examples/ti/sdo/ce/examples/codecs/videnc_copy] ========
.executables files complete: Thu Nov 3 11:12:52 EDT 2011.
======== all [/home/pheobe/davinci/dvsdk_2_00_00_22/codec_engine_2_23_01/examples/ti/sdo/ce/examples/codecs/videnc_copy] ========
#
# all files complete.
all files complete: Thu Nov 3 11:12:52 EDT 2011.
2026年AI大模型面试题整理(含答案).zip 2026年AI大模型面试题整理(含答案),共76份。供大家学习参阅。 AI大模型八股文(102).pdf Transformer面试题总结97道.pdf 大模型 LLM 最全八股和答案.pdf 大模型 RAG 经验面.pdf 大模型LLMS面试宝典.pdf 大模型岗位面试全纪录.pdf 大模型常考面试题总结+答案.pdf 大模型常见面试题及解答1.pdf 大模型常见面试题及解答2.pdf 大模型常见面试题及解答3.pdf 大模型校招面试题.pdf 50个精通AI大模型面试题.pdf 52道大模型八股文面试题\1-大模型(LLMs)基础面.docx 52道大模型八股文面试题\10-LLMs+训练经验帖.docx 52道大模型八股文面试题\11-大模型(LLMs)langchain+面.docx 52道大模型八股文面试题\12-多轮对话中让AI保持长期记忆的8种优化方式篇.docx 52道大模型八股文面试题\13-基于langchain+RAG问答应用实战.docx 52道大模型八股文面试题\14-基于LLM+向量库的文档对话+经验面.docx 52道大模型八股文面试题\15-大模型+RAG+经验面.docx 52道大模型八股文面试题\16-LLM文档对话+——+pdf解析关键问题.docx 52道大模型八股文面试题\17-大模型(LLMs)RAG+版面分析——表格识别方法篇.docx 52道大模型八股文面试题\18-大模型(LLMs)RAG+版面分析——文本分块面.docx 52道大模型八股文面试题\19-大模型外挂知识库优化——如何利用大模型辅助召回?.docx 52道大模型八股文面试题\2-Layer+normalization+篇.docx 52道大模型八股文面试题\20-大模型外挂知识库优化——负样本样本挖掘篇.docx 52道大模型八股文面试题\21-RAG(Retrieval-Augmented+Generation)评测面.docx 52道大模型八股文面试题\22-检索增强生成(RAG)+优化策略篇6.docx 52道大模型八股文面试题\23-大模型(LLMs)RAG+——+关键痛点及对应解决方案.docx 52道大模型八股文面试题\24-大模型(LLMs)RAG+优化策略+——+RAG-Fusion篇.docx 52道大模型八股文面试题\25-Graph+RAG+面+—+一种+基于知识图谱的大模型检索增强实现策略.docx 52道大模型八股文面试题\26-大模型(LLMs)参数高效微调(PEFT)+面.docx 52道大模型八股文面试题\27-适配器微调(Adapter-tuning)篇.docx 52道大模型八股文面试题\28-提示学习(Prompting)篇.docx 52道大模型八股文面试题\29-LoRA+系列篇.docx 52道大模型八股文面试题\3-LLMs+激活函数篇.docx 52道大模型八股文面试题\30-如何使用+PEFT库+中+LoRA?.docx 52道大模型八股文面试题\31-大模型(LLMs)推理面.docx 52道大模型八股文面试题\32-大模型(LLMs)增量预训练篇.docx 52道大模型八股文面试题\33-增量预训练(Pretrain)样本拼接篇.docx 52道大模型八股文面试题\34-基于lora的llama2二次预训练.docx 52道大模型八股文面试题\35-大模型(LLMs)评测面.docx 52道大模型八股文面试题\36-大模型(LLMs)强化学习面.docx 52道大模型八股文面试题\37-大模型(LLMs)强化学习——RLHF及其变种面.docx 52道大模型八股文面试题\38-大模型(LLMs)强化学习——+PPO+面.docx 52道大模型八股文面试题\39-强化学习在自然语言处理下的应用篇.docx 52道大模型八股文面试题\4-Attention+升级面.docx 52道大模型八股文面试题\40-大模型(LLMs)训练集面.docx 52道大模型八股文面试题\41-大模型(LLMs)LLM生成SFT数据方法面.docx 52道大模型八股文面试题\42-大模型(LLMs)显存问题面.docx 52道大模型八股文面试题\43-显存优化策略篇.docx 52道大模型八股文面试题\44-大模型(LLMs)分布式训练面.docx 52道大模型八股文面试题\45-图解分布式训练(一)+——+流水线并行(Pipeline+Parallelism).docx 52道大模型八股文面试题\46-图解分布式训练(二)+——+nn.DataParallel篇.docx 52道大模型八股文面试题\47-图解分布式训练(三)+——+nn.parallel.DistributedDataParallel.docx 52道大模型八股文面试题\48-图解分布式训练(四)+——+torch.multiprocessing+详细解析0.docx 52道大模型八股文面试题\49-图解分布式训练(五)+——+AMP混合精度训练+详细解析.docx 52道大模型八股文面试题\5-transformers+操作篇.docx 52道大模型八股文面试题\50-图解分布式训练(六)——+Pytorch的+DeepSpeed+详细解析.docx 52道大模型八股文面试题\51-图解分布式训练(七)——+accelerate+分布式训练+详细解析.docx 52道大模型八股文面试题\52-图解分布式训练(八)——+ZeRO+学习.docx 52道大模型八股文面试题\6-LLMs+损失函数篇.docx 52道大模型八股文面试题\7-相似度函数篇.docx 52道大模型八股文面试题\8-大模型(LLMs)进阶面.docx 52道大模型八股文面试题\9-大模型(LLMs)微调面.docx 李老师AI大模型面试题资料\Agent Loop&Loop Engineering面试10连问.md 李老师AI大模型面试题资料\Agent Loop面试10连问.pptx 李老师AI大模型面试题资料\AI大模型面试题.png 李老师AI大模型面试题资料\DeepSeek Harness 10连问.pptx 李老师AI大模型面试题资料\FDE岗位常见面试题.pptx 李老师AI大模型面试题资料\Milvus3.0新特性.pptx 李老师AI大模型面试题资料\RAG码士学习平台知识库项目.png 李老师AI大模型面试题资料\RAG码士学习平台知识库项目.pptx 连老师AI大模型面试资料\Langchain.txt 连老师AI大模型面试资料\连老师LangChain面试题:httpscloud.fynote.comsharesZUIogPG4.txt 立即下载

相关推荐

政府科技管理者如何保障科技成果评价的公正透明?.docx

政府科技管理者如何保障科技成果评价的公正透明?

codec engine代码阅读四---CE_DIR/examples/ti/sdo/ce/examles/codecs/videnc_copy

 主要讲解CE_DIR/examples/ti/sdo/ce/examles/codecs文件夹:提供实现IVIDENC接口的视频编码器 codec engine代码阅读四---CE_DIR/examples/ti/sdo/ce/examles/codecs/videnc_copy下的文件: 当完成编辑上一篇code engine代码阅读三 所涉及的两个文件之后就可以编译

u010457344的专栏 1077

【Web服务器运维】基于Nginx与Keepalived的高可用负载均衡系统部署:实现故障自动切换与虚拟IP管理

内容概要:本文详细介绍了如何通过Nginx与Keepalived实现高可用的负载均衡架构。首先讲解了Nginx的安装部署流程,包括依赖环境的准备、源码解压编译、启动及配置重载;接着介绍了Keepalived的安装步骤及其服务管理方式;重点在于通过配置Keepalived的主备节点(MASTER/BACKUP),结合VRRP协议和虚拟IP(VIP)实现故障自动切换,并通过自定义脚本nginx_check.sh实时检测Nginx运行状态,确保服务高可用;最后补充了在云环境中因组播限制导致心跳不稳定时,应改用单播(unicast)方式进行通信的解决方案。; 适合人群:具备Linux系统操作基础、熟悉网络基础知识,从事运维、DevOps或Web服务部署的技术人员,尤其是工作1-3年的工程师。; 使用场景及目标:①搭建高可用的Web负载均衡系统,避免单点故障;②掌握Nginx与Keepalived协同工作的原理与实战配置方法;③应用于生产环境中提升服务稳定性与容灾能力。; 阅读建议:学习时应结合实验环境动手操作,重点关注keepalived.conf配置差异与nginx_check.sh脚本逻辑,理解VRRP机制及单播替代组播的实际应用场景,注意根据实际网络环境调整IP与网卡参数。

XDC工具使用示例

http://www.usr.cc/thread-52037-1-1.html 这个文章实际上是为读示例代码服务的,下面转而进入读代码系统的第四篇:codec engine代码阅读四---CE_DIR/examples/ti/sdo/ce/examles/codecs/videnc_copy 在xdc工具的文档里,有一个chm文件,我们跟着这个文件做一些简单的利用xdc的程序编译. ...

kunkliu的博客 2677

三电平Buck直流变换器双闭环、单闭环、开环仿真【附参考文献】(Simulink仿真实现)

内容概要:本文档系统介绍了三电平Buck直流变换器在Simulink环境下的开环、单闭环与双闭环控制系统的建模仿真方法,涵盖系统建模、控制策略设计及动态性能对比分析。通过构建不同控制结构,深入探讨电压调节精度、系统响应速度、抗干扰能力及稳定性差异,重点剖析双闭环控制中电压外环与电流内环的协同作用机制,揭示其在抑制输出纹波、提升负载适应性方面的优势,帮助读者掌握多电平DC-DC变换器的核心控制原理与工程实现技术;文档还提供了详实的仿真参数设置与参考文献,便于理论验证与实践复现。; 适合人群:电力电子、自动化、电气工程及其相关专业的高校本科生、研究生、科研人员,以及从事电源系统、新能源变换器开发的工程技术人员。; 使用场景及目标:①作为高校电力电子课程的教学案例,辅助学生理解Buck变换器多层次控制策略的设计思路与性能差异;②为科研项目中高效直流变换系统的仿真研究提供可复用的技术模板;③指导工业界在高精度电源设计中优化控制器参数,提升系统动态响应与稳定性。; 阅读建议:建议结合Simulink仿真模型同步操作,对照文档逐步搭建各控制结构,重点观察不同闭环配置下输出电压的瞬态与稳态表现,深入理解PI参数整定、环路耦合影响及系统频域特性的关联性,从而全面提升对电力电子系统控制设计的综合把握能力。

国央企创新负责人如何实现科技成果的全流程数字化管理?.docx

科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。

RTSC以及XDCtools介绍与应用

 RTS(RTSC, pronounced "rit-see")是一个基于C的编程模型,用于开发创建或实施嵌入式平台实时软件组件。XDCtools包含使用RTSC的工具和运行时组件。 网站:http://rtsc.eclipse.org/docs-tip/Main_Page XDC(eXpress DSP Components)是一个为嵌入式实时系统提供可重用组件(称

guo8113的专栏 1万+

开题报告该怎么写

考研即将来临,而一般很多大学都会选择在考研结束之后开始安排选题和开题报考(考研之前一般都不谈,老师也很人性化的,不愿意耽误你的复习) 但无论怎么推迟,我们最终都需要去面对并完成这些任务。 现在我就要教大家该如何写一个完整的开题报告! 准备模板。不同的学校有不同的格式,一般情况你的导师会给你们一个学校的标准格式,这个不用太费心。有了模板我们就可以按照模板的“线索”一步一步填充完成即可! 一般大致格式可谓: 研究背景/论文的目的、背景和意义 我们需要写明选择该题目的...

wuyueweifeng的博客 1095

ti工具链----xdc-tool

1、xs 与 XDCsript The xs command is used to execute XDCscript programs. XDCscript is a general-purpose programming language based upon the ECMA-262 Edition 3 standard – popularly known as JavaScript 1.

yuanzhenhai的专栏 2595

Android GNSS 模块分析(三)JNI 层

Android GNSS;定位服务;GPS;NMEA协议;LocationManagerService;导航;

Yang_Mao_Shan的博客 5156

【MFiX后处理】MFiX中使用des_usr_var输出颗粒的传热量(2020-11-27更新变更输出变量名方法)

参考之前Yin的那一篇博客 https://www.cnblogs.com/Jay-CFD/p/10621274.html 输出一下颗粒传热量 使用的算例是fluid_bed_dem_2d 打开des scalar tracking 前面都和Yin那篇一样,打开enable user scalar tracking 输入2 因为第一个用来测试Y加速度了 第二个输出传热量 然后在output vtk中勾选好 更改源代码 源代码为des_thermo_newvalues.f 在mfix-GUI自带的ed

beidou111的博客 1533

codec engine代码阅读五---CE_DIR/examples/ti/sdo/ce/examles/servers/video_copy(转)

http://www.usr.cc/thread-52044-1-1.html 主要介绍CE_DIR/examples/ti/sdo/ce/examles/servers文件夹 上一篇看了codecs的代码,了解到codecs提供了一个实现了IVIDENC接口的视频编码器。与他并行的还有一个viddec_copy文件夹里 面实现的是视频解码器。这里的servers/vide

wzlang的专栏 964

BlenderGis安装碰到问题,ImageIO、无法点击和地图不加载

BlenderGis安装碰到问题,ImageIO、无法点击和地图不加载问题

qq_45176349的博客 4964

xdc应用--hello world

<br />xdc等同于gmake<br />摘自Davinci Technology Workshop (Rev 0.98) Lab 5需要的文件:1 main.c#include <stdio.h><br />#include <stdlib.h>int main(void)<br />{<br />   printf("Hello world/n");   return 0;<br />}2 package.bld// Define the list of targets to build for i

yuyin86的专栏 1236

具身大小脑全栈全网独家复现|LLM链式推理+边缘VLA感知+毫秒级运动小脑、优化人形步态僵硬运动滞后、打通思考-行走-操作全链路适配居家工业多场景落地

高层决策大脑(异步10Hz,GPU算力):轻量化机器人微调LLM+RhinoVLA边缘视觉大模型,负责自然语言链式工序拆解、全局环境语义感知、目标物体筛选、跨机器人动作适配,输出粗粒度运动目标,不介入底层伺服计算;依托View Registry实现异构机器人动作对齐,适配多形态机器人切换;中层调度小脑(硬实时1kHz,CPU算力)

qq_36130719的博客 255

codec engine代码阅读六---CE_DIR/examples/ti/sdo/ce/examles/apps/video_copy(转)

http://www.usr.cc/thread-52045-1-1.html 这一篇来看应用,针对于dm6446的apps代码在:apps/video_copy/dualcpu/evmDM6446下面: apps/video_copy/dualcpu/evmDM6446$ ls app.c  ceapp.c  ceapp.cfg  in.dat  makefile  pac

wzlang的专栏 1144

【前端圭臬】二:你知道的和不知道的 HTML

关于 HTML,说几个你可能不太关注的问题。

Evan 的博客 4758

omap3530 dvsdk编译时出错:package.mak error

解决办法是: make clean make all 即可. 特此记录一下.

张亮校的专栏 778

结合MATLAB/Simulink和多体动力学仿真软件UM(Universal Mechanism),建立高速列车轴箱轴承的动力学模型,并通过联合仿真分析其正常运行特性和典型故障模式

高速列车是现代交通运输的重要组成部分,其运行速度高、载客量大,对安全性和可靠性提出了极高的要求。轴箱轴承作为高速列车的关键部件之一,承担着传递载荷和支撑车轴的重要作用。然而,由于长期运行在高速、重载和复杂工况下,轴箱轴承容易出现疲劳磨损、润滑失效和裂纹等故障,从而影响列车的安全性。本项目旨在结合MATLAB/Simulink和多体动力学仿真软件UM(Universal Mechanism),建立高速列车轴箱轴承的动力学模型,并通过联合仿真分析其正常运行特性和典型故障模式。

xiaoheshang_123的博客 329

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

dsp运行 Linux,linux音频编程打开dev/dsp忙问题,请帮忙。

#include #define LENGTH 3#define RATE 8000#define SIZE 8#define CHANNELS 1unsigned char buf[LENGTH*RATE*SIZE*CHANNELS/8];void *read_sound(void *arg1){int fd;int arg;int status;int count;FILE * outfil...

weixin_42345187的博客 581

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

关于XDC工具的文章

1.TI XDC工具入门简介 http://www.usr.cc/thread-52028-1-3.html 2.XDC工具使用示例 http://www.usr.cc/thread-52037-1-2.html 3.codec engine代码阅读四---CE_DIR/examples/ti/sdo/ce/examles/codecs/videnc_copy http://alpham

wzlang的专栏 3489

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

上一篇: codec engine代码阅读1~3:根目录package.xdc,release notes和example文件夹(转)
下一篇: codec engine代码阅读五---CE_DIR/examples/ti/sdo/ce/examles/servers/video_copy(转)
wzlang
博客等级 码龄17年 6粉丝 0原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值