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

📄 s3c6400_post_proc.h

📁 Samsung公司S3C6400芯片的BSP源码包
💻 H
字号:
#ifndef __S3C6400_POST_PROC_H__
#define __S3C6400_POST_PROC_H__

#if __cplusplus
extern "C"
{
#endif

typedef enum
{
	POST_SRC_RGB16 = 0,
	POST_SRC_RGB24,
	POST_SRC_YUV420,
	POST_SRC_YUV422_YCBYCR,
	POST_SRC_YUV422_CBYCRY,
	POST_SRC_YUV422_YCRYCB,
	POST_SRC_YUV422_CRYCBY
} POST_SRC_TYPE;

typedef enum
{
	POST_DST_RGB16 = 0,
	POST_DST_RGB24,
	POST_DST_YUV420,
	POST_DST_YUV422_YCBYCR,
	POST_DST_YUV422_CBYCRY,
	POST_DST_YUV422_YCRYCB,
	POST_DST_YUV422_CRYCBY,
	POST_DST_FIFO_YUV444,
	POST_DST_FIFO_RGB888
} POST_DST_TYPE;

typedef enum
{
	POST_PER_FRAME_MODE,
	POST_FREE_RUN_MODE
} POST_OP_MODE;

typedef enum
{
	POST_PROGRESSIVE,
	POST_INTERLACE
} POST_SCAN_MODE;

typedef enum
{
	POST_SRC_ADDRESS,
	POST_NEXT_SRC_ADDRESS,
	POST_DST_ADDRESS,
	POST_NEXT_DST_ADDRESS
} POST_DMA_ADDRESS;

typedef enum
{
	POST_IDLE = 0,
	POST_BUSY
} POST_STATE;

typedef enum
{
	POST_SUCCESS,
	POST_ERROR_NULL_PARAMETER,
	POST_ERROR_ILLEGAL_PARAMETER,
	POST_ERROR_NOT_INITIALIZED,
	POST_ERROR_NOT_IMPLEMENTED,
	POST_ERROR_PRESCALER_OUT_OF_SCALE_RANGE,
	POST_ERROR_XXX
} POST_ERROR;

POST_ERROR Post_initialize_register_address(void *pPostReg);
POST_ERROR Post_initialize(POST_OP_MODE Mode, POST_SCAN_MODE Scan,
					POST_SRC_TYPE SrcType, unsigned int SrcBaseWidth, unsigned int SrcBaseHeight, unsigned int SrcWidth, unsigned int SrcHeight,
					unsigned int SrcOffsetX, unsigned int SrcOffsetY, POST_DST_TYPE DstType, unsigned int DstWidth, unsigned int DstHeight);
POST_ERROR Post_set_source_buffer(unsigned int AddrY, unsigned int AddrCb, unsigned int AddrCr);
POST_ERROR Post_set_next_source_buffer(unsigned int AddrY, unsigned int AddrCb, unsigned int AddrCr);
POST_ERROR Post_set_destination_buffer(unsigned int AddrY, unsigned int AddrCb, unsigned int AddrCr);
POST_ERROR Post_set_next_destination_buffer(unsigned int AddrY, unsigned int AddrCb, unsigned int AddrCr);

void Post_processing_start(void);
POST_ERROR Post_processing_stop(void);
POST_STATE Post_get_processing_state(void);

void Post_enable_interrupt(void);
void Post_disable_interrupt(void);
BOOL Post_clear_interrupt_pending(void);

static POST_ERROR Post_set_mode(POST_OP_MODE Mode, POST_SCAN_MODE Scan, POST_SRC_TYPE SrcType, POST_DST_TYPE DstType);
static POST_ERROR Post_set_source_size(unsigned int BaseWidth, unsigned int BaseHeight, unsigned int Width, unsigned int Height, unsigned int OffsetX, unsigned int OffsetY);
static POST_ERROR Post_set_destination_size(unsigned int BaseWidth, unsigned int BaseHeight, unsigned int Width, unsigned int Height, unsigned int OffsetX, unsigned int OffsetY);
static POST_ERROR Post_get_prescaler_horizontal_value(unsigned int *PrescalerRatio, unsigned int *MainShift);
static POST_ERROR Post_get_prescaler_vertical_value(unsigned int *PrescalerRatio, unsigned int *MainShift);
static POST_ERROR Post_update_condition(void);
static POST_ERROR Post_set_dma_address(POST_DMA_ADDRESS DMA, unsigned int AddrY, unsigned int AddrCb, unsigned int AddrCr);


#if __cplusplus
}
#endif

#endif	// __S3C6400_POST_PROC_H__

⌨️ 快捷键说明

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