⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ividdec1.h

📁 TI Algorithm Soft Kit 5.10 仅包括实例及其原代码
💻 H
📖 第 1 页 / 共 2 页
字号:
/*  *  Copyright 2006 *  Texas Instruments Incorporated * *  All rights reserved.  Property of Texas Instruments Incorporated *  Restricted rights to use, duplicate or disclose this code are *  granted through contract. *  *//** *  @file       ti/xdais/dm/ividdec1.h * *  @brief      This header defines all types, constants, and functions *              shared by all implementations of the video decoder *              algorithms. *//** *  @defgroup   ti_xdais_dm_IVIDDEC1   xDM 1.0 Video Decoder Interface * *  This is the xDM 1.0 Video Decoder Interface. */#ifndef ti_xdais_dm_IVIDDEC1_#define ti_xdais_dm_IVIDDEC1_#include <ti/xdais/ialg.h>#include <ti/xdais/xdas.h>#include "xdm.h"#include "ivideo.h"#ifdef __cplusplusextern "C" {#endif/** @ingroup    ti_xdais_dm_IVIDDEC1 *//*@{*/#define IVIDDEC1_ERUNTIME  XDM_ERUNTIME        /**< @copydoc XDM_ERUNTIME */#define IVIDDEC1_EOK       XDM_EOK             /**< @copydoc XDM_EOK */#define IVIDDEC1_EFAIL     XDM_EFAIL           /**< @copydoc XDM_EFAIL */#define IVIDDEC1_EUNSUPPORTED XDM_EUNSUPPORTED /**< @copydoc XDM_EUNSUPPORTED *//** *  @brief      This must be the first field of all IVIDDEC1 *              instance objects. */typedef struct IVIDDEC1_Obj {    struct IVIDDEC1_Fxns *fxns;} IVIDDEC1_Obj;/** *  @brief      Opaque handle to an IVIDDEC1 objects. */typedef struct IVIDDEC1_Obj  *IVIDDEC1_Handle;/** *  @brief      Video decoder output frame order. */typedef enum {    IVIDDEC_DISPLAY_ORDER = 0,  /**< The decoder provides decoded output in                                 *   in the actual order of displaying the                                 *   output buffer.  The codec assumes the                                 *   responsibility of reordering the frames.                                 *                                 *   @remarks   The output buffer will be                                 *              delayed by one frame,                                 *              regardless of whether the frame                                 *              contains I/P or I/P/B frames.                                 *                                 *   @remarks   This is the default mode.                                 *                                 *   @remarks   This mode is required to be                                 *              supported by all video decoder                                 *              codecs.                                 */    IVIDDEC_DECODE_ORDER = 1    /**< The decoder provides decoded output in the                                 *   the order of decoding.  There will be no                                 *   delay in the output buffers.                                 *                                 *   @remarks   It is the application's                                 *              responsibility to handle the                                 *              frame re-ordering.                                 *                                 *   @remarks   This mode is optional.  If it                                 *              is not supported by the                                 *              decoder, IVIDDEC_EUNSUPPORTED                                 *              will be returned.                                 */} IVIDDEC1_FrameOrder;/** *  @brief      Defines the creation time parameters for *              all IVIDDEC1 instance objects. * *  @extensibleStruct */typedef struct IVIDDEC1_Params {    XDAS_Int32 size;            /**< @sizeField */    XDAS_Int32 maxHeight;       /**< Maximum video height in pixels. */    XDAS_Int32 maxWidth;        /**< Maximum video width in pixels. */    XDAS_Int32 maxFrameRate;    /**< Maximum frame rate in fps. */    XDAS_Int32 maxBitRate;      /**< Maximum bit rate, bits per second.                                 *   For example, if bit rate is 10 Mbps, set                                 *   this field to 10000000                                 */    XDAS_Int32 dataEndianness;  /**< Endianness of output data.                                 *                                 *   @sa    XDM_DataFormat                                 */    XDAS_Int32 forceChromaFormat;/**< @copydoc XDM_ChromaFormat                                 *                                 *   @sa XDM_ChromaFormat.                                 */} IVIDDEC1_Params;/** *  @brief      This structure defines the codec parameters that can be *              modified after creation via control() calls. * *  @remarks    It is not necessary that a given implementation support all *              dynamic parameters to be configurable at run time.  If a *              particular algorithm does not support run-time updates to *              a parameter that the application is attempting to change *              at runtime, it may indicate this as an error. * *  @extensibleStruct * *  @sa         IVIDDEC1_Fxns::control() */typedef struct IVIDDEC1_DynamicParams {    XDAS_Int32 size;            /**< @sizeField */    XDAS_Int32 decodeHeader;    /**< @copydoc XDM_DecMode                                 *                                 *   @sa XDM_DecMode                                 */    XDAS_Int32 displayWidth;    /**< Pitch.  If set to zero, use the decoded                                 *   image width.  Else, use given display                                 *   width in pixels.                                 */    XDAS_Int32 frameSkipMode;   /**< @copydoc IVIDEO_FrameSkip                                 *                                 *   @sa IVIDEO_FrameSkip                                 */    XDAS_Int32 frameOrder;      /**< @copydoc IVIDDEC1_FrameOrder                                 *                                 *   @sa IVIDDEC1_FrameOrder                                 */} IVIDDEC1_DynamicParams;/** *  @brief      Defines the input arguments for all IVIDDEC1 instance *              process function. * *  @extensibleStruct * *  @sa         IVIDDEC1_Fxns::process() */typedef struct IVIDDEC1_InArgs {    XDAS_Int32 size;            /**< @sizeField */    XDAS_Int32 numBytes;        /**< Size of input data in bytes, provided                                 *   to the algorithm for decoding.                                 */    XDAS_Int32 inputID;         /**< The decoder will attach                                 *   this ID with the corresponding output                                 *   frames.                                 *                                 *   @remarks   This is useful when frames                                 *   require re-ordering (e.g. B frames).                                 *                                 *   @remarks   When there is no re-ordering,                                 *   IVIDDEC1_OutArgs#outputID will be same                                 *   as this inputID field.                                 *                                 *   @remarks   Zero (0) is not a supported                                 *              inputID.  This value is                                 *              reserved for cases when there                                 *              is no output buffer provided in                                 *              IVIDDEC1_OutArgs::displayBufs.                                 *                                 *   @sa IVIDDEC1_OutArgs::outputID.                                 */} IVIDDEC1_InArgs;/** *  @brief      Defines instance status parameters. * *  @extensibleStruct * *  @sa         IVIDDEC1_Fxns::control() */typedef struct IVIDDEC1_Status {    XDAS_Int32 size;            /**< @sizeField */    XDAS_Int32 extendedError;   /**< @extendedErrorField */    XDM_SingleBufDesc data;     /**< Buffer descriptor for                                 *   data passing.                                 *                                 *   @remarks   This buffer can be used as                                 *              either input or output,                                 *              depending on the command.                                 *                                 *   @remarks   The buffer will be provided                                 *              by the application, and                                 *              returned to the application                                 *              upon return of the control()                                 *              call.  The algorithm must                                 *              not retain a pointer to this                                 *              data.                                 *                                 *   @sa    #XDM_GETVERSION                                 */    XDAS_Int32 outputHeight;    /**< Output height in pixels. */    XDAS_Int32 outputWidth;     /**< Output width in pixels. */    XDAS_Int32 frameRate;       /**< Average frame rate in fps. */    XDAS_Int32 bitRate;         /**< Average bit rate, in bits per second. */    XDAS_Int32 contentType;     /**< @copydoc IVIDEO_ContentType                                 *                                 *   @sa IVIDEO_ContentType                                 */    XDAS_Int32 outputChromaFormat; /**< @copydoc XDM_ChromaFormat                                 *                                 *   @sa XDM_ChromaFormat                                 */    XDM_AlgBufInfo  bufInfo;    /**< Input and output buffer information.                                 *

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -