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

📄 parse_audio_cmdline.c

📁 SigmDesign SMP8634 media decode chip development SDK
💻 C
📖 第 1 页 / 共 5 页
字号:
				if (!options->OutputChannelsExplicitAssign)					options->OutputChannels	= Audio_Out_Ch_LR;			}			else if ( ! (strcmp(argv[i+1], "bdlpcm")) ) {				// Bluray LPCM audio				options->Codec = AudioDecoder_Codec_PCM;				options->SubCodec = 3;				options->PcmCdaParams.ChannelAssign = PcmCda2_LR;				options->PcmCdaParams.BitsPerSample = 16;				if (!options->OutputChannelsExplicitAssign)					options->OutputChannels	= Audio_Out_Ch_LR;			}			else if ( ! (strcmp(argv[i+1], "wmapro")) ) {				options->Codec = AudioDecoder_Codec_WMAPRO;			} 			else if ( ! (strcmp(argv[i+1], "wma"))) {				options->Codec = AudioDecoder_Codec_WMA;			} 			else if ( ! (strcmp(argv[i+1], "wmats"))) {				options->Codec = AudioDecoder_Codec_WMA;				options->WmaParams.VersionNumber = 0x7a23;			} 			else if ( ! (strcmp(argv[i+1], "dts"))) {				options->Codec = AudioDecoder_Codec_DTS;			} 			else if ( ! (strcmp(argv[i+1], "dts_cd"))) {				options->Codec = AudioDecoder_Codec_DTS;				options->DtsParams.dts_CD	= TRUE;			} 			else if ( ! (strcmp(argv[i+1], "dts_20"))) {				options->Codec = AudioDecoder_Codec_DTS;/* 				options->OutputChannels = Channel_LR; */				options->DtsParams.OutputChannels	= Dts_LR;			}			else if ( ! (strcmp(argv[i+1], "dts_32"))) {				options->Codec = AudioDecoder_Codec_DTS;/* 				options->OutputChannels = Audio_Out_Ch_LCRLsRs; */				options->DtsParams.OutputChannels = Dts_LCRLsRs;			}			else if ( ! (strcmp(argv[i+1], "dvda"))) {				options->Codec = AudioDecoder_Codec_DVDA;			} 			else if ( ! (strcmp(argv[i+1], "ttone"))) {				RMDBGLOG((ENABLE, "\n&&&&&\nTTONE select\n&&&&&\n"));				options->Codec = AudioDecoder_Codec_TTONE;			}			else {				err = RM_ERROR;			}		}		else			err = RM_ERROR;				if (err != RM_ERROR)			err = RM_OK;		i+=2;	}	else if ( ! strcmp(argv[i], "-afreq")) {		if (argc > i+1) {			options->SampleRate = strtol(argv[i+1], NULL, 10);			/* if the user specified the samplerate at cmdline, we force it over the value found on the dsi */			options->ForceSampleRate = TRUE;			i += 2;			err = RM_OK;		}		else			err = RM_ERROR;	}	else if ( ! strcmp(argv[i], "-sfg1")) {		if (argc > i+1) {			options->SamplingFrequency = strtol(argv[i+1], NULL, 10);			i+=2;			err = RM_OK;		}		else			err = RM_ERROR;	}	else if ( ! strcmp(argv[i], "-extclk")) {		options->ExternalClk = TRUE;		i++;		if ((i < argc) && (argv[i][0] != '-')) {			options->ExternalClkFreq = strtol(argv[i], NULL, 10);			i++;		}		err = RM_OK;	}	else if ( ! strcmp(argv[i], "-aplay")) {			if (argc > i+1) {				options->audio_play_time.PlayMode = strtol(argv[i+1], NULL, 10);				i+=2;				err = RM_OK;			}			else				err = RM_ERROR;	}	else if ( ! strcmp(argv[i], "-astart")) {			if (argc > i+1) {			  RMuint64 startPTS;			  sscanf((const char*)argv[i+1], (const char*)"%llu", &startPTS);			  options->audio_play_time.PlayStartPTS = startPTS; 				i+=2;				err = RM_OK;			}			else				err = RM_ERROR;	}	else if ( ! strcmp(argv[i], "-astop")) {			if (argc > i+1) {			  RMuint64 stopPTS;			  sscanf((const char*)argv[i+1], (const char*)"%llu", &stopPTS);				options->audio_play_time.PlayEndPTS = stopPTS;				i+=2;				err = RM_OK;			}			else				err = RM_ERROR;	}	else if ( ! strcmp(argv[i], "-ppdmx")) {				options->ppdmx = TRUE;				i++;				err = RM_OK;	}	else if ( ! strcmp(argv[i], "-centerup")) {				options->centerup = TRUE;				i++;				err = RM_OK;	}    else if ( ! strcmp(argv[i], "-i2s_spdif")) {                if (argc > i+1) {                        RMuint32 nI2S = strtol(argv[i+1], NULL, 10);                        if (nI2S > 4)                                nI2S = 0;                        options->i2s_spdif = nI2S;                                                                                                                                                         i+=2;                        err = RM_OK;                }                else                        err = RM_ERROR;        }	else if ( ! strcmp(argv[i], "-ltrt")) {				options->OutputSurround20 = SurroundEnable;				i++;						err = RM_OK;	}	else if ( ! strcmp(argv[i], "-cdmx")) {				options->cdmx_enable = TRUE;				i++;						err = RM_OK;	}	else if ( ! strcmp(argv[i], "-nosync")) {				options->sync_stc = FALSE;				i++;						err = RM_OK;	}  	else if (RMCompareAscii(argv[i], "-x")) {		if (argc > i+1) {			RMasciiToUInt32(argv[i+1], &(options->chconfig));			i += 2;			err = RM_OK;		}		else			err = RM_ERROR;	}	else if (RMCompareAscii(argv[i], "-drc")) {		if (argc > i+1) {			RMasciiToUInt32(argv[i+1], &(options->drcenable));			i += 2;			err = RM_OK;		}		else			err = RM_ERROR;	}	else if (RMCompareAscii(argv[i], "-boost")) {		if (argc > i+1) {			RMasciiToUInt32(argv[i+1], &(options->drcboost));			i += 2;			err = RM_OK;		}		else			err = RM_ERROR;	}	else if (RMCompareAscii(argv[i], "-cut")) {		if (argc > i+1) {			RMasciiToUInt32(argv[i+1], &(options->drccut));			i += 2;			err = RM_OK;		}		else			err = RM_ERROR;	}	else if (RMCompareAscii(argv[i], "-dialref")) {		if (argc > i+1) {			RMasciiToInt32(argv[i+1], &(options->drcdialref));			i += 2;			err = RM_OK;		}		else			err = RM_ERROR;	}	else if (RMCompareAscii(argv[i], "-lossless")) {		options->lossless = TRUE;		i++;		err = RM_OK;	}	else if ( ! strcmp(argv[i], "-audioin")) {		printf("(((((((((((((********************* 2 *******************))))))))\n");		options->AudioIn = TRUE;		options->Codec = AudioDecoder_Codec_PCM;		options->SubCodec = 0;		options->PcmCdaParams.ChannelAssign = PcmCda2_LR;		options->PcmCdaParams.BitsPerSample = 16;	//24;		options->PcmCdaParams.MsbFirst = TRUE;		i++;		err = RM_OK;	}	else if ( ! strcmp(argv[i], "-aialign")) {		if (argc > i+1) {			options->AudioInAlign = strtol(argv[i+1], NULL, 10);			i+=2;			err = RM_OK;		}		else			err = RM_ERROR;	}	else if ( ! strcmp(argv[i], "-ailsbfirst")) {		options->AudioInLSBfirst = TRUE;		i++;		err = RM_OK;	}	else if ( ! strcmp(argv[i], "-i2salign")) {		if (argc > i+1) {			options->I2SAlign = strtol(argv[i+1], NULL, 10);			i+=2;			err = RM_OK;		}		else			err = RM_ERROR;	}	else if ( ! strcmp(argv[i], "-i2ssclknormal")) {		options->I2SSClkNormal = TRUE;		i++;		err = RM_OK;	}	else if ( ! strcmp(argv[i], "-i2sframenormal")) {		options->I2SFrameNormal = TRUE;		i++;		err = RM_OK;	}	else if ( ! strcmp(argv[i], "-i2slsbfirst")) {		options->I2SLSBFirst = TRUE;		i++;		err = RM_OK;	}	else if ( ! strcmp(argv[i], "-i2s16bit")) {		options->I2S16Bit = TRUE;		i++;		err = RM_OK;	}	else if ( ! strcmp(argv[i], "-source")) {		if (argc > i+1) {			options->CaptureSource = strtol(argv[i+1], NULL, 10);			i+=2;			err = RM_OK;		}		else			err = RM_ERROR;	}	else if ( ! strcmp(argv[i], "-capture_bts")) {		if (argc > i+1) {			options->CaptureBitstream = strtol(argv[i+1], NULL, 10);			i+=2;			err = RM_OK;		}		else			err = RM_ERROR;	}  	else if ( ! strcmp(argv[i], "-channel_delay")) {		if (argc > i+2) {			RMint32 ch = strtol(argv[i+1], NULL, 10);			if(ch < 0 || ch > 7){				err = RM_ERROR;			}			else{				switch(ch){				  case 0:					options->ChannelDelay.Delay_ch0 = strtol(argv[i+2], NULL, 10);					RMDBGLOG((LOCALDBG, "DELAY for CH0 is %d\n", options->ChannelDelay.Delay_ch0));					break;				  case 1:					options->ChannelDelay.Delay_ch1 = strtol(argv[i+2], NULL, 10); break;				  case 2:					options->ChannelDelay.Delay_ch2 = strtol(argv[i+2], NULL, 10); break;				  case 3:					options->ChannelDelay.Delay_ch3 = strtol(argv[i+2], NULL, 10); break;				  case 4:					options->ChannelDelay.Delay_ch4 = strtol(argv[i+2], NULL, 10); break;				  case 5:					options->ChannelDelay.Delay_ch5 = strtol(argv[i+2], NULL, 10); break;				  case 6:					options->ChannelDelay.Delay_ch6 = strtol(argv[i+2], NULL, 10); break;				  case 7:					options->ChannelDelay.Delay_ch7 = strtol(argv[i+2], NULL, 10); break;				}			  i+=3;			  err = RM_OK;			}		}		else			err = RM_ERROR;	}	else if ( ! strcmp(argv[i], "-pl2x_mode")) {		if (argc > i+1) {		options->PL2xParams.mode = strtol(argv[i+1], NULL, 10);		i+=2;		err = RM_OK;		}		else 			err = RM_ERROR;	} 	else if ( ! strcmp(argv[i], "-pl2x")) {		options->PL2xParams.on = TRUE;		i++;		err = RM_OK;	} 	else if ( ! strcmp(argv[i], "-pl2x_autoEX")) {		options->PL2xParams.autoEX = TRUE;		i++;		err = RM_OK;	} 	else if ( ! strcmp(argv[i], "-pl2x_autobal_off")) {		options->PL2xParams.a = TRUE;		i++;		err = RM_OK;	} 	else if ( ! strcmp(argv[i], "-pl2x_ShelfFilter")) {		options->PL2xParams.f = TRUE;		i++;		err = RM_OK;	} 	else if ( ! strcmp(argv[i], "-pl2x_RsPolarity")) {		options->PL2xParams.r = TRUE;		i++;		err = RM_OK;	} 	else if ( ! strcmp(argv[i], "-pl2x_Panorama")) {		options->PL2xParams.t = TRUE;		i++;		err = RM_OK;	} 	else if ( ! strcmp(argv[i], "-pl2x_CenterWidth")) {		if (argc > i+1) {		options->PL2xParams.w = strtol(argv[i+1], NULL, 10);		i+=2;		err = RM_OK;		}		else 			err = RM_ERROR;	} 	else if ( ! strcmp(argv[i], "-pl2x_InvMatrix")) {		options->PL2xParams.x = TRUE;		i++;		err = RM_OK;	} 	else if ( ! strcmp(argv[i], "-pl2x_DimCtrl")) {		if (argc > i+1) {		options->PL2xParams.d = strtol(argv[i+1], NULL, 10);		i+=2;		err = RM_OK;		}		else 			err = RM_ERROR;	} 	else if ( ! strcmp(argv[i], "-type")) {		if (argc > i+1) {			options->CaptureType = strtol(argv[i+1], NULL, 10);			i+=2;

⌨️ 快捷键说明

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