video_common: Clean-up new video timings.
Signed-off-by: Andrei-Liviu Simion <andrei.simion@xilinx.com>
This commit is contained in:
parent
4be8a02803
commit
1cc0680b63
2 changed files with 94 additions and 94 deletions
|
@ -56,7 +56,7 @@
|
||||||
|
|
||||||
#include "xedid.h"
|
#include "xedid.h"
|
||||||
|
|
||||||
/****************************** Type Definitions ******************************/
|
/************************** Constant Definitions ******************************/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This typedef enumerates the list of available standard display monitor
|
* This typedef enumerates the list of available standard display monitor
|
||||||
|
@ -67,7 +67,7 @@
|
||||||
* Where RB stands for reduced blanking.
|
* Where RB stands for reduced blanking.
|
||||||
*/
|
*/
|
||||||
typedef enum {
|
typedef enum {
|
||||||
XVID_VM_640x480_60_P,
|
XVID_VM_640x480_60_P = 0,
|
||||||
XVID_VM_800x600_60_P,
|
XVID_VM_800x600_60_P,
|
||||||
XVID_VM_848x480_60_P,
|
XVID_VM_848x480_60_P,
|
||||||
XVID_VM_1024x768_60_P,
|
XVID_VM_1024x768_60_P,
|
||||||
|
@ -153,51 +153,80 @@ typedef enum {
|
||||||
XVID_VM_480_60_P,
|
XVID_VM_480_60_P,
|
||||||
XVID_VM_UHD2_60_P,
|
XVID_VM_UHD2_60_P,
|
||||||
XVID_VM_UHD_60,
|
XVID_VM_UHD_60,
|
||||||
|
XVID_VM_NUM_SUPPORT_0,
|
||||||
XVID_VM_USE_EDID_PREFERRED,
|
XVID_VM_USE_EDID_PREFERRED,
|
||||||
XVID_VM_LAST = XVID_VM_USE_EDID_PREFERRED
|
} XVid_VideoMode0;
|
||||||
} XVid_VideoMode;
|
|
||||||
|
|
||||||
typedef enum {
|
typedef enum {
|
||||||
XV_RATE_24HZ = 0,
|
XVID_VM_576I25 = 0,
|
||||||
XV_RATE_25HZ,
|
XVID_VM_480I30,
|
||||||
XV_RATE_30HZ,
|
XVID_VM_1080I25,
|
||||||
XV_RATE_50HZ,
|
XVID_VM_1080I30,
|
||||||
XV_RATE_60HZ,
|
XVID_VM_480P60,
|
||||||
XV_NUM_SUPPORTED_RATE
|
XVID_VM_720P50,
|
||||||
}FrameRate_t;
|
XVID_VM_720P60,
|
||||||
|
XVID_VM_1080P24,
|
||||||
|
XVID_VM_1080P25,
|
||||||
|
XVID_VM_1080P30,
|
||||||
|
XVID_VM_1080P50,
|
||||||
|
XVID_VM_1080P60,
|
||||||
|
XVID_VM_4K2KP24,
|
||||||
|
XVID_VM_4K2KP25,
|
||||||
|
XVID_VM_4K2KP30,
|
||||||
|
XVID_VM_4K2KP60,
|
||||||
|
XVID_VM_WXGAP60,
|
||||||
|
XVID_VM_UXGAP60,
|
||||||
|
XVID_VM_WUXGAP60,
|
||||||
|
XVID_VM_WSXGAP60,
|
||||||
|
XVID_VM_NUM_SUPPORT_1,
|
||||||
|
XVID_VM_NO_INPUT
|
||||||
|
} XVid_VideoMode1;
|
||||||
|
|
||||||
typedef enum {
|
typedef enum {
|
||||||
//Video
|
XVID_FR_24HZ = 0,
|
||||||
XV_576I25 = 0,
|
XVID_FR_25HZ,
|
||||||
XV_480I30,
|
XVID_FR_30HZ,
|
||||||
XV_1080I25,
|
XVID_FR_50HZ,
|
||||||
XV_1080I30,
|
XVID_FR_60HZ,
|
||||||
XV_480P60,
|
XV_NUM_SUPPORTED_RATE
|
||||||
XV_720P50,
|
} XVid_FrameRate;
|
||||||
XV_720P60,
|
|
||||||
XV_1080P24,
|
/****************************** Type Definitions ******************************/
|
||||||
XV_1080P25,
|
|
||||||
XV_1080P30,
|
/**
|
||||||
XV_1080P50,
|
* Video timing structure.
|
||||||
XV_1080P60,
|
*/
|
||||||
XV_4K2KP24,
|
typedef struct {
|
||||||
XV_4K2KP25,
|
u32 HActive;
|
||||||
XV_4K2KP30,
|
u32 HFrontPorch;
|
||||||
XV_4K2KP60,
|
u32 HSyncWidth;
|
||||||
//PC Resolutions
|
u32 HBackPorch;
|
||||||
XV_WXGAP60,
|
u32 HTotal;
|
||||||
XV_UXGAP60,
|
u32 HSyncPolarity;
|
||||||
XV_WUXGAP60,
|
u32 VActive;
|
||||||
XV_WSXGAP60,
|
u32 F0PVFrontPorch;
|
||||||
XV_NUM_SUPPORTED_MODES, //Add new modes before this index
|
u32 F0PVSyncWidth;
|
||||||
XV_NO_INPUT
|
u32 F0PVBackPorch;
|
||||||
}Resolution_t;
|
u32 F0PVTotal;
|
||||||
|
u32 F1VFrontPorch;
|
||||||
|
u32 F1VSyncWidth;
|
||||||
|
u32 F1VBackPorch;
|
||||||
|
u32 F1VTotal;
|
||||||
|
u32 VSyncPolarity;
|
||||||
|
} XVid_VideoTiming;
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
XVid_VideoMode1 VmId;
|
||||||
|
char *Name;
|
||||||
|
XVid_FrameRate FrameRate;
|
||||||
|
XVid_VideoTiming Timing;
|
||||||
|
} XVid_VideoTimingMode;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This typedef contains the display monitor timing attributes for a video mode.
|
* This typedef contains the display monitor timing attributes for a video mode.
|
||||||
*/
|
*/
|
||||||
typedef struct {
|
typedef struct {
|
||||||
XVid_VideoMode VideoMode; /**< Enumerated key. */
|
XVid_VideoMode0 VmId; /**< Enumerated key. */
|
||||||
u8 DmtId; /**< Standard Display Monitor Timing
|
u8 DmtId; /**< Standard Display Monitor Timing
|
||||||
(DMT) ID number. */
|
(DMT) ID number. */
|
||||||
u16 HResolution; /**< Horizontal resolution (in
|
u16 HResolution; /**< Horizontal resolution (in
|
||||||
|
@ -225,39 +254,10 @@ typedef struct {
|
||||||
u32 VBackPorch; /**< Vertical back porch (in lines). */
|
u32 VBackPorch; /**< Vertical back porch (in lines). */
|
||||||
} XVid_DmtMode;
|
} XVid_DmtMode;
|
||||||
|
|
||||||
/**
|
|
||||||
* Video Timing Structure
|
|
||||||
*/
|
|
||||||
typedef struct {
|
|
||||||
u32 HActive;
|
|
||||||
u32 HFrontPorch;
|
|
||||||
u32 HSyncWidth;
|
|
||||||
u32 HBackPorch;
|
|
||||||
u32 HTotal;
|
|
||||||
u32 HSyncPolarity;
|
|
||||||
u32 VActive;
|
|
||||||
u32 F0PVFrontPorch;
|
|
||||||
u32 F0PVSyncWidth;
|
|
||||||
u32 F0PVBackPorch;
|
|
||||||
u32 F0PVTotal;
|
|
||||||
u32 F1VFrontPorch;
|
|
||||||
u32 F1VSyncWidth;
|
|
||||||
u32 F1VBackPorch;
|
|
||||||
u32 F1VTotal;
|
|
||||||
u32 VSyncPolarity;
|
|
||||||
}VideoTiming_t;
|
|
||||||
|
|
||||||
typedef struct {
|
|
||||||
Resolution_t ResId;
|
|
||||||
char *Name;
|
|
||||||
FrameRate_t FrameRate;
|
|
||||||
VideoTiming_t Timing;
|
|
||||||
}ModeTable_t;
|
|
||||||
|
|
||||||
/*************************** Variable Declarations ****************************/
|
/*************************** Variable Declarations ****************************/
|
||||||
|
|
||||||
extern const XVid_DmtMode XVid_DmtModes[];
|
extern const XVid_DmtMode XVid_DmtModes[XVID_VM_NUM_SUPPORT_0];
|
||||||
extern const ModeTable_t ModeTable[XV_NUM_SUPPORTED_MODES];
|
extern const XVid_VideoTimingMode XVid_VideoTimingModes[XVID_VM_NUM_SUPPORT_1];
|
||||||
|
|
||||||
/**************************** Function Prototypes *****************************/
|
/**************************** Function Prototypes *****************************/
|
||||||
|
|
||||||
|
|
|
@ -71,7 +71,7 @@
|
||||||
* 13) Vertical sync time (lines)
|
* 13) Vertical sync time (lines)
|
||||||
* 14) Vertical back porch (lines)
|
* 14) Vertical back porch (lines)
|
||||||
*/
|
*/
|
||||||
const XVid_DmtMode XVid_DmtModes[] =
|
const XVid_DmtMode XVid_DmtModes[XVID_VM_NUM_SUPPORT_0] =
|
||||||
{
|
{
|
||||||
{XVID_VM_640x480_60_P, 0x04, 640, 480, 25175, 0, 1, 1, 8, 96, 40, 2, 2, 25},
|
{XVID_VM_640x480_60_P, 0x04, 640, 480, 25175, 0, 1, 1, 8, 96, 40, 2, 2, 25},
|
||||||
{XVID_VM_800x600_60_P, 0x09, 800, 600, 40000, 0, 0, 0, 40, 128, 88, 1, 4, 23},
|
{XVID_VM_800x600_60_P, 0x09, 800, 600, 40000, 0, 0, 0, 40, 128, 88, 1, 4, 23},
|
||||||
|
@ -161,30 +161,30 @@ const XVid_DmtMode XVid_DmtModes[] =
|
||||||
{XVID_VM_UHD_60, 0x00, 3840, 2160, 594000, 0, 0, 1, 176, 88, 296, 20, 10, 60}
|
{XVID_VM_UHD_60, 0x00, 3840, 2160, 594000, 0, 0, 1, 176, 88, 296, 20, 10, 60}
|
||||||
};
|
};
|
||||||
|
|
||||||
const ModeTable_t ModeTable[XV_NUM_SUPPORTED_MODES] =
|
const XVid_VideoTimingMode XVid_VideoTimingModes[XVID_VM_NUM_SUPPORT_1] =
|
||||||
{
|
{
|
||||||
// Res_ID Name Frame Rate HAct HFP HSW HBP HTOT HSP VAct V0FP V0SW V0BP V0TOT V1FP V1SW V1BP V1TOT VSP
|
// Res_ID Name Frame Rate HAct HFP HSW HBP HTOT HSP VAct V0FP V0SW V0BP V0TOT V1FP V1SW V1BP V1TOT VSP
|
||||||
//Video - Interlaced Modes
|
/* Video - interlaced modes. */
|
||||||
{XV_576I25, "720x576", XV_RATE_25HZ, { 720, 12, 63, 69, 864, 0, 288, 2, 3, 19, 312, 2, 3, 20, 313, 0}},
|
{XVID_VM_576I25, "720x576", XVID_FR_25HZ, { 720, 12, 63, 69, 864, 0, 288, 2, 3, 19, 312, 2, 3, 20, 313, 0}},
|
||||||
{XV_480I30, "720x480", XV_RATE_30HZ, { 720, 19, 62, 57, 858, 0, 240, 4, 3, 15, 262, 4, 3, 16, 263, 0}},
|
{XVID_VM_480I30, "720x480", XVID_FR_30HZ, { 720, 19, 62, 57, 858, 0, 240, 4, 3, 15, 262, 4, 3, 16, 263, 0}},
|
||||||
{XV_1080I25, "1920x1080", XV_RATE_25HZ, {1920, 88, 44, 148, 2200, 1, 540, 2, 5, 15, 562, 2, 5, 16, 563, 1}},
|
{XVID_VM_1080I25, "1920x1080", XVID_FR_25HZ, {1920, 88, 44, 148, 2200, 1, 540, 2, 5, 15, 562, 2, 5, 16, 563, 1}},
|
||||||
{XV_1080I30, "1920x1080", XV_RATE_30HZ, {1920, 88, 44, 148, 2200, 1, 540, 2, 5, 15, 562, 2, 5, 16, 563, 1}},
|
{XVID_VM_1080I30, "1920x1080", XVID_FR_30HZ, {1920, 88, 44, 148, 2200, 1, 540, 2, 5, 15, 562, 2, 5, 16, 563, 1}},
|
||||||
//Video - Progressive Modes
|
/* Video - progressive modes. */
|
||||||
{XV_480P60, "720x480", XV_RATE_60HZ, { 720, 16, 62, 60, 858, 1, 480, 9, 6, 30, 525, 0, 0, 0, 0, 1}},
|
{XVID_VM_480P60, "720x480", XVID_FR_60HZ, { 720, 16, 62, 60, 858, 1, 480, 9, 6, 30, 525, 0, 0, 0, 0, 1}},
|
||||||
{XV_720P50, "1280x720", XV_RATE_50HZ, {1280, 440, 40, 220, 1980, 1, 720, 5, 5, 20, 750, 0, 0, 0, 0, 1}},
|
{XVID_VM_720P50, "1280x720", XVID_FR_50HZ, {1280, 440, 40, 220, 1980, 1, 720, 5, 5, 20, 750, 0, 0, 0, 0, 1}},
|
||||||
{XV_720P60, "1280x720", XV_RATE_60HZ, {1280, 110, 40, 220, 1650, 1, 720, 5, 5, 20, 750, 0, 0, 0, 0, 1}},
|
{XVID_VM_720P60, "1280x720", XVID_FR_60HZ, {1280, 110, 40, 220, 1650, 1, 720, 5, 5, 20, 750, 0, 0, 0, 0, 1}},
|
||||||
{XV_1080P24, "1920x1080", XV_RATE_24HZ, {1920, 638, 44, 148, 2750, 1, 1080, 4, 5, 36, 1125, 0, 0, 0, 0, 1}},
|
{XVID_VM_1080P24, "1920x1080", XVID_FR_24HZ, {1920, 638, 44, 148, 2750, 1, 1080, 4, 5, 36, 1125, 0, 0, 0, 0, 1}},
|
||||||
{XV_1080P25, "1920x1080", XV_RATE_25HZ, {1920, 528, 44, 148, 2640, 1, 1080, 4, 5, 36, 1125, 0, 0, 0, 0, 1}},
|
{XVID_VM_1080P25, "1920x1080", XVID_FR_25HZ, {1920, 528, 44, 148, 2640, 1, 1080, 4, 5, 36, 1125, 0, 0, 0, 0, 1}},
|
||||||
{XV_1080P30, "1920x1080", XV_RATE_30HZ, {1920, 88, 44, 148, 2200, 1, 1080, 4, 5, 36, 1125, 0, 0, 0, 0, 1}},
|
{XVID_VM_1080P30, "1920x1080", XVID_FR_30HZ, {1920, 88, 44, 148, 2200, 1, 1080, 4, 5, 36, 1125, 0, 0, 0, 0, 1}},
|
||||||
{XV_1080P50, "1920x1080", XV_RATE_50HZ, {1920, 528, 44, 148, 2640, 1, 1080, 4, 5, 36, 1125, 0, 0, 0, 0, 1}},
|
{XVID_VM_1080P50, "1920x1080", XVID_FR_50HZ, {1920, 528, 44, 148, 2640, 1, 1080, 4, 5, 36, 1125, 0, 0, 0, 0, 1}},
|
||||||
{XV_1080P60, "1920x1080", XV_RATE_60HZ, {1920, 88, 44, 148, 2200, 1, 1080, 4, 5, 36, 1125, 0, 0, 0, 0, 1}},
|
{XVID_VM_1080P60, "1920x1080", XVID_FR_60HZ, {1920, 88, 44, 148, 2200, 1, 1080, 4, 5, 36, 1125, 0, 0, 0, 0, 1}},
|
||||||
{XV_4K2KP24, "3840x2160", XV_RATE_24HZ, {3840, 1276, 88, 296, 5500, 1, 2160, 8, 10, 72, 2250, 0, 0, 0, 0, 1}},
|
{XVID_VM_4K2KP24, "3840x2160", XVID_FR_24HZ, {3840, 1276, 88, 296, 5500, 1, 2160, 8, 10, 72, 2250, 0, 0, 0, 0, 1}},
|
||||||
{XV_4K2KP25, "3840x2160", XV_RATE_25HZ, {3840, 1056, 88, 296, 5280, 1, 2160, 8, 10, 72, 2250, 0, 0, 0, 0, 1}},
|
{XVID_VM_4K2KP25, "3840x2160", XVID_FR_25HZ, {3840, 1056, 88, 296, 5280, 1, 2160, 8, 10, 72, 2250, 0, 0, 0, 0, 1}},
|
||||||
{XV_4K2KP30, "3840x2160", XV_RATE_30HZ, {3840, 176, 88, 296, 4400, 1, 2160, 8, 10, 72, 2250, 0, 0, 0, 0, 1}},
|
{XVID_VM_4K2KP30, "3840x2160", XVID_FR_30HZ, {3840, 176, 88, 296, 4400, 1, 2160, 8, 10, 72, 2250, 0, 0, 0, 0, 1}},
|
||||||
{XV_4K2KP60, "3840x2160", XV_RATE_60HZ, {3840, 176, 80, 304, 4400, 1, 2160, 60, 8, 22, 2250, 0, 0, 0, 0, 1}},
|
{XVID_VM_4K2KP60, "3840x2160", XVID_FR_60HZ, {3840, 176, 80, 304, 4400, 1, 2160, 60, 8, 22, 2250, 0, 0, 0, 0, 1}},
|
||||||
//PC Resolutions
|
/* PC resolutions. */
|
||||||
{XV_WXGAP60, "1366x768", XV_RATE_60HZ, {1366, 70, 143, 213, 1792, 1, 768, 3, 3, 24, 798, 0, 0, 0, 0, 1}},
|
{XVID_VM_WXGAP60, "1366x768", XVID_FR_60HZ, {1366, 70, 143, 213, 1792, 1, 768, 3, 3, 24, 798, 0, 0, 0, 0, 1}},
|
||||||
{XV_UXGAP60, "1600x1200", XV_RATE_60HZ, {1600, 64, 192, 304, 2160, 1, 1200, 1, 3, 46, 1250, 0, 0, 0, 0, 1}},
|
{XVID_VM_UXGAP60, "1600x1200", XVID_FR_60HZ, {1600, 64, 192, 304, 2160, 1, 1200, 1, 3, 46, 1250, 0, 0, 0, 0, 1}},
|
||||||
{XV_WUXGAP60, "1920x1200", XV_RATE_60HZ, {1920, 136, 200, 336, 2592, 1, 1200, 3, 6, 36, 1245, 0, 0, 0, 0, 1}},
|
{XVID_VM_WUXGAP60, "1920x1200", XVID_FR_60HZ, {1920, 136, 200, 336, 2592, 1, 1200, 3, 6, 36, 1245, 0, 0, 0, 0, 1}},
|
||||||
{XV_WSXGAP60, "1680x1050", XV_RATE_60HZ, {1680, 104, 176, 280, 2240, 1, 1050, 3, 6, 30, 1089, 0, 0, 0, 0, 1}}
|
{XVID_VM_WSXGAP60, "1680x1050", XVID_FR_60HZ, {1680, 104, 176, 280, 2240, 1, 1050, 3, 6, 30, 1089, 0, 0, 0, 0, 1}}
|
||||||
};
|
};
|
||||||
|
|
Loading…
Add table
Reference in a new issue