annotate libvo/gtf.h @ 37166:3721d8f98dfe

Support -ni option for all formats. Can work around playback issues with badly interleaved files.
author reimar
date Sun, 31 Aug 2014 09:39:13 +0000
parents 0f1b5b68af32
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
28446
7681eab10aea Add standard license headers, unify header formatting.
diego
parents: 26029
diff changeset
1 /*
7681eab10aea Add standard license headers, unify header formatting.
diego
parents: 26029
diff changeset
2 * This file is part of MPlayer.
7681eab10aea Add standard license headers, unify header formatting.
diego
parents: 26029
diff changeset
3 *
7681eab10aea Add standard license headers, unify header formatting.
diego
parents: 26029
diff changeset
4 * MPlayer is free software; you can redistribute it and/or modify
7681eab10aea Add standard license headers, unify header formatting.
diego
parents: 26029
diff changeset
5 * it under the terms of the GNU General Public License as published by
7681eab10aea Add standard license headers, unify header formatting.
diego
parents: 26029
diff changeset
6 * the Free Software Foundation; either version 2 of the License, or
7681eab10aea Add standard license headers, unify header formatting.
diego
parents: 26029
diff changeset
7 * (at your option) any later version.
7681eab10aea Add standard license headers, unify header formatting.
diego
parents: 26029
diff changeset
8 *
7681eab10aea Add standard license headers, unify header formatting.
diego
parents: 26029
diff changeset
9 * MPlayer is distributed in the hope that it will be useful,
7681eab10aea Add standard license headers, unify header formatting.
diego
parents: 26029
diff changeset
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
7681eab10aea Add standard license headers, unify header formatting.
diego
parents: 26029
diff changeset
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
7681eab10aea Add standard license headers, unify header formatting.
diego
parents: 26029
diff changeset
12 * GNU General Public License for more details.
7681eab10aea Add standard license headers, unify header formatting.
diego
parents: 26029
diff changeset
13 *
7681eab10aea Add standard license headers, unify header formatting.
diego
parents: 26029
diff changeset
14 * You should have received a copy of the GNU General Public License along
7681eab10aea Add standard license headers, unify header formatting.
diego
parents: 26029
diff changeset
15 * with MPlayer; if not, write to the Free Software Foundation, Inc.,
7681eab10aea Add standard license headers, unify header formatting.
diego
parents: 26029
diff changeset
16 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
7681eab10aea Add standard license headers, unify header formatting.
diego
parents: 26029
diff changeset
17 */
7681eab10aea Add standard license headers, unify header formatting.
diego
parents: 26029
diff changeset
18
26029
4129c8cfa742 Add MPLAYER_ prefix to multiple inclusion guards.
diego
parents: 25535
diff changeset
19 #ifndef MPLAYER_GTF_H
4129c8cfa742 Add MPLAYER_ prefix to multiple inclusion guards.
diego
parents: 25535
diff changeset
20 #define MPLAYER_GTF_H
7069
21e1ab99cb21 General Timing Formula algorithm from a scratch.
arpi
parents:
diff changeset
21
16264
7949a0c4e5ad gtf.{c,h} is used by vesa only
alex
parents: 9380
diff changeset
22 #include <vbe.h>
7069
21e1ab99cb21 General Timing Formula algorithm from a scratch.
arpi
parents:
diff changeset
23
29263
0f1b5b68af32 whitespace cosmetics: Remove all trailing whitespace.
diego
parents: 28446
diff changeset
24 #define GTF_VF 0
0f1b5b68af32 whitespace cosmetics: Remove all trailing whitespace.
diego
parents: 28446
diff changeset
25 #define GTF_HF 1
7069
21e1ab99cb21 General Timing Formula algorithm from a scratch.
arpi
parents:
diff changeset
26 #define GTF_PF 2
21e1ab99cb21 General Timing Formula algorithm from a scratch.
arpi
parents:
diff changeset
27
29263
0f1b5b68af32 whitespace cosmetics: Remove all trailing whitespace.
diego
parents: 28446
diff changeset
28
7069
21e1ab99cb21 General Timing Formula algorithm from a scratch.
arpi
parents:
diff changeset
29 typedef struct {
21e1ab99cb21 General Timing Formula algorithm from a scratch.
arpi
parents:
diff changeset
30 double Vsync_need; /* Number of lines for vert sync (default 3) */
21e1ab99cb21 General Timing Formula algorithm from a scratch.
arpi
parents:
diff changeset
31 double min_Vsync_BP; /* Minimum vertical sync + back porch (us) (default 550)*/
21e1ab99cb21 General Timing Formula algorithm from a scratch.
arpi
parents:
diff changeset
32 double min_front_porch; /* Minimum front porch in lines (default 1) */
21e1ab99cb21 General Timing Formula algorithm from a scratch.
arpi
parents:
diff changeset
33 double char_cell_granularity; /* Character cell granularity in pixels (default 8) */
21e1ab99cb21 General Timing Formula algorithm from a scratch.
arpi
parents:
diff changeset
34 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
35 double sync_width; /* Sync width percent of line period ( default 8) */
21e1ab99cb21 General Timing Formula algorithm from a scratch.
arpi
parents:
diff changeset
36 double c; /* Blanking formula offset (default 40)*/
21e1ab99cb21 General Timing Formula algorithm from a scratch.
arpi
parents:
diff changeset
37 double j; /* Blanking formula scaling factor weight (default 20)*/
21e1ab99cb21 General Timing Formula algorithm from a scratch.
arpi
parents:
diff changeset
38 double k; /* Blanking formula scaling factor (default 128)*/
21e1ab99cb21 General Timing Formula algorithm from a scratch.
arpi
parents:
diff changeset
39 double m; /* Blanking formula gradient (default 600)*/
21e1ab99cb21 General Timing Formula algorithm from a scratch.
arpi
parents:
diff changeset
40 } GTF_constants;
21e1ab99cb21 General Timing Formula algorithm from a scratch.
arpi
parents:
diff changeset
41
29263
0f1b5b68af32 whitespace cosmetics: Remove all trailing whitespace.
diego
parents: 28446
diff changeset
42 //#ifndef __VESA_VBELIB_INCLUDED__
7069
21e1ab99cb21 General Timing Formula algorithm from a scratch.
arpi
parents:
diff changeset
43 // struct VesaCRTCInfoBlock {
21e1ab99cb21 General Timing Formula algorithm from a scratch.
arpi
parents:
diff changeset
44 // unsigned short hTotal; /* Horizontal total in pixels */
21e1ab99cb21 General Timing Formula algorithm from a scratch.
arpi
parents:
diff changeset
45 // unsigned short hSyncStart; /* Horizontal sync start in pixels */
21e1ab99cb21 General Timing Formula algorithm from a scratch.
arpi
parents:
diff changeset
46 // unsigned short hSyncEnd; /* Horizontal sync end in pixels */
21e1ab99cb21 General Timing Formula algorithm from a scratch.
arpi
parents:
diff changeset
47 // unsigned short vTotal; /* Vertical total in lines */
21e1ab99cb21 General Timing Formula algorithm from a scratch.
arpi
parents:
diff changeset
48 // unsigned short vSyncStart; /* Vertical sync start in lines */
21e1ab99cb21 General Timing Formula algorithm from a scratch.
arpi
parents:
diff changeset
49 // unsigned short vSyncEnd; /* Vertical sync end in lines */
21e1ab99cb21 General Timing Formula algorithm from a scratch.
arpi
parents:
diff changeset
50 // unsigned char Flags; /* Flags (Interlaced, Double Scan etc) */
21e1ab99cb21 General Timing Formula algorithm from a scratch.
arpi
parents:
diff changeset
51 // unsigned long PixelClock; /* Pixel clock in units of Hz */
21e1ab99cb21 General Timing Formula algorithm from a scratch.
arpi
parents:
diff changeset
52 // unsigned short RefreshRate;/* Refresh rate in units of 0.01 Hz*/
21e1ab99cb21 General Timing Formula algorithm from a scratch.
arpi
parents:
diff changeset
53 // unsigned char Reserved[40];/* remainder of CRTCInfoBlock*/
29263
0f1b5b68af32 whitespace cosmetics: Remove all trailing whitespace.
diego
parents: 28446
diff changeset
54 //}__attribute__ ((packed));
7069
21e1ab99cb21 General Timing Formula algorithm from a scratch.
arpi
parents:
diff changeset
55
21e1ab99cb21 General Timing Formula algorithm from a scratch.
arpi
parents:
diff changeset
56 //#define VESA_CRTC_DOUBLESCAN 0x01
21e1ab99cb21 General Timing Formula algorithm from a scratch.
arpi
parents:
diff changeset
57 //#define VESA_CRTC_INTERLACED 0x02
21e1ab99cb21 General Timing Formula algorithm from a scratch.
arpi
parents:
diff changeset
58 //#define VESA_CRTC_HSYNC_NEG 0x04
21e1ab99cb21 General Timing Formula algorithm from a scratch.
arpi
parents:
diff changeset
59 //#define VESA_CRTC_VSYNC_NEG 0x08
21e1ab99cb21 General Timing Formula algorithm from a scratch.
arpi
parents:
diff changeset
60
21e1ab99cb21 General Timing Formula algorithm from a scratch.
arpi
parents:
diff changeset
61 //#endif
21e1ab99cb21 General Timing Formula algorithm from a scratch.
arpi
parents:
diff changeset
62
21e1ab99cb21 General Timing Formula algorithm from a scratch.
arpi
parents:
diff changeset
63 void GTF_calcTimings(double X,double Y,double freq, int type,
21e1ab99cb21 General Timing Formula algorithm from a scratch.
arpi
parents:
diff changeset
64 int want_margins, int want_interlace,struct VesaCRTCInfoBlock *result);
21e1ab99cb21 General Timing Formula algorithm from a scratch.
arpi
parents:
diff changeset
65
26029
4129c8cfa742 Add MPLAYER_ prefix to multiple inclusion guards.
diego
parents: 25535
diff changeset
66 #endif /* MPLAYER_GTF_H */