diff 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
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/libvo/gtf.h	Thu Aug 22 23:03:51 2002 +0000
@@ -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