Mercurial > mplayer.hg
comparison libvo/gtf.h @ 7069:21e1ab99cb21
General Timing Formula algorithm from a scratch.
vo_vesa.c so now adjust the timing to highest possible refresh rate using
the monitor capabilities from a config file.
patch by Rudolf Marek <MAREKR2@cs.felk.cvut.cz>
author | arpi |
---|---|
date | Thu, 22 Aug 2002 23:03:51 +0000 |
parents | |
children | edfe34c5405d |
comparison
equal
deleted
inserted
replaced
7068:6c2d746b17bf | 7069:21e1ab99cb21 |
---|---|
1 #ifndef __GTF_H | |
2 #define __GTF_H | |
3 | |
4 #include "linux/vbelib.h" | |
5 | |
6 #define GTF_VF 0 | |
7 #define GTF_HF 1 | |
8 #define GTF_PF 2 | |
9 | |
10 | |
11 typedef struct { | |
12 double Vsync_need; /* Number of lines for vert sync (default 3) */ | |
13 double min_Vsync_BP; /* Minimum vertical sync + back porch (us) (default 550)*/ | |
14 double min_front_porch; /* Minimum front porch in lines (default 1) */ | |
15 double char_cell_granularity; /* Character cell granularity in pixels (default 8) */ | |
16 double margin_width; /* Top/ bottom MARGIN size as % of height (%) (default 1.8) */ | |
17 double sync_width; /* Sync width percent of line period ( default 8) */ | |
18 double c; /* Blanking formula offset (default 40)*/ | |
19 double j; /* Blanking formula scaling factor weight (default 20)*/ | |
20 double k; /* Blanking formula scaling factor (default 128)*/ | |
21 double m; /* Blanking formula gradient (default 600)*/ | |
22 } GTF_constants; | |
23 | |
24 //#ifndef __VESA_VBELIB_INCLUDED__ | |
25 // struct VesaCRTCInfoBlock { | |
26 // unsigned short hTotal; /* Horizontal total in pixels */ | |
27 // unsigned short hSyncStart; /* Horizontal sync start in pixels */ | |
28 // unsigned short hSyncEnd; /* Horizontal sync end in pixels */ | |
29 // unsigned short vTotal; /* Vertical total in lines */ | |
30 // unsigned short vSyncStart; /* Vertical sync start in lines */ | |
31 // unsigned short vSyncEnd; /* Vertical sync end in lines */ | |
32 // unsigned char Flags; /* Flags (Interlaced, Double Scan etc) */ | |
33 // unsigned long PixelClock; /* Pixel clock in units of Hz */ | |
34 // unsigned short RefreshRate;/* Refresh rate in units of 0.01 Hz*/ | |
35 // unsigned char Reserved[40];/* remainder of CRTCInfoBlock*/ | |
36 //}__attribute__ ((packed)); | |
37 | |
38 //#define VESA_CRTC_DOUBLESCAN 0x01 | |
39 //#define VESA_CRTC_INTERLACED 0x02 | |
40 //#define VESA_CRTC_HSYNC_NEG 0x04 | |
41 //#define VESA_CRTC_VSYNC_NEG 0x08 | |
42 | |
43 //#endif | |
44 | |
45 void GTF_calcTimings(double X,double Y,double freq, int type, | |
46 int want_margins, int want_interlace,struct VesaCRTCInfoBlock *result); | |
47 | |
48 #endif |