⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dvhdmirxram.c

📁 the HDMI(High Definition Multimedia Interface) driver code
💻 C
字号:
#include "itron.h"
#include "kernel.h"
#include "dvCom.h"
#include "dvHdmiRx.h"
#include "dvHdmiRxLocal.h"

TdvHdmiRxVideoFormat gHdmiRxDrvVideoFormatTbl[DV_HDMIRX_DEF_VIDEO_TBL_NUM] = {
	{0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF},																		//!< reserved
	{640, 480, DV_HDMIRX_DEF_NON_INTERLACE, DV_HDMIRX_DEF_FIELD_RATE_60, DV_HDMIRX_DEF_RATIO_4_3, 0, 0},			//!< 1 640X480p 59.94Hz/60Hz 4:3
	{720, 480, DV_HDMIRX_DEF_NON_INTERLACE, DV_HDMIRX_DEF_FIELD_RATE_60, DV_HDMIRX_DEF_RATIO_4_3, 0, 0},			//!< 2 720X480p 59.94Hz/60Hz 4:3
	{720, 480, DV_HDMIRX_DEF_NON_INTERLACE, DV_HDMIRX_DEF_FIELD_RATE_60, DV_HDMIRX_DEF_RATIO_16_9, 0, 0},			//!< 3 720X480p 59.94Hz/60Hz 16:9
	{1280, 720, DV_HDMIRX_DEF_NON_INTERLACE, DV_HDMIRX_DEF_FIELD_RATE_60, DV_HDMIRX_DEF_RATIO_16_9, 0, 0},			//!< 4 1280X720p 59.94Hz/60Hz 16:9
	{1920, 1080, DV_HDMIRX_DEF_INTERLACE, DV_HDMIRX_DEF_FIELD_RATE_60, DV_HDMIRX_DEF_RATIO_16_9, 0, 0},				//!< 5 1920X1080i 59.94Hz/60Hz 16:9
	{1440, 480, DV_HDMIRX_DEF_INTERLACE, DV_HDMIRX_DEF_FIELD_RATE_60, DV_HDMIRX_DEF_RATIO_4_3, 1, 0},				//!< 6 720(1440)X480i 59.94Hz/60Hz 4:3
	{1440, 480, DV_HDMIRX_DEF_INTERLACE, DV_HDMIRX_DEF_FIELD_RATE_60, DV_HDMIRX_DEF_RATIO_16_9, 1, 0},				//!< 7 720(1440)X480i 59.94Hz/60Hz 16:9
	{1440, 240, DV_HDMIRX_DEF_NON_INTERLACE, DV_HDMIRX_DEF_FIELD_RATE_60, DV_HDMIRX_DEF_RATIO_4_3, 0, 0},			//!< 8 720(1440)X240p 59.94Hz/60Hz 4:3
	{1440, 240, DV_HDMIRX_DEF_NON_INTERLACE, DV_HDMIRX_DEF_FIELD_RATE_60, DV_HDMIRX_DEF_RATIO_16_9, 0, 0},			//!< 9 720(1440)X240p 59.94Hz/60Hz 16:9
	{2880, 480, DV_HDMIRX_DEF_INTERLACE, DV_HDMIRX_DEF_FIELD_RATE_60, DV_HDMIRX_DEF_RATIO_4_3, 10, 0},				//!< 10 2880X480i 59.94Hz/60Hz 4:3
	{2880, 480, DV_HDMIRX_DEF_INTERLACE, DV_HDMIRX_DEF_FIELD_RATE_60, DV_HDMIRX_DEF_RATIO_16_9, 10, 0},				//!< 11 2880X480i 59.94Hz/60Hz 16:9
	{2880, 240, DV_HDMIRX_DEF_NON_INTERLACE, DV_HDMIRX_DEF_FIELD_RATE_60, DV_HDMIRX_DEF_RATIO_4_3, 0, 0},			//!< 12 2880X240p 59.94Hz/60Hz 4:3
	{2880, 240, DV_HDMIRX_DEF_NON_INTERLACE, DV_HDMIRX_DEF_FIELD_RATE_60, DV_HDMIRX_DEF_RATIO_16_9, 0, 0},			//!< 13 2880X240p 59.94Hz/60Hz 16:9
	{1480, 480, DV_HDMIRX_DEF_NON_INTERLACE, DV_HDMIRX_DEF_FIELD_RATE_60, DV_HDMIRX_DEF_RATIO_4_3, 1, 0},			//!< 14 1440X480p 59.94Hz/60Hz 4:3
	{1480, 480, DV_HDMIRX_DEF_NON_INTERLACE, DV_HDMIRX_DEF_FIELD_RATE_60, DV_HDMIRX_DEF_RATIO_16_9, 1, 0},			//!< 15 1440X480p 59.94Hz/60Hz 16:9
	{1920, 1080, DV_HDMIRX_DEF_NON_INTERLACE, DV_HDMIRX_DEF_FIELD_RATE_60, DV_HDMIRX_DEF_RATIO_16_9, 0, 0},			//!< 16 1920X1080p 59.94Hz/60Hz 16:9
	{720, 576, DV_HDMIRX_DEF_NON_INTERLACE, DV_HDMIRX_DEF_FIELD_RATE_50, DV_HDMIRX_DEF_RATIO_4_3, 0, 0},			//!< 17 720X576p 50Hz 4:3
	{720, 576, DV_HDMIRX_DEF_NON_INTERLACE, DV_HDMIRX_DEF_FIELD_RATE_50, DV_HDMIRX_DEF_RATIO_16_9, 0, 0},			//!< 18 720X576p 50Hz 16:9
	{1280, 720, DV_HDMIRX_DEF_NON_INTERLACE, DV_HDMIRX_DEF_FIELD_RATE_50, DV_HDMIRX_DEF_RATIO_16_9, 0, 0},			//!< 19 1280X720p 50Hz 16:9
	{1920, 1080, DV_HDMIRX_DEF_INTERLACE, DV_HDMIRX_DEF_FIELD_RATE_50, DV_HDMIRX_DEF_RATIO_16_9, 0, 0},				//!< 20 1920X1080i 50Hz 16:9
	{1440, 576, DV_HDMIRX_DEF_INTERLACE, DV_HDMIRX_DEF_FIELD_RATE_50, DV_HDMIRX_DEF_RATIO_4_3, 2, 0},				//!< 21 720(1440)X576i 50Hz 4:3
	{1440, 576, DV_HDMIRX_DEF_INTERLACE, DV_HDMIRX_DEF_FIELD_RATE_50, DV_HDMIRX_DEF_RATIO_16_9, 2, 0},				//!< 22 720(1440)X576i 50Hz 16:9
	{1440, 288, DV_HDMIRX_DEF_NON_INTERLACE, DV_HDMIRX_DEF_FIELD_RATE_50, DV_HDMIRX_DEF_RATIO_4_3, 1, 0},			//!< 23 720(1440)X288p 50Hz 4:3
	{1440, 288, DV_HDMIRX_DEF_NON_INTERLACE, DV_HDMIRX_DEF_FIELD_RATE_50, DV_HDMIRX_DEF_RATIO_16_9, 1, 0},			//!< 24 720(1440)X288p 50Hz 16:9
	{2880, 576, DV_HDMIRX_DEF_INTERLACE, DV_HDMIRX_DEF_FIELD_RATE_50, DV_HDMIRX_DEF_RATIO_4_3, 10, 0},				//!< 25 2880X576i 50Hz 4:3
	{2880, 576, DV_HDMIRX_DEF_INTERLACE, DV_HDMIRX_DEF_FIELD_RATE_50, DV_HDMIRX_DEF_RATIO_16_9, 10, 0},				//!< 26 2880X576i 50Hz 16:9
	{2880, 288, DV_HDMIRX_DEF_NON_INTERLACE, DV_HDMIRX_DEF_FIELD_RATE_50, DV_HDMIRX_DEF_RATIO_4_3, 10, 0},			//!< 27 2880X288p 50Hz 4:3
	{2880, 288, DV_HDMIRX_DEF_NON_INTERLACE, DV_HDMIRX_DEF_FIELD_RATE_50, DV_HDMIRX_DEF_RATIO_16_9, 10, 0},			//!< 28 2880X288p 50Hz 16:9
	{1440, 576, DV_HDMIRX_DEF_NON_INTERLACE, DV_HDMIRX_DEF_FIELD_RATE_50, DV_HDMIRX_DEF_RATIO_4_3, 1, 0},			//!< 29 1440X576p 50Hz 4:3
	{1440, 576, DV_HDMIRX_DEF_NON_INTERLACE, DV_HDMIRX_DEF_FIELD_RATE_50, DV_HDMIRX_DEF_RATIO_16_9, 1, 0},			//!< 30 1440X576p 50Hz 16:9
	{1920, 1080, DV_HDMIRX_DEF_NON_INTERLACE, DV_HDMIRX_DEF_FIELD_RATE_50, DV_HDMIRX_DEF_RATIO_16_9, 0, 0},			//!< 31 1920X1080p 50Hz 16:9
	{1920, 1080, DV_HDMIRX_DEF_NON_INTERLACE, DV_HDMIRX_DEF_FIELD_RATE_UNDER_50, DV_HDMIRX_DEF_RATIO_16_9, 0, 0},	//!< 32 1920X1080p 23.97Hz/24Hz 16:9
	{1920, 1080, DV_HDMIRX_DEF_NON_INTERLACE, DV_HDMIRX_DEF_FIELD_RATE_UNDER_50, DV_HDMIRX_DEF_RATIO_16_9, 0, 0},	//!< 33 1920X1080p 25Hz 16:9
	{1920, 1080, DV_HDMIRX_DEF_NON_INTERLACE, DV_HDMIRX_DEF_FIELD_RATE_UNDER_50, DV_HDMIRX_DEF_RATIO_16_9, 0, 0},	//!< 34 1920X1080p 29.97/30Hz 16:9
	{2880, 480, DV_HDMIRX_DEF_NON_INTERLACE, DV_HDMIRX_DEF_FIELD_RATE_60, DV_HDMIRX_DEF_RATIO_4_3, 3, 0},			//!< 35 2880X480p 59.94Hz/60Hzz 4:3
	{2880, 480, DV_HDMIRX_DEF_NON_INTERLACE, DV_HDMIRX_DEF_FIELD_RATE_60, DV_HDMIRX_DEF_RATIO_16_9, 3, 0},			//!< 36 2880X480p 59.94Hz/60Hzz 16:9
	{2880, 576, DV_HDMIRX_DEF_NON_INTERLACE, DV_HDMIRX_DEF_FIELD_RATE_50, DV_HDMIRX_DEF_RATIO_4_3, 3, 0},			//!< 37 2880X576p 50Hz 4:3
	{2880, 576, DV_HDMIRX_DEF_NON_INTERLACE, DV_HDMIRX_DEF_FIELD_RATE_50, DV_HDMIRX_DEF_RATIO_16_9, 3, 0},			//!< 38 2880X576p 50Hz 16:9
	{1920, 1080, DV_HDMIRX_DEF_INTERLACE, DV_HDMIRX_DEF_FIELD_RATE_50, DV_HDMIRX_DEF_RATIO_16_9, 0, 0},				//!< 39 1920X1080i(1250 total) 50Hz 16:9
	{1920, 1080, DV_HDMIRX_DEF_INTERLACE, DV_HDMIRX_DEF_FIELD_RATE_OVER_60, DV_HDMIRX_DEF_RATIO_16_9, 0, 0},		//!< 40 1920X1080i 100Hz 16:9
	{1280, 720, DV_HDMIRX_DEF_INTERLACE, DV_HDMIRX_DEF_FIELD_RATE_OVER_60, DV_HDMIRX_DEF_RATIO_16_9, 0, 0},			//!< 41 1280X720p 100Hz 16:9
	{720, 576, DV_HDMIRX_DEF_NON_INTERLACE, DV_HDMIRX_DEF_FIELD_RATE_OVER_60, DV_HDMIRX_DEF_RATIO_4_3, 0, 0},		//!< 42 720X576p 100Hz 4:3
	{720, 576, DV_HDMIRX_DEF_NON_INTERLACE, DV_HDMIRX_DEF_FIELD_RATE_OVER_60, DV_HDMIRX_DEF_RATIO_16_9, 0, 0},		//!< 43 720X576p 100Hz 16:9
	{1440, 576, DV_HDMIRX_DEF_INTERLACE, DV_HDMIRX_DEF_FIELD_RATE_OVER_60, DV_HDMIRX_DEF_RATIO_4_3, 1, 0},			//!< 44 720(1440)X576i 100Hz 4:3
	{1440, 576, DV_HDMIRX_DEF_INTERLACE, DV_HDMIRX_DEF_FIELD_RATE_OVER_60, DV_HDMIRX_DEF_RATIO_16_9, 1, 0},			//!< 45 720(1440)X576i 100Hz 16:9
	{1920, 1080, DV_HDMIRX_DEF_INTERLACE, DV_HDMIRX_DEF_FIELD_RATE_OVER_60, DV_HDMIRX_DEF_RATIO_16_9, 0, 0},		//!< 46 1920X1080i 119.88Hz/120Hz 16:9
	{1280, 720, DV_HDMIRX_DEF_NON_INTERLACE, DV_HDMIRX_DEF_FIELD_RATE_OVER_60, DV_HDMIRX_DEF_RATIO_16_9, 0, 0},		//!< 47 1280X720p 119.88Hz/120Hz 16:9
	{720, 480, DV_HDMIRX_DEF_NON_INTERLACE, DV_HDMIRX_DEF_FIELD_RATE_OVER_60, DV_HDMIRX_DEF_RATIO_4_3, 0, 0},		//!< 48 720X480p 119.88Hz/120Hz 4:3
	{720, 480, DV_HDMIRX_DEF_NON_INTERLACE, DV_HDMIRX_DEF_FIELD_RATE_OVER_60, DV_HDMIRX_DEF_RATIO_16_9, 0, 0},		//!< 49 720X480p 119.88Hz/120Hz 16:9
	{1440, 480, DV_HDMIRX_DEF_NON_INTERLACE, DV_HDMIRX_DEF_FIELD_RATE_OVER_60, DV_HDMIRX_DEF_RATIO_4_3, 1, 0},		//!< 50 720(1440)X480i 119.88Hz/120Hz 4:3
	{1440, 480, DV_HDMIRX_DEF_INTERLACE, DV_HDMIRX_DEF_FIELD_RATE_OVER_60, DV_HDMIRX_DEF_RATIO_16_9, 1, 0},			//!< 51 720(1440)X480i 119.88Hz/120Hz 16:9
	{720, 576, DV_HDMIRX_DEF_NON_INTERLACE, DV_HDMIRX_DEF_FIELD_RATE_OVER_60, DV_HDMIRX_DEF_RATIO_4_3, 0, 0},		//!< 52 720X576p 200Hz 4:3
	{720, 576, DV_HDMIRX_DEF_NON_INTERLACE, DV_HDMIRX_DEF_FIELD_RATE_OVER_60, DV_HDMIRX_DEF_RATIO_16_9, 0, 0},		//!< 53 720X576p 200Hz 16:9
	{1440, 576, DV_HDMIRX_DEF_INTERLACE, DV_HDMIRX_DEF_FIELD_RATE_OVER_60, DV_HDMIRX_DEF_RATIO_4_3, 1, 0},			//!< 54 720(1440)X576i 200Hz 4:3
	{1440, 576, DV_HDMIRX_DEF_INTERLACE, DV_HDMIRX_DEF_FIELD_RATE_OVER_60, DV_HDMIRX_DEF_RATIO_16_9, 1, 0},			//!< 55 720(1440)X576i 200Hz 16:9
	{720, 480, DV_HDMIRX_DEF_NON_INTERLACE, DV_HDMIRX_DEF_FIELD_RATE_OVER_60, DV_HDMIRX_DEF_RATIO_4_3, 0, 0},		//!< 56 720X480p 239.76Hz/240Hz 4:3
	{720, 480, DV_HDMIRX_DEF_NON_INTERLACE, DV_HDMIRX_DEF_FIELD_RATE_OVER_60, DV_HDMIRX_DEF_RATIO_16_9, 0, 0},		//!< 57 720X480p 239.76Hz/240Hz 16:9
	{1440, 480, DV_HDMIRX_DEF_INTERLACE, DV_HDMIRX_DEF_FIELD_RATE_OVER_60, DV_HDMIRX_DEF_RATIO_4_3, 1, 0},			//!< 58 720(1440)X480i 239.76Hz/240Hz 4:3
	{1440, 480, DV_HDMIRX_DEF_INTERLACE, DV_HDMIRX_DEF_FIELD_RATE_OVER_60, DV_HDMIRX_DEF_RATIO_16_9, 1, 0},			//!< 59 720(1440)X480i 239.76Hz/240Hz 16:9
};

