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

📄 parse_audio_cmdline.c

📁 1. 8623L平台
💻 C
📖 第 1 页 / 共 5 页
字号:
			if ( !(strcmp(argv[i+1], "auto"))) {				options->auto_detect_codec = TRUE;				RMDBGLOG((LOCALDBG, "\n\n\n\n\n********************** AUDIO CODEC: AUTO ***************\n\n\n\n"));			}			else if ( ! (strcmp(argv[i+1], "ac3")) || ! (strcmp(argv[i+1], "ac3_20"))) {				options->Codec = AudioDecoder_Codec_AC3;				options->Ac3Params.OutputChannels = Ac3_LR;								if (!options->OutputChannelsExplicitAssign)					options->OutputChannels = Audio_Out_Ch_LR;			} 			else if ( ! (strcmp(argv[i+1], "ac3_32"))) {				options->Codec = AudioDecoder_Codec_AC3;				options->Ac3Params.OutputChannels = Ac3_LCRLsRs;								if (!options->OutputChannelsExplicitAssign)					options->OutputChannels = Audio_Out_Ch_LCRLsRs;			} 			else if ( ! (strcmp(argv[i+1], "ec3"))) {				RMDBGLOG((LOCALDBG, "ec3 codec: will set codec to ac3 and use rmec3transcode lib\n"));				options->Codec = AudioDecoder_Codec_AC3;				options->Ac3Params.OutputChannels = Ac3_LR;								if (!options->OutputChannelsExplicitAssign)					options->OutputChannels = Audio_Out_Ch_LR;									options->transcode_ec3_to_ac3 = TRUE;			} 			else if ( ! (strcmp(argv[i+1], "mpeg"))) {				options->Codec = AudioDecoder_Codec_MPEG1;			}						else if ( ! (strcmp(argv[i+1], "aac0")) || ! (strcmp(argv[i+1], "aac0_20"))) {				options->Codec = AudioDecoder_Codec_AAC;				options->AACParams.InputFormat = 0; // adif, no sync word				options->AACParams.OutputChannels = Aac_LR;								if (!options->OutputChannelsExplicitAssign)					options->OutputChannels = Audio_Out_Ch_LR;			}			else if ( ! (strcmp(argv[i+1], "aac0_32"))) {				options->Codec = AudioDecoder_Codec_AAC;				options->AACParams.InputFormat = 0; // adif, no sync word				options->AACParams.OutputChannels = Aac_LCRLsRs;								if (!options->OutputChannelsExplicitAssign)					options->OutputChannels = Audio_Out_Ch_LCRLsRs;			}			else if ( ! (strcmp(argv[i+1], "aac1")) || ! (strcmp(argv[i+1], "aac1_20"))) {				options->Codec = AudioDecoder_Codec_AAC;				options->AACParams.InputFormat = 1; // adts, with sync word per frame				options->AACParams.OutputChannels = Aac_LR;								if (!options->OutputChannelsExplicitAssign)					options->OutputChannels = Audio_Out_Ch_LR;			}			else if ( ! (strcmp(argv[i+1], "aac1_32"))) {				options->Codec = AudioDecoder_Codec_AAC;				options->AACParams.InputFormat = 1; // adts, with sync word per frame				options->AACParams.OutputChannels = Aac_LCRLsRs;								if (!options->OutputChannelsExplicitAssign)					options->OutputChannels = Audio_Out_Ch_LCRLsRs;			}						else if ( ! (strcmp(argv[i+1], "aac2")) || ! (strcmp(argv[i+1], "aac2_20"))) {				options->Codec = AudioDecoder_Codec_AAC;				options->AACParams.InputFormat = 2; // dsi, no sync word				options->AACParams.OutputChannels = Aac_LR;								if (!options->OutputChannelsExplicitAssign)					options->OutputChannels = Audio_Out_Ch_LR;			}			else if ( ! (strcmp(argv[i+1], "aac2_32"))) {				options->Codec = AudioDecoder_Codec_AAC;				options->AACParams.InputFormat = 2; // dsi, no sync word				options->AACParams.OutputChannels = Aac_LCRLsRs;								if (!options->OutputChannelsExplicitAssign)					options->OutputChannels = Audio_Out_Ch_LCRLsRs;			}			else if ( ! (strcmp(argv[i+1], "aac3")) || ! (strcmp(argv[i+1], "aac3_20"))) {				options->Codec = AudioDecoder_Codec_AAC;				options->AACParams.InputFormat = 3; // latm, with sync word per multi-frames				options->AACParams.OutputChannels = Aac_LR;								if (!options->OutputChannelsExplicitAssign)					options->OutputChannels = Audio_Out_Ch_LR;			}			else if ( ! (strcmp(argv[i+1], "aac3_32"))) {				options->Codec = AudioDecoder_Codec_AAC;				options->AACParams.InputFormat = 3; // latm, with sync word per multi-frames				options->AACParams.OutputChannels = Aac_LCRLsRs;								if (!options->OutputChannelsExplicitAssign)					options->OutputChannels = Audio_Out_Ch_LCRLsRs;			}			else if ( ! (strcmp(argv[i+1], "bsac"))) {				options->Codec = AudioDecoder_Codec_BSAC;				options->BSACParams.InputFormat = 1; // adif, no sync word				options->BSACParams.OutputChannels = Dts_LR;       // need to be updated !!!			}			else if ( ! (strcmp(argv[i+1], "pcm24")) || ! (strcmp(argv[i+1], "pcm24_2"))) {				options->Codec = AudioDecoder_Codec_PCM;				options->SubCodec = 0;				options->PcmCdaParams.ChannelAssign = PcmCda2_LR;				options->PcmCdaParams.BitsPerSample = 24;								if (!options->OutputChannelsExplicitAssign)					options->OutputChannels = Audio_Out_Ch_LR;			}			else if ( ! (strcmp(argv[i+1], "pcmx"))) { //pcmx codec, all information need to be written in header				options->Codec = AudioDecoder_Codec_PCMX;			}			else if ( ! (strcmp(argv[i+1], "pcm24_6"))) {				options->Codec = AudioDecoder_Codec_PCM;				options->SubCodec = 0;				options->PcmCdaParams.ChannelAssign = PcmCda6_LfRfCLfeLsRs;				options->PcmCdaParams.BitsPerSample = 24;								if (!options->OutputChannelsExplicitAssign)					options->OutputChannels = Audio_Out_Ch_LCRLsRs;			}			else if ( ! (strcmp(argv[i+1], "pcm16_2"))) {				options->Codec = AudioDecoder_Codec_PCM;				options->SubCodec = 0;				options->PcmCdaParams.ChannelAssign = PcmCda2_LR;				options->PcmCdaParams.BitsPerSample = 16;								if (!options->OutputChannelsExplicitAssign)					options->OutputChannels = Audio_Out_Ch_LR;			}			else if ( ! (strcmp(argv[i+1], "pcm16_1"))) {				options->Codec = AudioDecoder_Codec_PCM;				options->SubCodec = 0;				options->PcmCdaParams.ChannelAssign = PcmCda1_C;				options->PcmCdaParams.BitsPerSample = 16;								if (!options->OutputChannelsExplicitAssign)					options->OutputChannels = Audio_Out_Ch_LR;			}		 	else if ( ! (strcmp(argv[i+1], "pcm16_6"))) {				options->Codec = AudioDecoder_Codec_PCM;				options->SubCodec = 0;				options->PcmCdaParams.ChannelAssign = PcmCda6_LfRfCLfeLsRs;				options->PcmCdaParams.BitsPerSample = 16;								if (!options->OutputChannelsExplicitAssign)					options->OutputChannels = Audio_Out_Ch_LCRLsRs;			}			else if ( ! (strcmp(argv[i+1], "pcm8_2"))) {				options->Codec = AudioDecoder_Codec_PCM;				options->SubCodec = 0;				options->PcmCdaParams.ChannelAssign = PcmCda2_LR;				options->PcmCdaParams.BitsPerSample = 8;								if (!options->OutputChannelsExplicitAssign)					options->OutputChannels = Audio_Out_Ch_LR;			}			else if ( ! (strcmp(argv[i+1], "pcm8_1"))) {				options->Codec = AudioDecoder_Codec_PCM;				options->SubCodec = 0;				options->PcmCdaParams.ChannelAssign = PcmCda1_C;				options->PcmCdaParams.BitsPerSample = 8;								if (!options->OutputChannelsExplicitAssign)					options->OutputChannels = Audio_Out_Ch_LR;									}			else if ( ! (strcmp(argv[i+1], "lpcm24")) || ! (strcmp(argv[i+1], "lpcm24_2"))) {				options->Codec = AudioDecoder_Codec_PCM;				options->SubCodec = 1;				options->LpcmVobParams.ChannelAssign = LpcmVob2_LR;				options->LpcmVobParams.BitsPerSample = 24;								if (!options->OutputChannelsExplicitAssign)					options->OutputChannels = Audio_Out_Ch_LR;			}			else if ( ! (strcmp(argv[i+1], "lpcm20")) || ! (strcmp(argv[i+1], "lpcm20_2"))) {				options->Codec = AudioDecoder_Codec_PCM;				options->SubCodec = 1;				options->LpcmVobParams.ChannelAssign = LpcmVob2_LR;				options->LpcmVobParams.BitsPerSample = 20;								if (!options->OutputChannelsExplicitAssign)					options->OutputChannels = Audio_Out_Ch_LR;			}			else if ( ! (strcmp(argv[i+1], "lpcm16")) || ! (strcmp(argv[i+1], "lpcm16_2"))) {				options->Codec = AudioDecoder_Codec_PCM;				options->SubCodec = 1;				options->LpcmVobParams.ChannelAssign = LpcmVob2_LR;				options->LpcmVobParams.BitsPerSample = 16;								if (!options->OutputChannelsExplicitAssign) {					options->OutputChannels = Audio_Out_Ch_LR;					RMDBGLOG((LOCALDBG, ">>>>>>>>>>>>lpcm16_2 Cmdline Speaker Configure = %0x\n", options->OutputChannels));				}			}			else if ( ! (strcmp(argv[i+1], "lpcm16_1"))) {				options->Codec = AudioDecoder_Codec_PCM;				options->SubCodec = 1;				options->LpcmVobParams.ChannelAssign = LpcmVob1_C;				options->LpcmVobParams.BitsPerSample = 16;								if (!options->OutputChannelsExplicitAssign)					options->OutputChannels = Audio_Out_Ch_LR;			}			else if ( ! (strcmp(argv[i+1], "lpcma24")) || ! (strcmp(argv[i+1], "lpcma24_2"))) {				options->Codec = AudioDecoder_Codec_PCM;				options->SubCodec = 2;				options->LpcmAobParams.ChannelAssign = LpcmAob20_LR;				options->LpcmAobParams.BitsPerSampleGroup1 = 24;				options->LpcmAobParams.BitsPerSampleGroup2 = 0;								if (!options->OutputChannelsExplicitAssign)					options->OutputChannels = Audio_Out_Ch_LR;			}			else if ( ! (strcmp(argv[i+1], "lpcma16_2"))) {				options->Codec = AudioDecoder_Codec_PCM;				options->SubCodec = 2;				options->LpcmAobParams.ChannelAssign = LpcmAob20_LR;				options->LpcmAobParams.BitsPerSampleGroup1 = 16;				options->LpcmAobParams.BitsPerSampleGroup2 = 0;								if (!options->OutputChannelsExplicitAssign)					options->OutputChannels = Audio_Out_Ch_LR;			}			else if ( ! (strcmp(argv[i+1], "lpcma16_1"))) {				options->Codec = AudioDecoder_Codec_PCM;				options->SubCodec = 2;				options->LpcmAobParams.ChannelAssign = LpcmAob10_C;				options->LpcmAobParams.BitsPerSampleGroup1 = 16;				options->LpcmAobParams.BitsPerSampleGroup2 = 0;								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], "-loro")) {				options->OutputSurround20 = SurroundDisable;				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")) {

⌨️ 快捷键说明

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