annotate libvo/gtf.h @ 17066:e84e5e9e9ef4

fixed wrong telecine trf pattern; fall back to mpeg2 when user specifies unknown format
author nicodvb
date Wed, 30 Nov 2005 21:45:32 +0000
parents 7949a0c4e5ad
children 3f0d00abc073
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
7069
21e1ab99cb21 General Timing Formula algorithm from a scratch.
arpi
parents:
diff changeset
1 #ifndef __GTF_H
21e1ab99cb21 General Timing Formula algorithm from a scratch.
arpi
parents:
diff changeset
2 #define __GTF_H
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