📄 parse_audio_cmdline.c
字号:
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 + -