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

📄 iyuv2rgb.h

📁 TI公司的算法标准 Framework5的源代码
💻 H
字号:
/*
 *  Copyright 2002 by Texas Instruments Incorporated.
 *  All rights reserved. Property of Texas Instruments Incorporated.
 *  Restricted rights to use, duplicate or disclose this code are
 *  granted through contract.
 *  
 */
/* "@(#) RF5_IEK 2.00.02 12-11-02 (swat-c19)" */
/*
 *  ======== iyuv2rgb.h ========
 *  IYUV2RGB Interface Header
 */
#ifndef IYUV2RGB_
#define IYUV2RGB_

#include <ialg.h>
#include <xdas.h>

#ifdef __cplusplus
extern "C" {
#endif

/*
 *  ======== IYUV2RGB_Handle ========
 *  This handle is used to reference all YUV2RGB instance objects
 */
typedef struct IYUV2RGB_Obj *IYUV2RGB_Handle;

/*
 *  ======== IYUV2RGB_Obj ========
 *  This structure must be the first field of all YUV2RGB instance objects
 */
typedef struct IYUV2RGB_Obj {
    struct IYUV2RGB_Fxns *fxns;
} IYUV2RGB_Obj;

/*
 *  ======== IYUV2RGB_Status ========
 *  Status structure defines the parameters that can be changed or read
 *  during real-time operation of the alogrithm.
 */
typedef struct IYUV2RGB_Status {
    Int size;           // must be first field of all params structures
    Int width;          // Input frame width
    Int height;         // Input frame height
    Int pitch;          // RGB output frame pitch     
    Int pitch_in;       // Input frame pitch
} IYUV2RGB_Status;
/*
 *  ======== IYUV2RGB_Cmd ========
 *  The Cmd enumeration defines the control commands for the YUV2RGB
 *  control method.
 */
typedef enum IYUV2RGB_Cmd {
        IYUV2RGB_GETSTATUS,
        IYUV2RGB_SETSTATUS
} IYUV2RGB_Cmd;

/*
 *  ======== IYUV2RGB_Params ========
 *  This structure defines the creation parameters for all YUV2RGB objects
 */
typedef struct IYUV2RGB_Params {
    Int size;           // must be first field of all params structures 
    Int width;          // Input frame width
    Int height;         // Input frame height
    Int pitch;          // RGB output frame pitch
    Int pitch_in;       // Input frame pitch
} IYUV2RGB_Params;

/*
 *  ======== IYUV2RGB_PARAMS ========
 *  Default parameter values for YUV2RGB instance objects
 */
extern IYUV2RGB_Params IYUV2RGB_PARAMS;

/*
 *  ======== IYUV2RGB_Fxns ========
 *  This structure defines all of the operations on YUV2RGB objects
 */
typedef struct IYUV2RGB_Fxns {
    IALG_Fxns   ialg;    // IYUV2RGB extends IALG 
    XDAS_Bool   (*control)(IYUV2RGB_Handle handle, IYUV2RGB_Cmd cmd, 
        IYUV2RGB_Status *status);
    XDAS_Int8  (*convert)(IYUV2RGB_Handle handle,  XDAS_Int8 **in, 
        XDAS_Int8 *out);

} IYUV2RGB_Fxns;

#ifdef __cplusplus
}
#endif // extern "C"

#endif // IYUV2RGB_ 

⌨️ 快捷键说明

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