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 + -
显示快捷键?