ati_vidcap.h

来自「WinCE 3.0 BSP, 包含Inter SA1110, Intel_815」· C头文件 代码 · 共 163 行

H
163
字号
// -----------------------------------------------------------------------------
//
//  THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
//  ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
//  THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
//  PARTICULAR PURPOSE.
//  Copyright (c) 1997-1998  Microsoft Corporation
//
// -----------------------------------------------------------------------------

/*
	Module Name:
		ati_vidcap.h
	
	Abstract:
		WinCE device driver entry points
	
	Author:
		natersoz	Nov 11, 1998
	
	Revision History :
*/

#ifndef _ATI_VIDCAP_H_
#define _ATI_VIDCAP_H_

#ifdef __cplusplus
extern "C" {
#endif

#ifndef UINT32
#include <types.h>
#endif

// note: compiler and WinCE conspire to form bit fields LSB to MSB

typedef struct
{
	unsigned int video_in				: 4;
	unsigned int video_signed_uv		: 1;
	unsigned int reserved1				:11;

	unsigned int scaler_in				: 4;
	unsigned int reserved2				: 8;
	unsigned int host_byte_shift_en	: 1;
	unsigned int host_yuv_aper			: 1;
	unsigned int host_mem_mode			: 2;
} VIDEO_FORMAT;

typedef struct
{
	unsigned int cap_input_mode		: 1;
	unsigned int cap_start_field		: 1;
	unsigned int cap_buf_mode			: 1;
	unsigned int cap_start_buf			: 1;
	unsigned int cap_buf_type			: 2;
	unsigned int cap_field_flip		: 1;
	unsigned int cap_ccir656_en		: 1;

	unsigned int reserved1				: 4;
	unsigned int cap_mirror_en			: 1;
	unsigned int oneshot_mirror_en	: 1;
	unsigned int oneshot_mode			: 1;
	unsigned int reserved2				: 1;

	unsigned int cap_horz_down			: 2;
	unsigned int cap_vert_down			: 2;
	unsigned int oneshot_horz_down	: 2;
	unsigned int oneshot_vert_down	: 2;
	
	unsigned int reserved3				: 4;
	unsigned int ovfl_buf_mode			: 1;
	unsigned int ovfl_buf_next			: 1;
	unsigned int reserved4				: 2;
} CAPTURE_CONFIG;

typedef struct
{
	unsigned int cap_offset				:12;
	unsigned int reserved1				: 4;
//	unsigned int cap_width_0			: 3;
//	unsigned int cap_width				: 9;
	unsigned int cap_width				:12;
	unsigned int reserved2				: 4;
} CAPTURE_X_WIDTH;

typedef struct
{
	unsigned int cap_start				:10;
	unsigned int reserved1				: 6;
	unsigned int cap_end					:10;
	unsigned int reserved2				: 6;
} CAPTURE_Y_LINES, CAPTURE_START_END;
#define CAPTURE_Y_LINES_off_0			CAPTURE_START_END_off_0
#define CAPTURE_VBI_LINES_off_0		VBI_START_END_off_0
// spec calls this CAPTURE_START_END


typedef struct
{
	unsigned int cap_trigger			: 2;
	unsigned int reserved1				: 3;
	unsigned int ovl_cur_buf			: 1;
	unsigned int ovl_buf_status		: 1;
	unsigned int cap_buf_status		: 1;
	unsigned int reserved2				:23;
	unsigned int capture_en				: 1;
} TRIG_CNTL;

typedef struct
{
	unsigned int test_crtc_ovlsof		: 1;
	unsigned int test_crtc_vovlen		: 1;
	unsigned int reserved1				: 6;

	unsigned int test_vid_sof			: 1;
	unsigned int test_vid_eof			: 1;
	unsigned int test_vid_eol			: 1;
	unsigned int test_vid_field		: 1;

	unsigned int test_end_of_vbi		: 1;
	unsigned int test_busmaster_eol	: 1;
	unsigned int reserved2				:17;
	unsigned int test_sync_en			: 1;
} VIDEO_SYNC_TEST;

/*
	ONE_SHOT_BUF_OFFSET
	CAPTURE_BUF0_OFFSET
	CAPTURE_BUF1_OFFSET
	23 bits valid, lower 3 bits must be '000'
*/

typedef struct
{
	unsigned int vbi_start				:10;
	unsigned int reserved1				: 6;
	unsigned int vbi_end					:10;
	unsigned int reserved2				: 6;
} VBI_START_END;

//	VBI_WIDTH, 12 bits, bottom 3 bits must be '000'

typedef struct
{
	unsigned int capture_debug			:12;
	unsigned int reserved1				:12;
	unsigned int cap_debug_mode		: 1;
	unsigned int reserved2				: 7;
} CAPTURE_DEBUG;

#ifndef CASTU32
#define CASTU32(x)	( *(UINT32*) ((void*)&(x)) )
#endif

#ifdef __cplusplus
}
#endif

#endif // _ATI_VIDCAP_H_


⌨️ 快捷键说明

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