📄 parse_display_cmdline.c
字号:
err = RM_ERROR; } else if (RMCompareAscii(argv[i], "-asp")) { if (argc > i+2) { RMasciiToUInt32(argv[i+1], &(options->ar_x)); RMasciiToUInt32(argv[i+2], &(options->ar_y)); i += 3; err = RM_OK; } else err = RM_ERROR; } else if (RMCompareAscii(argv[i], "-afd")) { if (argc > i+1) { options->active_format_valid = TRUE; if (RMCompareAscii(argv[i+1], "none")) { options->active_format_valid = FALSE; } else if (RMCompareAscii(argv[i+1], "full")) { options->active_format = EMhwlibAF_same_as_picture; } else if (RMCompareAscii(argv[i+1], "16x9top")) { options->active_format = EMhwlibAF_16x9_top; } else if (RMCompareAscii(argv[i+1], "14x9top")) { options->active_format = EMhwlibAF_14x9_top; } else if (RMCompareAscii(argv[i+1], "64x27")) { options->active_format = EMhwlibAF_64x27_centered; } else if (RMCompareAscii(argv[i+1], "4x3")) { options->active_format = EMhwlibAF_4x3_centered; } else if (RMCompareAscii(argv[i+1], "16x9")) { options->active_format = EMhwlibAF_16x9_centered; } else if (RMCompareAscii(argv[i+1], "14x9")) { options->active_format = EMhwlibAF_14x9_centered; } else if (RMCompareAscii(argv[i+1], "4x3_14x9")) { options->active_format = EMhwlibAF_4x3_centered_prot_14x9; } else if (RMCompareAscii(argv[i+1], "16x9_14x9")) { options->active_format = EMhwlibAF_16x9_centered_prot_14x9; } else if (RMCompareAscii(argv[i+1], "16x9_4x3")) { options->active_format = EMhwlibAF_16x9_centered_prot_4x3; } else { err = RM_ERROR; } if (err != RM_ERROR) err = RM_OK; i += 2; } else err = RM_ERROR; } else if (RMCompareAscii(argv[i], "-zoom")) { if (argc > i+4) { RMuint32 x, y, w, h; RMasciiToInt32(argv[i+1], (RMint32*)&x); RMasciiToInt32(argv[i+2], (RMint32*)&y); RMasciiToUInt32(argv[i+3], &w); RMasciiToUInt32(argv[i+4], &h); options->source_window.X = (x >= ZOOM_0) ? (x - ZOOM_0) : x; options->source_window.Y = (y >= ZOOM_0) ? (y - ZOOM_0) : y; options->source_window.Width = (w >= ZOOM_0) ? (w - ZOOM_0) : w; options->source_window.Height = (h >= ZOOM_0) ? (h - ZOOM_0) : h; options->source_window.XPositionMode = EMhwlibDisplayWindowPositionMode_FrontEdgeToBorder; options->source_window.YPositionMode = EMhwlibDisplayWindowPositionMode_FrontEdgeToBorder; options->source_window.XMode = (x >= ZOOM_0) ? EMhwlibDisplayWindowValueMode_Relative : EMhwlibDisplayWindowValueMode_Fixed; options->source_window.YMode = (y >= ZOOM_0) ? EMhwlibDisplayWindowValueMode_Relative : EMhwlibDisplayWindowValueMode_Fixed; options->source_window.WidthMode = (w >= ZOOM_0) ? EMhwlibDisplayWindowValueMode_Relative : EMhwlibDisplayWindowValueMode_Fixed; options->source_window.HeightMode = (h >= ZOOM_0) ? EMhwlibDisplayWindowValueMode_Relative : EMhwlibDisplayWindowValueMode_Fixed; i += 5; err = RM_OK; } else err = RM_ERROR; } else if (RMCompareAscii(argv[i], "-window")) { if (argc > i+4) { RMasciiToInt32(argv[i+1], &(options->output_window.X)); RMasciiToInt32(argv[i+2], &(options->output_window.Y)); RMasciiToUInt32(argv[i+3], &(options->output_window.Width)); RMasciiToUInt32(argv[i+4], &(options->output_window.Height)); options->output_window.XPositionMode = EMhwlibDisplayWindowPositionMode_FrontEdgeToBorder; options->output_window.YPositionMode = EMhwlibDisplayWindowPositionMode_FrontEdgeToBorder; options->output_window.XMode = EMhwlibDisplayWindowValueMode_Fixed; options->output_window.YMode = EMhwlibDisplayWindowValueMode_Fixed; options->output_window.WidthMode = EMhwlibDisplayWindowValueMode_Fixed; options->output_window.HeightMode = EMhwlibDisplayWindowValueMode_Fixed; i += 5; err = RM_OK; } else err = RM_ERROR; } else if (RMCompareAscii(argv[i], "-vscaler")) { if (argc > i+1) { err = RM_OK; if(RMCompareAscii(argv[i+1], "mv") || RMCompareAscii(argv[i+1], "0")) { options->video_scaler = 0; } else if(RMCompareAscii(argv[i+1], "vcr") || RMCompareAscii(argv[i+1], "1")) { options->video_scaler = 1; } else if(RMCompareAscii(argv[i+1], "gfx") || RMCompareAscii(argv[i+1], "2")) { options->video_scaler = 2; } else err = RM_ERROR; i += 2; } else err = RM_ERROR; } else if (RMCompareAscii(argv[i], "-va") ){ if (argc> i+1) { RMasciiToUInt32(argv[i+1], &options->video_alpha); if (options->video_alpha > 0xFF) err = RM_ERROR; else { i += 2; err = RM_OK; } } else err = RM_ERROR; } else if (RMCompareAscii(argv[i], "-lock_scaler")) { if (argc > i+1) { err = RM_OK; if(RMCompareAscii(argv[i+1], "osd")) { options->lock_scaler = DispOSDScaler; } else if(RMCompareAscii(argv[i+1], "gfx")) { options->lock_scaler = DispGFXMultiScaler; } else if(RMCompareAscii(argv[i+1], "vcr")) { options->lock_scaler = DispVCRMultiScaler; } else if(RMCompareAscii(argv[i+1], "crt")) { options->lock_scaler = DispCRTMultiScaler; } else if(RMCompareAscii(argv[i+1], "spu")) { options->lock_scaler = DispSubPictureScaler; } else if(RMCompareAscii(argv[i+1], "mv")) { options->lock_scaler = DispMainVideoScaler; } else err = RM_ERROR; i += 2; } else err = RM_ERROR; }#ifndef WITH_MONO else if (RMCompareAscii(argv[i], "-ozoom")) { if (argc > i+4) { options->osd_pictures[0].zoom = TRUE; RMasciiToInt32(argv[i+1], &(options->osd_pictures[0].source_window.X)); RMasciiToInt32(argv[i+2], &(options->osd_pictures[0].source_window.Y)); RMasciiToUInt32(argv[i+3], &(options->osd_pictures[0].source_window.Width)); RMasciiToUInt32(argv[i+4], &(options->osd_pictures[0].source_window.Height)); options->osd_pictures[0].source_window.XPositionMode = EMhwlibDisplayWindowPositionMode_FrontEdgeToBorder; options->osd_pictures[0].source_window.YPositionMode = EMhwlibDisplayWindowPositionMode_FrontEdgeToBorder; options->osd_pictures[0].source_window.XMode = EMhwlibDisplayWindowValueMode_Fixed; options->osd_pictures[0].source_window.YMode = EMhwlibDisplayWindowValueMode_Fixed; options->osd_pictures[0].source_window.WidthMode = EMhwlibDisplayWindowValueMode_Fixed; options->osd_pictures[0].source_window.HeightMode = EMhwlibDisplayWindowValueMode_Fixed; i += 5; err = RM_OK; } else err = RM_ERROR; } else if (RMCompareAscii(argv[i], "-ocs")) { if (argc > i+1) { err = parse_color_space(argv[i + 1], &(options->osd_pictures[0].color_space)); i += 2; } else err = RM_ERROR; } else if (RMCompareAscii(argv[i], "-owindow")) { if (argc > i+4) { RMasciiToInt32(argv[i+1], &(options->osd_pictures[0].output_window.X)); RMasciiToInt32(argv[i+2], &(options->osd_pictures[0].output_window.Y)); RMasciiToUInt32(argv[i+3], &(options->osd_pictures[0].output_window.Width)); RMasciiToUInt32(argv[i+4], &(options->osd_pictures[0].output_window.Height)); options->osd_pictures[0].output_window.XPositionMode = EMhwlibDisplayWindowPositionMode_FrontEdgeToBorder; options->osd_pictures[0].output_window.YPositionMode = EMhwlibDisplayWindowPositionMode_FrontEdgeToBorder; options->osd_pictures[0].output_window.XMode = EMhwlibDisplayWindowValueMode_Fixed; options->osd_pictures[0].output_window.YMode = EMhwlibDisplayWindowValueMode_Fixed; options->osd_pictures[0].output_window.WidthMode = EMhwlibDisplayWindowValueMode_Fixed; options->osd_pictures[0].output_window.HeightMode = EMhwlibDisplayWindowValueMode_Fixed; i += 5; err = RM_OK; } else err = RM_ERROR; } else if (RMCompareAscii(argv[i], "-b")) { if(argc > i+1 ){ if (argv[i+1][0]!='-') { options->osd_pictures[0].filename = argv[i+1]; options->osd_pictures[0].enable = TRUE; i+=2; err = RM_OK; } else err = RM_ERROR; } else err = RM_ERROR; } else if (RMCompareAscii(argv[i], "-ba")) { if(argc > i+1 ){ if (argv[i+1][0]!='-') { options->osd_pictures[0].alpha_filename = argv[i+1]; options->osd_pictures[0].alpha_merge = TRUE; i+=2; err = RM_OK; } else err = RM_ERROR; } else err = RM_ERROR; } else if (RMCompareAscii(argv[i], "-vgab")) { if(argc > i+1 ){ if (argv[i+1][0]!='-') { options->osd_pictures[1].filename = argv[i+1]; options->osd_pictures[1].enable = TRUE; i+=2; err = RM_OK; } else err = RM_ERROR; } else err = RM_ERROR; } else if (RMCompareAscii(argv[i], "-oa") ){ if (argc> i+1) { RMasciiToUInt32(argv[i+1], &options->osd_pictures[0].alpha); if (options->agc_level > 0xFF) err = RM_ERROR; else { i += 2; err = RM_OK; } } else err = RM_ERROR; } else if (RMCompareAscii(argv[i], "-odump")) { if (argc > i+1) { options->dump_osd_dir = argv[i+1]; i += 2; err = RM_OK; } else err = RM_ERROR; } else if (RMCompareAscii(argv[i], "-oscaler")) { if (argc > i+1) { err = RM_OK; RMDBGLOG((ENABLE, "oscaler is %s\n", argv[i+1])); if(RMCompareAscii(argv[i+1], "osd") || RMCompareAscii(argv[i+1], "0")) { options->osd_pictures[0].scaler = 0; } else if(RMCompareAscii(argv[i+1], "gfx") || RMCompareAscii(argv[i+1], "1")) { options->osd_pictures[0].scaler = 1; } else if(RMCompareAscii(argv[i+1], "mv") || RMCompareAscii(argv[i+1], "2")) { options->osd_pictures[0].scaler = 2; } else if(RMCompareAscii(argv[i+1], "vcr") || RMCompareAscii(argv[i+1], "3")) { options->osd_pictures[0].scaler = 3; } else if(RMCompareAscii(argv[i+1], "spu") || RMCompareAscii(argv[i+1], "5")) { options->osd_pictures[0].scaler = 5; } else if(RMCompareAscii(argv[i+1], "vp") || RMCompareAscii(argv[i+1], "6")) { options->osd_pictures[0].scaler = 6; } else err = RM_ERROR; i += 2; } else err = RM_ERROR; }#endif /*WITH_MONO*/ else if (RMCompareAscii(argv[i], "-route")) { if (argc > i+1) { err = RM_OK; options->force_route = TRUE; if(RMCompareAscii(argv[i+1], "main")) { options->route = DCCRoute_Main; } else if(RMCompareAscii(argv[i+1], "cb")) { options->route = DCCRoute_ColorBars; }#ifdef RMFEATURE_HAS_VCR_CHANNEL else if(RMCompareAscii(argv[i+1], "vcr")) { options->route = DCCRoute_Secondary; }#endif else err = RM_ERROR; i += 2; } else err = RM_ERROR; } else if (RMCompareAscii(argv[i], "-agc_version")) { if (argc > i+1) { RMasciiToUInt32(argv[i+1], &(options->agc_version)); if (options->agc_version > EMhwlibAGCVersion_AlternateBPP) err = RM_ERROR; else { i += 2; err = RM_OK; } } else err = RM_ERROR; } else if (RMCompareAscii(argv[i], "-agc")) { if (argc > i+1) { RMasciiToUInt32(argv[i+1], &(options->agc_level)); if (options->agc_level > 3) err = RM_ERROR; else { i += 2; err = RM_OK; } } else err = RM_ERROR; } else if (RMCompareAscii(argv[i], "-aps")) { if (argc > i+1) { RMasciiToUInt32(argv[i+1], &(options->aps_level)); if (options->aps_level > 3) err = RM_ERROR; else { i += 2; err = RM_OK; } } else err = RM_ERROR; }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -