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

📄 parse_display_cmdline.c

📁 1. 8623L平台
💻 C
📖 第 1 页 / 共 5 页
字号:
	else if (RMCompareAscii(argv[i], "-rcd")) {		if (argc > i+1) {			RMasciiToUInt32(argv[i+1], &(options->rcd));			if (options->rcd > 1)				err = RM_ERROR;			else {				i += 2;				err = RM_OK;			}		}		else			err = RM_ERROR;	}	else if (RMCompareAscii(argv[i], "-asb")) {		if (argc > i+1) {			RMasciiToUInt32(argv[i+1], &(options->asb));			if (options->asb > 1)				err = RM_ERROR;			else {				i += 2;				err = RM_OK;			}		}		else			err = RM_ERROR;	}	else if (RMCompareAscii(argv[i], "-cgmsa")) {		if (argc > i+1) {			RMasciiToUInt32(argv[i+1], &options->cgmsa);			if (options->cgmsa > 3)				err = RM_ERROR;			else {				i += 2;				err = RM_OK;			}		}		else			err = RM_ERROR;	}	else if (RMCompareAscii(argv[i], "-hwc")) {		options->show_hwc = TRUE;		i++;		err = RM_OK;	}	else if (RMCompareAscii(argv[i], "-vgadram")) {		options->osd_pictures[1].dramblock = 1;		i++;		err = RM_OK;		}	else if (RMCompareAscii(argv[i], "-nonlin")) {		if (argc > i+2) {			RMasciiToUInt32(argv[i+1], &(options->nonlinearmode.Width));			RMasciiToUInt32(argv[i+2], &(options->nonlinearmode.Level));			if ((options->nonlinearmode.Width > 3) || (options->nonlinearmode.Level > 3)) {				err = RM_ERROR;			} else {				i += 3;				err = RM_OK;			}		}		else			err = RM_ERROR;	}	else if (RMCompareAscii(argv[i], "-swap")) {		if (argc > i+1) {			if(RMCompareAscii(argv[i+1], "rgb")) {				options->component_order = EMhwlibComponentOrder_RGB;			}			else if(RMCompareAscii(argv[i+1], "rbg")) {				options->component_order = EMhwlibComponentOrder_RBG;			}			else if(RMCompareAscii(argv[i+1], "grb")) {				options->component_order = EMhwlibComponentOrder_GRB;			}			else if(RMCompareAscii(argv[i+1], "gbr")) {				options->component_order = EMhwlibComponentOrder_GBR;			}			else if(RMCompareAscii(argv[i+1], "brg")) {				options->component_order = EMhwlibComponentOrder_BRG;			}			else if(RMCompareAscii(argv[i+1], "bgr")) {				options->component_order = EMhwlibComponentOrder_BGR;			}			else				err = RM_ERROR;			if (err != RM_ERROR)				err = RM_OK;			i += 2;		}		else			err = RM_ERROR;	}	else if (RMCompareAscii(argv[i], "-fs")) {		if (argc > i+1) {			if (RMCompareAscii(argv[i+1], "time")) {				options->field_selection = EMhwlibScalerFieldSelection_BestFieldTime;			}			else if (RMCompareAscii(argv[i+1], "type")) {				options->field_selection = EMhwlibScalerFieldSelection_BestFieldType;			}			else if (RMCompareAscii(argv[i+1], "one")) {				options->field_selection = EMhwlibScalerFieldSelection_OneField;			}			else				err = RM_ERROR;			if (err != RM_ERROR)				err = RM_OK;			i += 2;		}		else			err = RM_ERROR;	}	else if (RMCompareAscii(argv[i], "-dvi_hdmi")) {		if (argc > i+1) {			if (RMCompareAscii(argv[i+1], "siI164")) {				options->dvi_hdmi_part = DH_siI164;			} else if (RMCompareAscii(argv[i+1], "siI170")) {				options->dvi_hdmi_part = DH_siI170;			} else if (RMCompareAscii(argv[i+1], "siI9030")) {				options->dvi_hdmi_part = DH_siI9030;			} else if (RMCompareAscii(argv[i+1], "siI9034")) {				options->dvi_hdmi_part = DH_siI9034;			} else if (RMCompareAscii(argv[i+1], "siI9134")) {				options->dvi_hdmi_part = DH_siI9134;			} else if (RMCompareAscii(argv[i+1], "anx9030")) {				options->dvi_hdmi_part = DH_ANX9030;			} else if (RMCompareAscii(argv[i+1], "lvds")) {				options->dvi_hdmi_part = DH_lvds;			} else if (RMCompareAscii(argv[i+1], "none")) {				options->dvi_hdmi_part = DH_no_chip;			}			else				err = RM_ERROR;			if (err != RM_ERROR)				err = RM_OK;			i += 2;		}		else			err = RM_ERROR;	}	else if (RMCompareAscii(argv[i], "-hdmi_cec")) {		if (argc > i+1) {			if (RMCompareAscii(argv[i+1], "auto")) {				options->hdmi_cec_part_request = DH_CEC_auto_detect;			} else if (RMCompareAscii(argv[i+1], "none")) {				options->hdmi_cec_part_request = DH_CEC_no_chip;			} else if (RMCompareAscii(argv[i+1], "86xx")) {				options->hdmi_cec_part_request = DH_CEC_SMP86xx;			} else if (RMCompareAscii(argv[i+1], "SiI9181")) {				options->hdmi_cec_part_request = DH_CEC_SiI9181;			} else if (RMCompareAscii(argv[i+1], "SiI9185")) {				options->hdmi_cec_part_request = DH_CEC_SiI9185;			} else {				err = RM_ERROR;			}			if (err != RM_ERROR) {				err = RM_OK;				if ((argc > i+3) && opt_arg(argv[i+2][0])) {					RMuint32 p;					RMasciiToUInt32(argv[i + 2], &p);					options->hdmi_cec_int = (enum GPIOId_type)p;					RMasciiToUInt32(argv[i + 3], &p);					options->hdmi_cec_d = (enum GPIOId_type)p;					i += 2;				}			}			i += 2;		}		else			err = RM_ERROR;	}	else if (RMCompareAscii(argv[i], "-hdmi")) {		options->hdmi_force = TRUE;		options->hdmi_monitor = TRUE;  // force HDMI		i++;		if ((argc > i) && opt_arg(argv[i][0])) {			// optional argument: force DVI or HDMI			options->hdmi_monitor = ((argv[i][0] == '0') || (argv[i][0] == 'd') || (argv[i][0] == 'D')) ? FALSE : TRUE;			i++;		}		err = RM_OK;	}	else if (RMCompareAscii(argv[i], "-hdcp")) {		options->dvi_hdmi_hdcp = TRUE;		i++;		err = RM_OK;	}	else if (RMCompareAscii(argv[i], "-edid")) {		options->dvi_hdmi_display_edid = TRUE;		i++;		err = RM_OK;	}	else if (RMCompareAscii(argv[i], "-hdmi_de")) {		options->hdmi_de = TRUE;		i++;		err = RM_OK;	}	else if (RMCompareAscii(argv[i], "-no_disp")) {		options->configure_outports = FALSE;		i++;		err = RM_OK;	}	else if (RMCompareAscii(argv[i], "-edmode")) {		if (argc > i + 4) {			RMuint32 intl;			RMasciiToUInt32(argv[i + 1], &(options->dvi_hdmi_edid_hsize));			RMasciiToUInt32(argv[i + 2], &(options->dvi_hdmi_edid_vsize));			RMasciiToUInt32(argv[i + 3], &(options->dvi_hdmi_edid_vfreq));			if ((argv[i + 4][0] == 'p') || (argv[i + 4][0] == 'P')) {				intl = FALSE;			} else if ((argv[i + 4][0] == 'i') || (argv[i + 4][0] == 'I')) {				intl = TRUE;			} else {				RMasciiToUInt32(argv[i + 4], &intl);			}			options->dvi_hdmi_edid_intl = (intl ? TRUE : FALSE);			options->standard = EMhwlibTVStandard_HDMI_480p59;  // fallback standard			if (options->edid_sel != DH_EDID_fmatch) {				options->edid_sel = DH_EDID_match;			}			i += 5;			err = RM_OK;		}		else err = RM_ERROR;	}	else if (RMCompareAscii(argv[i], "-edforce")) {		if (options->edid_sel == DH_EDID_none) {			options->standard = EMhwlibTVStandard_HDMI_480p59;  // fallback standard		}		options->edid_sel = DH_EDID_fmatch;		i++;		err = RM_OK;	}	else if (RMCompareAscii(argv[i], "-edid_exclude")) {		i++;		if (argc <= i) err = RM_ERROR;		while ((err != RM_ERROR) && (argc > i) && opt_arg(argv[i][0])) {			err = parse_hdmi_mask(argv[i], &(options->edid_exclude_mask), &(options->edid_exclude_mask_vfreq), &(options->edid_exclude_mask_asp));			if (RMSUCCEEDED(err)) {				options->standard = EMhwlibTVStandard_HDMI_480p59;  // fallback standard				options->edid_sel = DH_EDID_mask;			}			i++;		}	}	else if (RMCompareAscii(argv[i], "-edid_force")) {		i++;		if (argc <= i) err = RM_ERROR;		while ((err != RM_ERROR) && (argc > i) && opt_arg(argv[i][0])) {			err = parse_hdmi_mask(argv[i], &(options->edid_force_mask), &(options->edid_force_mask_vfreq), &(options->edid_force_mask_asp));			if (RMSUCCEEDED(err)) {				options->standard = EMhwlibTVStandard_HDMI_480p59;  // fallback standard				options->edid_sel = DH_EDID_mask;			}			i++;		}	}	else if (RMCompareAscii(argv[i], "-edid_limits")) {		options->edid_min_pixclk = 0;		options->edid_max_pixclk = 0;		options->edid_min_hfreq = 0;		options->edid_max_hfreq = 0;		options->edid_min_vfreq = 0;		options->edid_max_vfreq = 0;		i++;		if ((argc > i) && opt_arg(argv[i][0])) {			RMasciiToUInt32(argv[i], &(options->edid_min_pixclk));			i++;			if ((argc > i) && opt_arg(argv[i][0])) {				RMasciiToUInt32(argv[i], &(options->edid_max_pixclk));				i++;				if ((argc > i) && opt_arg(argv[i][0])) {					RMasciiToUInt32(argv[i], &(options->edid_min_hfreq));					i++;					if ((argc > i) && opt_arg(argv[i][0])) {						RMasciiToUInt32(argv[i], &(options->edid_max_hfreq));						i++;						if ((argc > i) && opt_arg(argv[i][0])) {							RMasciiToUInt32(argv[i], &(options->edid_min_vfreq));							i++;							if ((argc > i) && opt_arg(argv[i][0])) {								RMasciiToUInt32(argv[i], &(options->edid_max_vfreq));								i++;							}						}					}				}			}		}		if (options->edid_sel == DH_EDID_none) {			options->standard = EMhwlibTVStandard_HDMI_480p59;  // fallback standard			options->edid_sel = DH_EDID_mask;		}		err = RM_OK;	}	else if (RMCompareAscii(argv[i], "-edwrite")) {		if (argc > i + 1) {			options->dvi_hdmi_edid_write = TRUE;			options->dvi_hdmi_edid_file = argv[i + 1];			i += 2;			err = RM_OK;		} else {			err = RM_ERROR;		}	}	else if (RMCompareAscii(argv[i], "-edread")) {		if (argc > i + 1) {			options->dvi_hdmi_edid_read = TRUE;			options->dvi_hdmi_edid_file = argv[i + 1];			i += 2;			err = RM_OK;		} else {			err = RM_ERROR;		}	}	else if (RMCompareAscii(argv[i], "-force_edid")) {		if (argc > i + 1) {			options->dvi_hdmi_edid_override = TRUE;			options->dvi_hdmi_edid_file = argv[i + 1];			i += 2;			err = RM_OK;		} else {			err = RM_ERROR;		}	}	else if (RMCompareAscii(argv[i], "-ed")) {		if (argc > i+1) {			if (argv[i + 1][0] == 'n') {				options->edid_sel = DH_EDID_native;			} else {				RMasciiToUInt32(argv[i+1], &(options->dvi_hdmi_edid_descriptor));				options->edid_sel = DH_EDID_force;			}			options->standard = EMhwlibTVStandard_HDMI_480p59;  // fallback standard			i += 2;			err = RM_OK;		}		else err = RM_ERROR;	}	else if (RMCompareAscii(argv[i], "-hdmi2c")) {		if (argc > i+1) {			RMasciiToUInt32(argv[i+1], &(options->i2c_module));			i += 2;			if ((argc > i) && (argv[i][0] >= '0') && (argv[i][0] <= '9')) {				RMasciiToUInt32(argv[i], &(options->i2c_speed));				i++;			}			err = RM_OK;		}		else err = RM_ERROR;	}	else if (RMCompareAscii(argv[i], "-hdmi_ddc_tx")) {		options->i2c

⌨️ 快捷键说明

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