annotate libvo/gtf.h @ 25317:7f3cb5408f28

Fixed VIDIX color bug that was introduced when Radeon VIDIX driver was synchronized with vidix.sf.net. The red color was saturating. Corrected value fixes the issue and restore the color to the level it used to have before synchronization. Meaning of the value remains unknow but was retrieved from register's value of a Radeon 9000 card, so it may need further testing. Patch by Guillaume Lecerf (foxcore at gmail dot com)
author ben
date Mon, 10 Dec 2007 19:27:46 +0000
parents 3f0d00abc073
children 3baf6a2283da
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
23689
3f0d00abc073 Do not use leading underscores in multiple inclusion guards, they are reserved.
diego
parents: 16264
diff changeset
1 #ifndef GTF_H
3f0d00abc073 Do not use leading underscores in multiple inclusion guards, they are reserved.
diego
parents: 16264
diff changeset
2 #define GTF_H
7069
21e1ab99cb21 General Timing Formula algorithm from a scratch.
arpi
parents:
diff changeset
3
16264
7949a0c4e5ad gtf.{c,h} is used by vesa only
alex
parents: 9380
diff changeset
4 #include <vbe.h>
7069
21e1ab99cb21 General Timing Formula algorithm from a scratch.
arpi
parents:
diff changeset
5
21e1ab99cb21 General Timing Formula algorithm from a scratch.
arpi
parents:
diff changeset
6 #define GTF_VF 0
21e1ab99cb21 General Timing Formula algorithm from a scratch.
arpi
parents:
diff changeset
7 #define GTF_HF 1
21e1ab99cb21 General Timing Formula algorithm from a scratch.
arpi
parents:
diff changeset
8 #define GTF_PF 2
21e1ab99cb21 General Timing Formula algorithm from a scratch.
arpi
parents:
diff changeset
9
21e1ab99cb21 General Timing Formula algorithm from a scratch.
arpi
parents:
diff changeset
10
21e1ab99cb21 General Timing Formula algorithm from a scratch.
arpi
parents:
diff changeset
11 typedef struct {
21e1ab99cb21 General Timing Formula algorithm from a scratch.
arpi
parents:
diff changeset
12 double Vsync_need; /* Number of lines for vert sync (default 3) */
21e1ab99cb21 General Timing Formula algorithm from a scratch.
arpi
parents:
diff changeset
13 double min_Vsync_BP; /* Minimum vertical sync + back porch (us) (default 550)*/
21e1ab99cb21 General Timing Formula algorithm from a scratch.
arpi
parents:
diff changeset
14 double min_front_porch; /* Minimum front porch in lines (default 1) */
21e1ab99cb21 General Timing Formula algorithm from a scratch.
arpi
parents:
diff changeset
15 double char_cell_granularity; /* Character cell granularity in pixels (default 8) */
21e1ab99cb21 General Timing Formula algorithm from a scratch.
arpi
parents:
diff changeset
16 double margin_width; /* Top/ bottom MARGIN size as % of height (%) (default 1.8) */
21e1ab99cb21 General Timing Formula algorithm from a scratch.
arpi
parents:
diff changeset
17 double sync_width; /* Sync width percent of line period ( default 8) */
21e1ab99cb21 General Timing Formula algorithm from a scratch.
arpi
parents:
diff changeset
18 double c; /* Blanking formula offset (default 40)*/
21e1ab99cb21 General Timing Formula algorithm from a scratch.
arpi
parents:
diff changeset
19 double j; /* Blanking formula scaling factor weight (default 20)*/
21e1ab99cb21 General Timing Formula algorithm from a scratch.
arpi
parents:
diff changeset
20 double k; /* Blanking formula scaling factor (default 128)*/
21e1ab99cb21 General Timing Formula algorithm from a scratch.
arpi
parents:
diff changeset
21 double m; /* Blanking formula gradient (default 600)*/
21e1ab99cb21 General Timing Formula algorithm from a scratch.
arpi
parents:
diff changeset
22 } GTF_constants;
21e1ab99cb21 General Timing Formula algorithm from a scratch.
arpi
parents:
diff changeset
23
21e1ab99cb21 General Timing Formula algorithm from a scratch.
arpi
parents:
diff changeset
24 //#ifndef __VESA_VBELIB_INCLUDED__
21e1ab99cb21 General Timing Formula algorithm from a scratch.
arpi
parents:
diff changeset
25 // struct VesaCRTCInfoBlock {
21e1ab99cb21 General Timing Formula algorithm from a scratch.
arpi
parents:
diff changeset
26 // unsigned short hTotal; /* Horizontal total in pixels */
21e1ab99cb21 General Timing Formula algorithm from a scratch.
arpi
parents:
diff changeset
27 // unsigned short hSyncStart; /* Horizontal sync start in pixels */
21e1ab99cb21 General Timing Formula algorithm from a scratch.
arpi
parents:
diff changeset
28 // unsigned short hSyncEnd; /* Horizontal sync end in pixels */
21e1ab99cb21 General Timing Formula algorithm from a scratch.
arpi
parents:
diff changeset
29 // unsigned short vTotal; /* Vertical total in lines */
21e1ab99cb21 General Timing Formula algorithm from a scratch.
arpi
parents:
diff changeset
30 // unsigned short vSyncStart; /* Vertical sync start in lines */
21e1ab99cb21 General Timing Formula algorithm from a scratch.
arpi
parents:
diff changeset
31 // unsigned short vSyncEnd; /* Vertical sync end in lines */
21e1ab99cb21 General Timing Formula algorithm from a scratch.
arpi
parents:
diff changeset
32 // unsigned char Flags; /* Flags (Interlaced, Double Scan etc) */
21e1ab99cb21 General Timing Formula algorithm from a scratch.
arpi
parents:
diff changeset
33 // unsigned long PixelClock; /* Pixel clock in units of Hz */
21e1ab99cb21 General Timing Formula algorithm from a scratch.
arpi
parents:
diff changeset
34 // unsigned short RefreshRate;/* Refresh rate in units of 0.01 Hz*/
21e1ab99cb21 General Timing Formula algorithm from a scratch.
arpi
parents:
diff changeset
35 // unsigned char Reserved[40];/* remainder of CRTCInfoBlock*/
21e1ab99cb21 General Timing Formula algorithm from a scratch.
arpi
parents:
diff changeset
36 //}__attribute__ ((packed));
21e1ab99cb21 General Timing Formula algorithm from a scratch.
arpi
parents:
diff changeset
37
21e1ab99cb21 General Timing Formula algorithm from a scratch.
arpi
parents:
diff changeset
38 //#define VESA_CRTC_DOUBLESCAN 0x01
21e1ab99cb21 General Timing Formula algorithm from a scratch.
arpi
parents:
diff changeset
39 //#define VESA_CRTC_INTERLACED 0x02
21e1ab99cb21 General Timing Formula algorithm from a scratch.
arpi
parents:
diff changeset
40 //#define VESA_CRTC_HSYNC_NEG 0x04
21e1ab99cb21 General Timing Formula algorithm from a scratch.
arpi
parents:
diff changeset
41 //#define VESA_CRTC_VSYNC_NEG 0x08
21e1ab99cb21 General Timing Formula algorithm from a scratch.
arpi
parents:
diff changeset
42
21e1ab99cb21 General Timing Formula algorithm from a scratch.
arpi
parents:
diff changeset
43 //#endif
21e1ab99cb21 General Timing Formula algorithm from a scratch.
arpi
parents:
diff changeset
44
21e1ab99cb21 General Timing Formula algorithm from a scratch.
arpi
parents:
diff changeset
45 void GTF_calcTimings(double X,double Y,double freq, int type,
21e1ab99cb21 General Timing Formula algorithm from a scratch.
arpi
parents:
diff changeset
46 int want_margins, int want_interlace,struct VesaCRTCInfoBlock *result);
21e1ab99cb21 General Timing Formula algorithm from a scratch.
arpi
parents:
diff changeset
47
21e1ab99cb21 General Timing Formula algorithm from a scratch.
arpi
parents:
diff changeset
48 #endif