1 /******************************************************************************
5 / Description: ATI Radeon Capture Unit interface.
7 / Copyright 2001, Carlos Hasan
9 *******************************************************************************/
16 enum capture_buffer_mode
{
17 C_RADEON_CAPTURE_FIELD_SINGLE
= 0,
18 C_RADEON_CAPTURE_FIELD_DOUBLE
= 1,
19 C_RADEON_CAPTURE_BOB_SINGLE
= 2,
20 C_RADEON_CAPTURE_BOB_DOUBLE
= 3,
21 C_RADEON_CAPTURE_WEAVE_SINGLE
= 4,
22 C_RADEON_CAPTURE_WEAVE_DOUBLE
= 5
25 enum capture_stream_format
{
26 C_RADEON_CAPTURE_BROOKTREE
= 0,
27 C_RADEON_CAPTURE_CCIR656
= 1,
28 C_RADEON_CAPTURE_ZOOMVIDEO
= 2,
29 C_RADEON_CAPTURE_VIP
= 3
32 enum capture_interrupt_mask
{
33 C_RADEON_CAPTURE_BUF0_INT
= 1 << 0,
34 C_RADEON_CAPTURE_BUF0_EVEN_INT
= 1 << 1,
35 C_RADEON_CAPTURE_BUF1_INT
= 1 << 2,
36 C_RADEON_CAPTURE_BUF1_EVEN_INT
= 1 << 3,
37 C_RADEON_CAPTURE_VBI0_INT
= 1 << 4,
38 C_RADEON_CAPTURE_VBI1_INT
= 1 << 5
43 CCapture(CRadeon
& radeon
);
47 status_t
InitCheck() const;
49 void SetBuffer(capture_stream_format format
, capture_buffer_mode mode
,
50 int offset0
, int offset1
, int size
, int pitch
);
52 void SetClip(int left
, int top
, int right
, int bottom
);
54 void SetVBIBuffer(int offset0
, int offset1
, int size
);
56 void SetVBIClip(int left
, int top
, int right
, int bottom
);
58 void Start(bool vbi
= false);
63 void SetInterrupts(bool enable
);
65 int WaitInterrupts(int * sequence
, bigtime_t
* when
, bigtime_t timeout
);
68 int Register(radeon_register index
, int mask
);
70 void SetRegister(radeon_register index
, int value
);
72 void SetRegister(radeon_register index
, int mask
, int value
);
76 capture_buffer_mode fMode
;
77 capture_stream_format fFormat
;