TdvHdmiRxVideoFormat gHdmiRxDrvPcVideoFormatTbl[DV_HDMIRX_DEF_PC_VIDEO_TBL_NUM] = {
	{640, 400, DV_HDMIRX_DEF_NON_INTERLACE, DV_HDMIRX_DEF_FIELD_RATE_60, 0xFF, 0xFF, 0xFF},
	{720, 400, DV_HDMIRX_DEF_NON_INTERLACE, DV_HDMIRX_DEF_FIELD_RATE_60, 0xFF, 0xFF, 0xFF},
	{640, 480, DV_HDMIRX_DEF_NON_INTERLACE, DV_HDMIRX_DEF_FIELD_RATE_60, 0xFF, 0xFF, 0xFF},
	{848, 480, DV_HDMIRX_DEF_NON_INTERLACE, DV_HDMIRX_DEF_FIELD_RATE_60, 0xFF, 0xFF, 0xFF},
	{800, 600, DV_HDMIRX_DEF_NON_INTERLACE, DV_HDMIRX_DEF_FIELD_RATE_60, 0xFF, 0xFF, 0xFF},
	{1024, 768, DV_HDMIRX_DEF_NON_INTERLACE, DV_HDMIRX_DEF_FIELD_RATE_60, 0xFF, 0xFF, 0xFF},
	{1280, 768, DV_HDMIRX_DEF_NON_INTERLACE, DV_HDMIRX_DEF_FIELD_RATE_60, 0xFF, 0xFF, 0xFF},
	{1360, 768, DV_HDMIRX_DEF_NON_INTERLACE, DV_HDMIRX_DEF_FIELD_RATE_60, 0xFF, 0xFF, 0xFF},
	{1280, 1024, DV_HDMIRX_DEF_NON_INTERLACE, DV_HDMIRX_DEF_FIELD_RATE_60, 0xFF, 0xFF, 0xFF},
	{1440, 900, DV_HDMIRX_DEF_NON_INTERLACE, DV_HDMIRX_DEF_FIELD_RATE_60, 0xFF, 0xFF, 0xFF},
	{1280, 720, DV_HDMIRX_DEF_NON_INTERLACE, DV_HDMIRX_DEF_FIELD_RATE_60, 0xFF, 0xFF, 0xFF},
	/* #ADD_PC_FORMAT ADD S 2007/09/12 Y.Takeuchi */
	{640, 350, DV_HDMIRX_DEF_NON_INTERLACE, DV_HDMIRX_DEF_FIELD_RATE_60, 0xFF, 0xFF, 0xFF},
	{856, 480, DV_HDMIRX_DEF_NON_INTERLACE, DV_HDMIRX_DEF_FIELD_RATE_60, 0xFF, 0xFF, 0xFF},
	{832, 624, DV_HDMIRX_DEF_NON_INTERLACE, DV_HDMIRX_DEF_FIELD_RATE_60, 0xFF, 0xFF, 0xFF},
	{1152, 864, DV_HDMIRX_DEF_NON_INTERLACE, DV_HDMIRX_DEF_FIELD_RATE_60, 0xFF, 0xFF, 0xFF},
	{1152, 870, DV_HDMIRX_DEF_NON_INTERLACE, DV_HDMIRX_DEF_FIELD_RATE_60, 0xFF, 0xFF, 0xFF},
	{1280, 960, DV_HDMIRX_DEF_NON_INTERLACE, DV_HDMIRX_DEF_FIELD_RATE_60, 0xFF, 0xFF, 0xFF},
	/* #ADD_PC_FORMAT ADD E 2007/09/12 Y.Takeuchi */
};

