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

📄 parse_display_cmdline.c

📁 1. 8623L平台
💻 C
📖 第 1 页 / 共 5 页
字号:
	options->hdmi_active_format_valid = FALSE;	options->hdmi_active_format = DH_af_same_as_picture;	options->hdmi_bar_top = 0;	options->hdmi_bar_bottom = 4096;	options->hdmi_bar_left = 0;	options->hdmi_bar_right = 4096;	options->hdmi_scan = EMhwlibScanInfo_NoData;	options->hdmi_spd_vendor = NULL;	options->hdmi_spd_product = NULL;	options->hdmi_spd_class = DH_source_dev_unknown;	options->tmds_threshold = 0;	options->tmds_gpio = 0;	options->filter_gpio_start = 0;	options->filter_gpio_num = 0;	options->filter_gpio_val = 0;		options->genlock_input = 0;	options->genlock_min = 0;	options->genlock_max = 0;	options->input = 0;	options->input_videosource = NULL;	options->input_mode = EMhwlibTVStandard_Custom;	options->input_timingsignal = EMhwlibDigitalTimingSignal_656;	options->input_vvld = FALSE;	options->input_bussize = 8;	options->input_invv = FALSE;	options->input_invh = FALSE;	options->input_usev2 = FALSE;	options->input_interlaced = TRUE;	options->time_interval.Mode = EMhwlibDisplayIntervalMode_None;		for (i = 0; i < 2; i++) {		options->osd_pictures[i].enable = FALSE;		options->osd_pictures[i].filename = NULL;		options->osd_pictures[i].alpha_merge = FALSE;		options->osd_pictures[i].alpha_filename = NULL;		options->osd_pictures[i].dramblock = 0;		options->osd_pictures[i].alpha = 128;		options->osd_pictures[i].scaler = 0;		options->osd_pictures[i].zoom = FALSE;		options->osd_pictures[i].color_space = EMhwlibColorSpace_None;		options->osd_pictures[i].orientation = FRTop_FCLeft;		options->osd_pictures[i].nonlinearmode.Width = 0;		options->osd_pictures[i].nonlinearmode.Level = 0;		options->osd_pictures[i].blackstrip.Horizontal = 4096;		options->osd_pictures[i].blackstrip.Vertical = 4096;		options->osd_pictures[i].cutstrip.Horizontal = 0;		options->osd_pictures[i].cutstrip.Vertical = 0;		set_default_out_window(&(options->osd_pictures[i].source_window));		set_default_out_window(&(options->osd_pictures[i].output_window));	}		options->force_DACCompDisable = FALSE;	options->DACCompDisable = FALSE;	options->force_DACDisable = FALSE;	options->DACDisable.DAC1SVideoY = FALSE;	options->DACDisable.DAC2SVideoC = FALSE;	options->DACDisable.DAC3CVBS    = FALSE;	options->DACDisable.DAC4Y  = FALSE;	options->DACDisable.DAC5Cb = FALSE;	options->DACDisable.DAC6Cr = FALSE;	options->force_LumaChromaDelay = FALSE;	options->LumaChromaDelay = EMhwlibLumaChromaDelay_NoDelay;	options->force_TripleCVBS = FALSE;	options->TripleCVBS = FALSE;	options->force_LineCrop = FALSE;	options->LineCrop.CropLeftPos = 0;	options->LineCrop.CropRightPos = 4095;	options->LineCrop.ColorSpace = options->color_space;	options->LineCrop.CropControl = FALSE;	options->gamma_table = 0;	options->disable_pixel_timer = FALSE;	options->hdmi_convert = FALSE;	options->hdmi_color_space = EMhwlibColorSpace_None;	options->hdmi_sampling_mode = EMhwlibSamplingMode_444;	options->hdmi_component_depth = 8;	options->downscalingmode.Discard = FALSE;	options->downscalingmode.FilterBoundary[0] = 384;	options->downscalingmode.FilterBoundary[1] = 256;	options->downscalingmode.FilterBoundary[2] = 128;	options->filtermode.Boundary_0_1 = 0x1400;	options->filtermode.Boundary_1_2 = 0x1c00;	options->filtermode.Boundary_2_3 = 0x2c00;		return RM_OK;}void show_display_options(void){	fprintf(stderr, "DISPLAY OPTIONS (default values inside brackets)\n"		"\t-no_disp: do not configure the outports\n"		"Select the video timing mode with either -f, -r or -vmf\n"		"\t-f standard: Sets output format, default is NTSC_M");	PrintTVStandardNames();	fprintf(stderr, "\n"		"\t\tedid (to use preferred standard from EDID info)\n"		"\t-edmode <width> <height> <vfreq> <interlaced>: use closest matching EDID short descriptor\n"		"\t-r <resolution>: shortcut for -edmode, to set common video resolutions: [pref]=EDID preferred, \n"		"\t\t480i[59], 480i60, 480p[59], 480p60, 576i[50], 576p[50], 720p50, 720p[59], 720p60, \n"		"\t\t1080i50, 1080i[59], 1080i60, 1080p23, 1080p24, 1080p50, 1080p[59], 1080p60, vga, <VIC>\n"		"\t-edforce: Force the mode selected by -edmode/-r, independent of display support\n"		"\t-vmf <filename.vmf>: specify a filename with a video mode line, used instead of -f options\n"		"\t\tWARNING: Incorrect values in the .vmf file can cause damage to the monitor or TV!\n"		"\t\tSigma Designs is not responsible for any such damage.\n"		"\t-vgaf standard: sets output format for VGA/DVI output separately \n"		"\t\tfrom analog out\n"		"\t-bcsh <brightness> <contrast> <saturation> <hue>: Set on all outputs, default: [0 128 128 0]\n"		"\t-bcssh <brightness> <contrast> <saturation Cb> <saturation Cr> <hue>: Set on all outputs, default: [0 128 128 128 0]\n"		"\t\tb: -128..127, c,s: 0..255, h: -64..64\n"		"\t-cs colorspace: Sets the output colorspace. [YCC601]\n"		"\t-mcs colorspace: Sets the mixer colorspace. [none]\n"		"\t-ocs colorspace: Sets the OSD source colorspace [none]\n"		"\tColorspaces:\n"		"\t\tlimited range (black at 16, white at 235): RGBl, YCC601, YCC709, extended gamut: xvYCC601, xvYCC709\n"		"\t\tfull range (black at 0, white at 255): RGB, YCC601f, YCC709f, extended gamut: xvYCC601f, xvYCC709f\n"		"\t-sm mode : Sets display scaling mode [letterBox] panScan ARIB\n"		"\t-asp x y: Sets display aspect ratio  (x y in [0-255] range) [4 3]\n"		"\t\t(0 0 means that the source aspect ratio is used for the display\n"		"\t\taspect ratio (used with WSS).\n"		"\t-afd <active format>: designate the portion of the screen containing actual picture information:\n"		"\t\t[none], full, 16x9top, 14x9top, 64x27, 4x3, 16x9, 14x9, 4x3_14x9, 16x9_14x9, 16x9_4x3\n"		"\t\tThe last 3 are optional clipping formats, e.g. the last is a 16x9 format that could be cropped to 4x3\n"		"\t-zoom x y w h: Selects the input window to display [0 0 width height]\n"		"\t-window x y w h: Selects the output window to display [0 0 width height] \n"		"\t\tall zoom values: 0..4095: absolute pixel, 4096..8192: 0%%..100%% relative size\n"		"\t-o output: Selects the output (shortcuts in brackets)\n"		"\t\t[svideo] composite(cvbs) dvi_8 dvi_16 dvi_24(hdmi,dvi) dig_8 dig_16 dig_24 lvds\n"		"\t\tvga scart component_rgb_scart component_rgb_sog component_rgb_smpte\n"		"\t\tcomponent_yuv_betacam component_yuv_m2 component_yuv_smpte(cav)\n"		"\t-dc <depth>: Select the color component bit depth for deep color: [8], 10, 12\n"		"\t-dvi_hdmi [siI164] siI170 siI9030 siI9034 siI9134 anx9030 lvds none - Selects supported DVI/HDMI chip\n"		"\t-hdmi_cec <chip> [<int gpio> <cec_d gpio>] - Set up CEC communication on the HDMI interface (gpios for MCX board: 15 49)\n"		"\t\tchip: [auto] 86xx SiI9181 SiI9185\n"		"\t-hdmi state - Force HDMI (AVI info frames and audio) or DVI mode (no AVI/audio), state is optional: [1] 0\n"		"\t-hdcp - Enable HDCP (only valid on siI170 and siI9030 DVI chip)\n"		"\t-edid - Display EDID information of the TV/Monitor\n"		"\t-ed n: use video format from EDID short descriptor number 'n'\n"		"\t\t(instead of detailed descriptor with '-f edid')\n"		"\t-edid_exclude <mode>: exclude certain video mode from being used with EDID\n"		"\t-edid_force <mode>: force certain video modes to be used with EDID, if available in the display\n"		"\t\t<mode> can be either of: 24hz 25hz 30hz 50hz 60hz 100hz 120hz 200hz 240hz 4x3 16x9 \n"		"\t\tsd ed hd 480i 480p 576i 576p 720p 1080i 1080p (sd = 480i, 576i, ed = 480p, 576p, hd = 720p, 1080i, 1080p)\n"		"\t\tmultiple specifications of -edid_exclude and -edid_force are possible.\n"		"\t-edid_limits <min_pix> <max_pix> <min_hfreq> <max_hfreq> <min_vfreq> <max_vfreq>: limit EDID mode\n"		"\t\tdetection to the range specified. all values in Hz. use 0 to disable a range limit.\n"		"\t\tIf all exclusions and limits leave no mode available, 640x480p will be used.\n"		"\t-edwrite <filename>: write data from file (binary, multiple of 128 bytes) to display's EDID EEPROM\n"		"\t-edread <filename>: read data from display's EDID and write to a binary file\n"		"\t-force_edid <filename>: use EDID data from the specified file instead of the display's EDID\n"		"\t-hdmi_de: Generate DE signal by HDMI chip instead of using the one from 86xx digital out\n"		"\t-hdmi_act <active format>: designate the portion of the screen containing actual picture information:\n"		"\t\t[none], full, 16x9top, 14x9top, 64x27, 4x3, 16x9, 14x9, 4x3_14x9, 16x9_14x9, 16x9_4x3\n"		"\t\tThe last 3 are optional clipping formats, e.g. the last is a 16x9 format that could be cropped to 4x3\n"		"\t-hdmi_bars <top> <bottom> <left> <right>: designate filler bars on the screen, 0..4096:\n"		"\t\ttop:end of horizontal bar at top [0], bottom: start of horizontal bar at bottom [4096]\n"		"\t\tleft:end of vertical bar at left [0], right: start of vertical bar at right [4096]\n"		"\t-hdmi_scan [under|over]: tag picture as underscanned (computer) or overscanned (video)\n"		"\t-hdmi_spd Vendor Product [<class>]: Send HDMI SPD info frame, identifying source product\n"		"\t\tclass: STB, DVD, DVHS, HDD, DVC, DSC, VCD, Game, PC, BluRay, SACD\n"		"\t-tmds_mode <gpio> <threshold>: Set GPIO pin 'gpio' to 1 when HDMI pixel clock is above 'threshold' MHz\n"		"\t-hdmi2c n [speed]: use I2C module 'n' for DVI/HDMI init (0=software, [1]=hardware, 2=built-in hdmi)\n"		"\t\tspeed: optional, I2C bus speed in kHz, default: 100\n"		"\t-hdmi_ddc_tx: use same I2C bus for DDC and Tx-Chip access (on some standalone boards)\n"		"\t-dvi_reset <GPIO>: use a GPIO pin to reset DVI chip [0](disabled) (use 4 or 11 on some standalone boards)\n"		"\t-agc_version level: Sets the macrovision version [0] 1\n"		"\t-agc level: Sets the macrovision level [0] 1 2 3\n"		"\t-aps level: Sets the aps level [0] 1 2 3\n"		"\t-cgmsa level: Sets the cgms level [0] 1 2 3\n"		"\t-rcd: Sets the rcd bit [0] 1 \n"		"\t-asb: Sets the asb bit [0] 1 \n"		"\t-vscaler scaler_index: Selects the scaler to use to display the video\n"		"\tPossible values: 'mv', 'vcr', 'gfx')"		"\t-route main vcr cb: Selects the display route to use. Default: selected by application\n"		"\t-va video_alpha_level (0..255) [128]\n"#ifndef WITH_MONO		"\t-b osd_bitmap_filename: Displays an OSD bitmap at the same time\n"			"\t-ba alpha_bitmap_filename: 8bpp-alpha bitmap to be merged with osd\n"			"\t-vgab osd_bitmap_filename: Displays an OSD bitmap on the seconday\n"		"\t\toutput (VGA)\n"		"\t-oa osd_alpha_level (0..255) [128]\n"		"\t-ozoom x y w h: Selects the osd input window to display [0 0 width height] \n"		"\t-owindow x y w h: Selects the osd output window to display [0 0 width height] \n"		"\t-odump <directory>: dumps bitmap.bin, dvi.bin and userpref.bin in\n"		"\t\the specified directory.\n"		"\t-oscaler scaler_name: Selects the scaler to use to display the osd image.\n"#endif		"\tPossible values: 'osd', 'gfx', 'mv'"#ifdef RMFEATURE_HAS_VCR_SCALER		" ,'vcr'"#endif#ifdef RMFEATURE_HAS_SPU_SCALER		" ,'spu'"#endif#ifdef RMFEATURE_HAS_VIDEO_PLANE		" ,'vp'"#endif		"\n "		"\t-lock_scaler <scaler>: lock the scaling mode to the given scaler. [none] vcr gfx crt osd spu mv\n"		"\t-vgadram: put secondary output bitmap into second DRAM bank\n"		"\t-hwc: Displays Sigma logo using the hardware cursor\n"		"\t-swap order: swaps the output's color component order [rgb] rbg grb\n"		"\t\tgbr brg bgr\n"		"\t-fs type: Selects the field selection algorithm\n"		"\t\t[type] : to select the input field ID that matches the output field ID\n"		"\t\ttime: to select the input field the most time accurate\n"		"\t\tone: to select only one field per frame\n"		"\t-strips h v : Sets display horizontal and vertical black strip mode\n"		"\t\t(h v in [0-4096] range) [4096 4096]\n"		"\t-cutstrips h v : Sets display horizontal and vertical cut strip mode\n"		"\t\t(h v in [0-4096] range) [4096 4096]\n"		"\t-nonlin w l: select non-linear scaling width (0..3) and level (0..3) [0 0]\n"		"\t\tNote: also specify '-strips 4096 0' or -nonlin will have no visible effect!\n"		"\t-stripcolor <color>: Select the color of the filler strips [black]\n"		"\t\tRGB color: #RRGGBB (hex), YCbCr601 color: <Y>/<Cb>/<Cr>, or some color names.\n"		"\t-D mode: selects the deinterlacing mode\n"		"\t\t0: Bob - no deinterlacing\n"		"\t\t1: modulated Weave (obsolete)\n"		"\t\t2: motion adaptative\n"		"\t\t3: Weave\n"		"\t-32pd: enables the 3:2 pulldown. Is only active in case of motion adaptative deinterlacing [disable]\n"		"\t-motion_config config: configures the motion deinterlacer format:V16V8V4V0\n"		"\t-d2_proportion config: configures the existing vs new field proportion in deinterlacing type 2:0xEFNF\n"		"\t-disp_init: force reinitialisation of the display\n"		"\t-cdb <boundary>: sets the color degradation boundary (0..512) [0]\n"		"\t-dp <protocol>: sets the protocol on the digital output (601, 656, vip) [601]\n"		"\t-dig_dr [0|1] : Forces whether to use the DoubleRate feature or not. Default: on for HDMI 480i/576i modes\n"		"\t-dclk: don't invert the digital video clock (inverted by default)\n"		"\t-ddr: use double data rate mode on the digital out (data on both edges of the clock)\n"		"\t-ddr_delay: set a DDR data delay (0..7) [2] -- Obsolete, use -dig_delay instead!\n"		"\t-dig_no_delay: disable the 400 pSec data delay in non-DDR mode -- Obsolete, use -dig_delay instead!\n"		"\t-dig_delay <n>: set a data delay of n picoseconds in both, DDR and non-DDR modes [2300/400]\n"		"\t-dig_clip: range clip of digital output values: 0=no clipping, [1]=1..254, 16=16..235\n"		"\t-dig_rbg: swap green/Y and blue/Cb component on digital output\n"		"\t-inv_cap_clk: invert the capture clock, when external H- and V-Sync is used for the digital sync.\n"		"\t-vsync_delay: delay the VSync on the digital output port by one pixel clock\n"		"\t-trailing_edge: enable the field ID logic on the HSync trailing edge of the digital output\n"		"\t-chroma_sync <EIA|SMPTE>: sync on Pb/Pr of component output: EIA = no sync present (default), SMPTE = sync embedded\n"		"\t-scart_en <0|1> <pio> <inv>: disable/standby (0) or enable (1) the SCART\n"		"\t\tdisplay. pio is optional, defaults to 13. inv is optional, whether to\n"		"\t\tinvert the pio polarity or not.\n"		"\t-scart_ws <0|1|a> <pio> <inv>: signal 4:3 (0) or 16:9 (1) or automatic (a) aspect ratio to\n"		"\t\tthe SCART connector. pio is optional, defaults to 14. inv is optional,\n"		"\t\twhether to invert the pio polarity or not\n"#ifdef RMFEATURE_HAS_HDSD_CONVERTER		"\t-sdf [<standard>]: Enable HD->SD conversion and set the specified SD format, or auto-detect PAL/NTSC from HDTV frame rate if no parameter\n"		"\t-sdf50 <standard>: video mode to be used for auto detection, 50 Hz [PAL_BG] (needs -sdf option)\n"		"\t-sdf60 <standard>: video mode to be used for auto detection, 59.94 and 60 Hz [NTSC_M] (needs -sdf option)\n"		"\t-sdbuf: Forces the buffered HD->SD conversion mode (needs -sdf option)\n"		"\t-sdotf: Forces the 'on-the-fly' HD->SD conversion mode (needs -sdf option)\n"		"\t-sdcav: Sets the SD standard on the component output, when HD->SD conversion is enabled (needs -sdf option)\n"		"\t-hdcav: Allows 1080p to be used on the component output, when HD->SD conversion is enabled (default: up to 1080i)\n"		"\t-sdasp x y: Sets display aspect ratio for the SD output when HD->SD conversion is enabled\n"		"\t\t(x y in [0-255] range) [4 3]\n"#endif		"\t-genlock <v|g> [<min> <max>]: Enable genlocking, sync source is either VideoIn (v) or GraphicIn (g).\n"		"\t\tmin, max: target phase range, 0..255 (256 = 360 degrees)\n"		"\t-input <v|g|v2|g2> <bus size> [<656|601|601v> <input standard> [invv] [invh]]: \n"		"\t\tSet up dummy mode on video or graphic input, for genlock.\n"			"\t-time_interval <start-end>: defines the time interval to play\n" 		"\t-dac_comp <enable>: enable or disable DAC compensation on the component output, disable: 0, enable: 1 [1]\n"		"\t-gamma <n>: Select gamma table <n>: [0]=no gama correction, 1=neutral, 2=experimental, 3=inverse\n"		"\t-lumakey <min> <max>: set the luma key range [0xff 0x00]\n"		"\t-dis_pix_timer: disable timer-based pixel clock correction (enabled by default, on SMP8634 only)\n"		"\t-hdmi_convert <colorspace> <422:444> <bits per component>: convert the 86xx video to a different format on the HDMI output\n"		"\t-filter_gpio <gpio> <num> <value>: Sets the <value> on <num> GPIO pins, starting at GPIO <gpio> (LSB first)\n"		"\t-luma_lpf <filter_no>: Forces a low pass luma filter applied to the luma. Possible values are 0 1 2 3 and auto.\n"		"\t-mv_filter <filter_no>: Forces the type of filter applied to luma and chroma. Possible values are 0 1 2 3 and auto.\n"		);	/*	  If you add or modify options here, please update the documentation at:	  http://bugs.soft.sdesigns.com/twiki/bin/view/Main/UsageDisplay 	*/}static RMstatus parse_hdmi_mask(RMascii *arg, RMuint64 *mask_res, RMuint64 *mask_vfreq, RMuint64 *mask_asp){	if      (RMCompareAscii(arg, "24hz"))  *mask_vfreq |= CEA861_MASK_24HZ;	else if (RMCompareAscii(arg, "25hz"))  *mask_vfreq |= CEA861_MASK_25HZ;	else if (RMCompareAscii(arg, "30hz"))  *mask_vfreq |= CEA861_MASK_30HZ;	else if (RMCompareAscii(arg, "50hz"))  *mask_vfreq |= CEA861_MASK_50HZ;	else if (RMCompareAscii(arg, "60hz"))  *mask_vfreq |= CEA861_MASK_60HZ;	else if (RMCompareAscii(arg, "100hz")) *mask_vfreq |= CEA861_MASK_100HZ;	else if (RMCompareAscii(arg, "120hz")) *mask_vfreq |= CEA861_MASK_120HZ;	else if (RMCompareAscii(arg, "200hz")) *mask_vfreq |= CEA861_MASK_200HZ;	else if (RMCompareAscii(arg, "240hz")) *mask_vfreq |= CEA861_MASK_240HZ;	else if (RMCompareAscii(arg, "4x3"))   *mask_asp   |= CEA861_MASK_4x3;	else if (RMCompareAscii(arg, "16x9"))  *mask_asp   |= CEA861_MASK_16x9;	else if (RMCompareAscii(arg, "vga"))   *mask_res   |= CEA861_MASK_VGA;	else if (RMCompareAscii(arg, "sd"))    *mask_res   |= CEA861_MASK_SD;	else if (RMCompareAscii(arg, "ed"))    *mask_res   |= CEA861_MASK_ED;	else if (RMCompareAscii(arg, "hd"))    *mask_res   |= CEA861_MASK_HD;	else if (RMCompareAscii(arg, "480i"))  *mask_res   |= CEA861_MASK_480I;	else if (RMCompareAscii(arg, "480p"))  *mask_res   |= CEA861_MASK_480P;	else if (RMCompareAscii(arg, "576i"))  *mask_res   |= CEA861_MASK_576I;	else if (RMCompareAscii(arg, "576p"))  *mask_res   |= CEA861_MASK_576P;	else if (RMCompareAscii(arg, "720p"))  *mask_res   |= CEA861_MASK_720P;	else if (RMCompareAscii(arg, "1080i")) *mask_res   |= CEA861_MASK_1080I;	else if (RMCompareAscii(arg, "1080p")) *mask_res   |= CEA861_MASK_1080P;	else return RM_ERROR;	return RM_OK;}static RMstatus parse_color_space(RMascii *arg, enum EMhwlibColorSpace *pColorSpace){	RMstatus err = RM_OK;		if (RMCompareAsciiCaseInsensitively(arg, "none")) {		*pColorSpace = EMhwlibColorSpace_None;	// backwards compatibility	} else if (RMCompareAscii(arg, "yuv_601")) {		*pColorSpace = EMhwlibColorSpace_YUV_601;	} else if (RMCompareAscii(arg, "yuv_709")) {		*pColorSpace = EMhwlibColorSpace_YUV_709;	} else if (RMCompareAscii(arg, "xv_601")) {		*pColorSpace = EMhwlibColorSpace_xvYCC_601;	} else if (RMCompareAscii(arg, "xv_709")) {		*pColorSpace = EMhwlibColorSpace_xvYCC_709;	} else if (RMCompareAscii(arg, "rgb_0_255")) {		*pColorSpace = EMhwlibColorSpace_RGB_0_255;	} else if (RMCompareAscii(arg, "rgb_16_235")) {		*pColorSpace = EMhwlibColorSpace_RGB_16_235;	// new notation	} else if (RMCompareAsciiCaseInsensitively(arg, "YCC601")) {		*pColorSpace = EMhwlibColorSpace_YUV_601;	} else if (RMCompareAsciiCaseInsensitively(arg, "YCC601f")) {		*pColorSpace = EMhwlibColorSpace_YUV_601_0_255;	} else if (RMCompareAsciiCaseInsensitively(arg, "YCC709")) {		*pColorSpace = EMhwlibColorSpace_YUV_709;	} else if (RMCompareAsciiCaseInsensitively(arg, "YCC709f")) {		*pColorSpace = EMhwlibColorSpace_YUV_709_0_255;	} else if (RMCompareAsciiCaseInsensitively(arg, "xvYCC601")) {		*pColorSpace = EMhwlibColorSpace_xvYCC_601;	} else if (RMCompareAsciiCaseInsensitively(arg, "xvYCC601f")) {		*pColorSpace = EMhwlibColorSpace_xvYCC_601_0_255;	} else if (RMCompareAsciiCaseInsensitively(arg, "xvYCC709")) {		*pColorSpace = EMhwlibColorSpace_xvYCC_709;	} else if (RMCompareAsciiCaseInsensitively(arg, "xvYCC709f")) {		*pColorSpace = EMhwlibColorSpace_xvYCC_709_0_255;	} else if (RMCompareAsciiCaseInsensitively(arg, "RGB")) {		*pColorSpace = EMhwlibColorSpace_RGB_0_255;	} else if (RMCompareAsciiCaseInsensitively(arg, "RGBl")) {		*pColorSpace = EMhwlibColorSpace_RGB_16_235;	} else {		err = RM_ERROR;	}		return err;}// returns TRUE if 'ch' is not the first char of another option, or potential filenamestatic RMbool opt_arg(RMascii ch) {	return (ch != '-') && (ch != '.') && (ch != '/') && (ch != '\\') && (ch != '_');}RMstatus parse_display_cmdline(int argc, char **argv, int *index, struct display_cmdline *options){	RMstatus err = RM_PENDING;	int i = *index;	RMuint32 j;

⌨️ 快捷键说明

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