1 /******************************************************************************
5 / Description: ATI Rage Theater Video Decoder interface.
7 / Copyright 2001, Carlos Hasan
9 *******************************************************************************/
16 enum theater_identifier
{
17 // C_THEATER_VIP_VENDOR_ID = 0x1002,
18 C_THEATER100_VIP_DEVICE_ID
= 0x4D541002,
19 C_THEATER200_VIP_DEVICE_ID
= 0x4d4a1002
23 enum theater_standard
{
24 // TK: rearranged to match spec order
26 C_THEATER_NTSC_JAPAN
= 1,
27 C_THEATER_NTSC_443
= 2,
31 C_THEATER_PAL_BDGHI
= 6,
38 C_THEATER_COMPOSITE
= 1,
44 CTheater(CRadeon
& radeon
, int device
);
48 virtual status_t
InitCheck() const = 0;
50 virtual void Reset() = 0;
52 virtual void SetEnable(bool enable
, bool vbi
) = 0;
54 virtual void SetStandard(theater_standard standard
, theater_source source
) = 0;
56 virtual void SetSize(int hactive
, int vactive
) = 0;
58 virtual void SetDeinterlace(bool deinterlace
) = 0;
60 virtual void SetSharpness(int sharpness
) = 0;
62 virtual void SetBrightness(int brightness
) = 0;
64 virtual void SetContrast(int contrast
) = 0;
66 virtual void SetSaturation(int saturation
) = 0;
68 virtual void SetHue(int hue
) = 0;
70 virtual int CurrentLine() = 0;
72 virtual void getActiveRange( theater_standard standard
, CRadeonRect
&rect
) = 0;
74 virtual void getVBIRange( theater_standard standard
, CRadeonRect
&rect
) = 0;
76 virtual void PrintToStream() = 0;
78 uint32
Capabilities() const;
81 int Register(int index
);
83 int Register(int index
, int mask
);
85 void SetRegister(int index
, int value
);
87 void SetRegister(int index
, int mask
, int value
);
92 radeon_video_clock fClock
;
96 theater_standard fStandard
;
97 theater_source fSource
;