xref: /haiku/src/add-ons/media/media-add-ons/radeon/Theater100.h (revision 863634b83f627a5950315df1added5f754d42c23)
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 
18 class CTheater100 : public CTheater
19 {
20 public:
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 
55 private:
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