summaryrefslogtreecommitdiffstats
path: root/libvo/gtf.h
diff options
context:
space:
mode:
authorarpi <arpi@b3059339-0415-0410-9bf9-f77b7e298cf2>2002-08-22 23:03:51 +0000
committerarpi <arpi@b3059339-0415-0410-9bf9-f77b7e298cf2>2002-08-22 23:03:51 +0000
commit4ae1571dda7f29737939a91445bef2885bd0ebea (patch)
tree68fb4755bab37729823af59c011f06333cabd1e2 /libvo/gtf.h
parent0e6edc2840af15cd9d175219521627bbc94454b2 (diff)
downloadmpv-4ae1571dda7f29737939a91445bef2885bd0ebea.tar.bz2
mpv-4ae1571dda7f29737939a91445bef2885bd0ebea.tar.xz
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> git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@7070 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libvo/gtf.h')
-rw-r--r--libvo/gtf.h48
1 files changed, 48 insertions, 0 deletions
diff --git a/libvo/gtf.h b/libvo/gtf.h
new file mode 100644
index 0000000000..7d20a6bb02
--- /dev/null
+++ b/libvo/gtf.h
@@ -0,0 +1,48 @@
+#ifndef __GTF_H
+#define __GTF_H
+
+#include "linux/vbelib.h"
+
+#define GTF_VF 0
+#define GTF_HF 1
+#define GTF_PF 2
+
+
+typedef struct {
+ double Vsync_need; /* Number of lines for vert sync (default 3) */
+ double min_Vsync_BP; /* Minimum vertical sync + back porch (us) (default 550)*/
+ double min_front_porch; /* Minimum front porch in lines (default 1) */
+ double char_cell_granularity; /* Character cell granularity in pixels (default 8) */
+ double margin_width; /* Top/ bottom MARGIN size as % of height (%) (default 1.8) */
+ double sync_width; /* Sync width percent of line period ( default 8) */
+ double c; /* Blanking formula offset (default 40)*/
+ double j; /* Blanking formula scaling factor weight (default 20)*/
+ double k; /* Blanking formula scaling factor (default 128)*/
+ double m; /* Blanking formula gradient (default 600)*/
+ } GTF_constants;
+
+//#ifndef __VESA_VBELIB_INCLUDED__
+// struct VesaCRTCInfoBlock {
+// unsigned short hTotal; /* Horizontal total in pixels */
+// unsigned short hSyncStart; /* Horizontal sync start in pixels */
+// unsigned short hSyncEnd; /* Horizontal sync end in pixels */
+// unsigned short vTotal; /* Vertical total in lines */
+// unsigned short vSyncStart; /* Vertical sync start in lines */
+// unsigned short vSyncEnd; /* Vertical sync end in lines */
+// unsigned char Flags; /* Flags (Interlaced, Double Scan etc) */
+// unsigned long PixelClock; /* Pixel clock in units of Hz */
+// unsigned short RefreshRate;/* Refresh rate in units of 0.01 Hz*/
+// unsigned char Reserved[40];/* remainder of CRTCInfoBlock*/
+//}__attribute__ ((packed));
+
+//#define VESA_CRTC_DOUBLESCAN 0x01
+//#define VESA_CRTC_INTERLACED 0x02
+//#define VESA_CRTC_HSYNC_NEG 0x04
+//#define VESA_CRTC_VSYNC_NEG 0x08
+
+//#endif
+
+void GTF_calcTimings(double X,double Y,double freq, int type,
+ int want_margins, int want_interlace,struct VesaCRTCInfoBlock *result);
+
+#endif