vo_gl: Extract code to read a pnm file into a separate function
[mplayer/glamo.git] / libvo / gtf.h
blob837fc24e691359b77790249969092f4d966170aa
1 /*
2 * This file is part of MPlayer.
4 * MPlayer is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
6 * the Free Software Foundation; either version 2 of the License, or
7 * (at your option) any later version.
9 * MPlayer is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details.
14 * You should have received a copy of the GNU General Public License along
15 * with MPlayer; if not, write to the Free Software Foundation, Inc.,
16 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
19 #ifndef MPLAYER_GTF_H
20 #define MPLAYER_GTF_H
22 #include <vbe.h>
24 #define GTF_VF 0
25 #define GTF_HF 1
26 #define GTF_PF 2
29 typedef struct {
30 double Vsync_need; /* Number of lines for vert sync (default 3) */
31 double min_Vsync_BP; /* Minimum vertical sync + back porch (us) (default 550)*/
32 double min_front_porch; /* Minimum front porch in lines (default 1) */
33 double char_cell_granularity; /* Character cell granularity in pixels (default 8) */
34 double margin_width; /* Top/ bottom MARGIN size as % of height (%) (default 1.8) */
35 double sync_width; /* Sync width percent of line period ( default 8) */
36 double c; /* Blanking formula offset (default 40)*/
37 double j; /* Blanking formula scaling factor weight (default 20)*/
38 double k; /* Blanking formula scaling factor (default 128)*/
39 double m; /* Blanking formula gradient (default 600)*/
40 } GTF_constants;
42 //#ifndef __VESA_VBELIB_INCLUDED__
43 // struct VesaCRTCInfoBlock {
44 // unsigned short hTotal; /* Horizontal total in pixels */
45 // unsigned short hSyncStart; /* Horizontal sync start in pixels */
46 // unsigned short hSyncEnd; /* Horizontal sync end in pixels */
47 // unsigned short vTotal; /* Vertical total in lines */
48 // unsigned short vSyncStart; /* Vertical sync start in lines */
49 // unsigned short vSyncEnd; /* Vertical sync end in lines */
50 // unsigned char Flags; /* Flags (Interlaced, Double Scan etc) */
51 // unsigned long PixelClock; /* Pixel clock in units of Hz */
52 // unsigned short RefreshRate;/* Refresh rate in units of 0.01 Hz*/
53 // unsigned char Reserved[40];/* remainder of CRTCInfoBlock*/
54 //}__attribute__ ((packed));
56 //#define VESA_CRTC_DOUBLESCAN 0x01
57 //#define VESA_CRTC_INTERLACED 0x02
58 //#define VESA_CRTC_HSYNC_NEG 0x04
59 //#define VESA_CRTC_VSYNC_NEG 0x08
61 //#endif
63 void GTF_calcTimings(double X,double Y,double freq, int type,
64 int want_margins, int want_interlace,struct VesaCRTCInfoBlock *result);
66 #endif /* MPLAYER_GTF_H */