使用 Codec Engine 的 API 函数(一)

来源:互联网 发布:java试卷生成系统源码 编辑:程序博客网 时间:2024/05/01 04:23

本文翻译自TI的手册,该手册是学习GPP+DSP开发的金典文档,希望对各位入门有所帮助,有理解不当之处望请赐教。
 Codec Engine Application Developer User's Guide.pdf (Literature Number: SPRUE67D)
《Codec Engine 应用开发使用手册》           http://blog.csdn.net/dyzok88/article/details/42154487
《第一章 Codec Engine 概要》                http://blog.csdn.net/dyzok88/article/details/42214813
《第二章 Codec Engine 安装和设置》          http://blog.csdn.net/dyzok88/article/details/42278109
《第三章 使用 Codec Engine 的示例应用程序》 http://blog.csdn.net/dyzok88/article/details/42302793


// 正文

第四章 使用 Codec Engine 的 API 函数

    本章介绍了如何在应用程序中使用 Codec Engine 的 API 函数。
    4.1 综述
    4.2 核心引擎的 API 函数
    4.3 VISA 类: 视频,图像,语音,音频
    4.4 Codec 服务器 API 函数
    4.5 会发生什么 DSP 内存问题?
    4.6 会发生什么 DSP 实时的问题?
    4.6 怎么样调试 Codec Engine?
    4.7 怎么样使用软件跟踪?

4.1 综述

    Codec Engine 包含核心引擎 API 函数和 VISA 函数。下表显示了核心引擎 API 模块:

Table 4–1 Codec Engine Modules

    除了执行安装和卸载的活动模块,内存抽象模块为在 GPP+DSP 系统中使用 Codec Engine 的应用程序提供支持。

    下表显示了 VISA  API 模块:

Table 4–2 Codec Engine Modules

    VISA接口提供包括 xDM 0.9/xDM 1.0 接口支持的CE 1.20。表4-2中的 "x" 后缀代表一个接口的版本号。在 xDM 0.9 中,后缀被省略;在 xDM 1.0 中,后缀是"1"。

    拷贝的符合 xDM 1.0 接口的编解码器是 xDAIS 5.21 的产物。CE 1.20 在它的一些示例中利用这些编解码器,例如,video1_copy示例利用 VIDENC1 和 VIDDEC1 VISA 接口与拷贝的编解码器进行通信。

    该软件包名称对应于您的应用程序必须引用的,包含特定模块的头文件的路径。例如,语音编码器模块,SPHENCx,有一个ti.sdo.ce.speech(x) 包的名称。此模块中的 #include 语句(其中x是一个基于版本的后缀)是:

    #include <ti/sdo/ce/speechx/sphencx.h>

    您的应用程序使用引擎模块来打开和关闭 Codec Engine 实例。您也可以使用这个模块来获取有关内存使用和CPU负载的信息,参见4.2节,核心引擎的 API 函数。

    一旦你的应用程序打开了 Codec Engine 的一个实例,您使用的 VISA 软件包模块(例如,视频编码 VIDENC)就会创建各种算法的实例。为你创建的算法实例使用句柄( handle ),然后使用相同的模块运行或以其他方式控制算法。参见4.3节,VISA 类: 视频,图像,语音,音频。

    参考 CE_INSTALL_DIR/docs/html 中的软件文档可以了解 Codec Engine API 函数,该文档是安装 Codec Engine 软件时产生的。本章提供 API 函数的概述,以及如何使用它们。有关调用语法的详细信息,请参阅参考该文档。


4.2 核心引擎的 API 函数

    Codec Engine 有一个“核心”模块称为"Engine"。您的应用程序使用此模块来打开和关闭引擎实例。多线程应用程序必须要么连续访问一个共享引擎实例,要么为每个线程创建一个单独的引擎实例。

    注:注意引擎句柄( handles )不是线程保护。使用一个引擎实例的每个线程应该执行自己的 Engine_open() 函数调用,并使用自己的引擎句柄。这样在多线程环境中,保护了每个引擎实例被其他线程访问。

    您也可以使用引擎模块,以获取有关内存使用和CPU负载的信息。

    这些 API 的引擎模块有:

        1. Engine_open(). 打开一个引擎。

        2. Engine_close(). 关闭一个引擎。

        3. Engine_getCpuLoad(). 获取服务器的CPU使用率百分比。

        4. Engine_getLastError(). 获得最后失败操作的错误代码。

        5. Engine_getUsedMem(). 获取引擎内存使用情况。

        6. Engine_getNumAlgs(). 获得在一个引擎中的算法数量。

        7. Engine_getAlgInfo(). 获取有关算法的信息。

    打开一个引擎后,您将使用4.3节中描述的VISA API 创建算法实例。

    参考 CE_INSTALL_DIR/docs/html 中的软件文档可以了解 Codec Engine API 函数,该文档是安装 Codec Engine 软件时产生的。有关调用语法的详细信息,请参阅参考该文档。

0 0
原创粉丝点击