TdvHdmiRxAudioFormat gHdmiRxDrvAudioFormatTbl[DV_HDMIRX_DEF_AUDIO_TBL_NUM]; 

TdvHdmiRxAudioType gHdmiRxDrvAudioTypeConversionTbl[]= {
	{0x00, 0x02,},		// Refer to Stream Header(L-PCM)
	{0x01, 0x02,},		// L-PCM
	{0x02, 0x00,},		// AC-3
	{0x03, 0x01,},		// MPEG1(Layer1 & 2)
	{0x04, 0x03,},		// MP3(MPEG1 Layer3)
	{0x05, 0x04,},		// MPEG2
	{0x06, 0x05,},		// AAC
	{0x07, 0x06,},		// DTS
	{0x08, 0x07,},		// ATRAC
	{0x09, 0x08,},		// One Bit Audio
	{0x0A, 0x09,},		// Dolby Digital +
	{0x0B, 0x0A,},		// DTS-HD
	{0x0C, 0x0B,},		// MAT(MLP)
	{0x0D, 0x0C,},		// DST
	{0x0E, 0x0D,},		// WMA Pro
	{0x0F, 0x0E,},		// Reserved
};

TdvHdmiRxSampleFreq gHdmiRxDrvSampleFreqConversionTbl[]= {
	{0x00, 0xFE,},		// Refer to Stream Header
	{0x01, 0x02,},		// 32kHz
	{0x02, 0x01,},		// 44.1kHz
	{0x03, 0x00,},		// 48kHz
	{0x04, 0x03,},		// 88.2kHz
	{0x05, 0x04,},		// 96kHz
	{0x06, 0x05,},		// 176.4kHz
	{0x07, 0x06,},		// 192kHz
};

TdvHdmiRxSampleSize gHdmiRxDrvSampleSizeConversionTbl[]= {
	{0x00, 0x00,},		// Refer to Stream Header(16bit)
	{0x01, 0x00,},		// 16bit
	{0x02, 0x01,},		// 20bit
	{0x03, 0x02,},		// 24bit
};

TdvHdmiRxChannelCount gHdmiRxDrvChannelCountConversionTbl[]= {
	{0x00, 0x00},		// Refer to Stream Header(2ch)
	{0x01, 0x00},		// 2ch
	{0x02, 0x01},		// 3ch
	{0x03, 0x02},		// 4ch
	{0x04, 0x03},		// 5ch
	{0x05, 0x04},		// 6ch
	{0x06, 0x05},		// 7ch
	{0x07, 0x06},		// 8ch
};

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -