📄 iyuv2rgb.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 + -