1/******************************************************************************
2/
3/	File:			Theater.h
4/
5/	Description:	ATI Rage Theater Video Decoder interface.
6/
7/	Copyright 2001, Carlos Hasan
8/
9*******************************************************************************/
10
11#ifndef __THEATER100_H__
12#define __THEATER100_H__
13
14#include "Theater.h"
15#include "Radeon.h"
16#include "VIPPort.h"
17
18class CTheater100 : public CTheater
19{
20public:
21	CTheater100(CRadeon & radeon, int device);
22
23	~CTheater100();
24
25	status_t InitCheck() const;
26
27	void Reset();
28
29	void SetEnable(bool enable, bool vbi);
30
31	void SetStandard(theater_standard standard, theater_source source);
32
33	void SetSize(int hactive, int vactive);
34
35	void SetDeinterlace(bool deinterlace);
36
37	void SetSharpness(int sharpness);
38
39	void SetBrightness(int brightness);
40
41	void SetContrast(int contrast);
42
43	void SetSaturation(int saturation);
44
45	void SetHue(int hue);
46
47	int CurrentLine();
48
49	void getActiveRange( theater_standard standard, CRadeonRect &rect );
50
51	void getVBIRange( theater_standard standard, CRadeonRect &rect );
52
53	void PrintToStream();
54
55private:
56	void SetClock(theater_standard standard, radeon_video_clock clock);
57
58	void SetADC(theater_standard standard, theater_source source);
59
60	void SetHSYNC(theater_standard standard);
61
62	void WaitHSYNC();
63
64	void SetVSYNC(theater_standard standard);
65
66	void WaitVSYNC();
67
68	void SetSyncGenerator(theater_standard standard);
69
70	void SetCombFilter(theater_standard standard, theater_source source);
71
72	void SetLuminanceProcessor(theater_standard standard);
73
74	void SetLuminanceLevels(theater_standard standard, int brightness, int contrast);
75
76	void SetChromaProcessor(theater_standard standard);
77
78	void SetChromaLevels(theater_standard standard, int saturation, int hue);
79
80	void SetClipWindow(theater_standard standard, bool vbi);
81
82	void SetScaler(theater_standard standard, int hactive, int vactive, bool deinterlace);
83
84};
85
86#endif
87