iyuv2rgb.h

来自「TI公司的算法标准 Framework5的源代码」· C头文件 代码 · 共 96 行

H
96
字号
/*
 *  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 + =
减小字号Ctrl + -
显示快捷键?