📄 parse.c
字号:
" or \"%s -?\" for a complete options list\n\n", ProgramName, ProgramName, ProgramName, ProgramName, ProgramName ); return 0;}/************************************************************************** usage** PURPOSE: Writes command line syntax to the file specified by fp* but only the most important ones, to fit on a vt100 terminal*************************************************************************/int short_help ( const lame_global_flags* gfp, FILE* const fp, const char* ProgramName ) /* print short syntax help */{ lame_version_print ( fp ); fprintf ( fp, "usage: %s [options] <infile> [outfile]\n" "\n" " <infile> and/or <outfile> can be \"-\", which means stdin/stdout.\n" "\n" "RECOMMENDED:\n" " lame -V2 input.wav output.mp3\n" "\n", ProgramName ); fprintf ( fp, "OPTIONS:\n" " -b bitrate set the bitrate, default 128 kbps\n" " -h higher quality, but a little slower. Recommended.\n" " -f fast mode (lower quality)\n" " -V n quality setting for VBR. default n=%i\n" " 0=high quality,bigger files. 9=smaller files\n" , lame_get_VBR_q(gfp) ); fprintf ( fp, " --preset type type must be \"medium\", \"standard\", \"extreme\", \"insane\",\n" " or a value for an average desired bitrate and depending\n" " on the value specified, appropriate quality settings will\n" " be used.\n" " \"--preset help\" gives more info on these\n" "\n" ); fprintf ( fp, #if defined(WIN32) " --priority type sets the process priority\n" " 0,1 = Low priority\n" " 2 = normal priority\n" " 3,4 = High priority\n" "\n"#endif#if defined(__OS2__) " --priority type sets the process priority\n" " 0 = Low priority\n" " 1 = Medium priority\n" " 2 = Regular priority\n" " 3 = High priority\n" " 4 = Maximum priority\n" "\n"#endif " --longhelp full list of options\n" "\n" ); return 0;}/************************************************************************** usage** PURPOSE: Writes command line syntax to the file specified by fp*************************************************************************/static void wait_for ( FILE* const fp, int lessmode ){ if ( lessmode ) { fflush ( fp ); getchar (); } else { fprintf ( fp, "\n" ); } fprintf ( fp, "\n" );}int long_help ( const lame_global_flags* gfp, FILE* const fp, const char* ProgramName, int lessmode ) /* print long syntax help */{ lame_version_print ( fp ); fprintf ( fp, "usage: %s [options] <infile> [outfile]\n" "\n" " <infile> and/or <outfile> can be \"-\", which means stdin/stdout.\n" "\n" "RECOMMENDED:\n" " lame -V2 input.wav output.mp3\n" "\n", ProgramName ); fprintf ( fp, "OPTIONS:\n" " Input options:\n" " -r input is raw pcm\n" " -x force byte-swapping of input\n" " -s sfreq sampling frequency of input file (kHz) - default 44.1 kHz\n" " --bitwidth w input bit width is w (default 16)\n" " --scale <arg> scale input (multiply PCM data) by <arg>\n" " --scale-l <arg> scale channel 0 (left) input (multiply PCM data) by <arg>\n" " --scale-r <arg> scale channel 1 (right) input (multiply PCM data) by <arg>\n"#ifdef LIBSNDFILE " --signed input is signed (default)\n" " --unsigned input is unsigned\n" " --little-endian input is little-endian (default from host)\n" " --big-endian input is big-endian (default from host)\n"#endif ); fprintf ( fp,#if (defined HAVE_MPGLIB || defined AMIGA_MPEGA) " --mp1input input file is a MPEG Layer I file\n" " --mp2input input file is a MPEG Layer II file\n" " --mp3input input file is a MPEG Layer III file\n"#endif " --nogap <file1> <file2> <...>\n" " gapless encoding for a set of contiguous files\n" " --nogapout <dir>\n" " output dir for gapless encoding (must precede --nogap)\n" " --nogaptags allow the use of VBR tags in gapless encoding" ); wait_for ( fp, lessmode ); fprintf ( fp, " Operational options:\n" " -a downmix from stereo to mono file for mono encoding\n" " -m <mode> (j)oint, (s)imple, (f)orce, (d)dual-mono, (m)ono\n" " default is (j) or (s) depending on bitrate\n" " joint = joins the best possible of MS and LR stereo\n" " simple = force LR stereo on all frames\n" " force = force MS stereo on all frames.\n" " --preset type type must be \"medium\", \"standard\", \"extreme\", \"insane\",\n" " or a value for an average desired bitrate and depending\n" " on the value specified, appropriate quality settings will\n" " be used.\n" " \"--preset help\" gives more info on these\n" " --comp <arg> choose bitrate to achive a compression ratio of <arg>\n" ); fprintf ( fp, " --replaygain-fast compute RG fast but slightly inaccurately (default)\n"#ifdef DECODE_ON_THE_FLY " --replaygain-accurate compute RG more accurately and find the peak sample\n"#endif " --noreplaygain disable ReplayGain analysis\n"#ifdef DECODE_ON_THE_FLY " --clipdetect enable --replaygain-accurate and print a message whether\n" " clipping occurs and how far the waveform is from full scale\n"#endif ); fprintf ( fp, " --freeformat produce a free format bitstream\n" " --decode input=mp3 file, output=wav\n" " -t disable writing wav header when using --decode\n" ); wait_for ( fp, lessmode ); fprintf ( fp, " Verbosity:\n" " --disptime <arg>print progress report every arg seconds\n" " -S don't print progress report, VBR histograms\n" " --nohist disable VBR histogram display\n" " --silent don't print anything on screen\n" " --quiet don't print anything on screen\n" " --brief print more useful information\n" " --verbose print a lot of useful information\n" "\n" ); fprintf ( fp, " Noise shaping & psycho acoustic algorithms:\n" " -q <arg> <arg> = 0...9. Default -q 5 \n" " -q 0: Highest quality, very slow \n" " -q 9: Poor quality, but fast \n" " -h Same as -q 2. Recommended.\n" " -f Same as -q 7. Fast, ok quality\n" ); wait_for ( fp, lessmode ); fprintf ( fp, " CBR (constant bitrate, the default) options:\n" " -b <bitrate> set the bitrate in kbps, default 128 kbps\n" " --cbr enforce use of constant bitrate\n" "\n" " ABR options:\n" " --abr <bitrate> specify average bitrate desired (instead of quality)\n" "\n" ); fprintf ( fp, " VBR options:\n" " -v use variable bitrate (VBR) (--vbr-old)\n" " --vbr-old use old variable bitrate (VBR) routine\n" " --vbr-new use new variable bitrate (VBR) routine\n" " -V n quality setting for VBR. default n=%i\n" " 0=high quality,bigger files. 9=smaller files\n" , lame_get_VBR_q(gfp) ); fprintf ( fp, " -b <bitrate> specify minimum allowed bitrate, default 32 kbps\n" " -B <bitrate> specify maximum allowed bitrate, default 320 kbps\n" " -F strictly enforce the -b option, for use with players that\n" " do not support low bitrate mp3\n" " -t disable writing LAME Tag\n" " -T enable and force writing LAME Tag\n" ); wait_for ( fp, lessmode ); DEV_HELP( fprintf ( fp, " ATH related:\n" " --noath turns ATH down to a flat noise floor\n" " --athshort ignore GPSYCHO for short blocks, use ATH only\n" " --athonly ignore GPSYCHO completely, use ATH only\n" " --athtype n selects between different ATH types [0-4]\n" " --athlower x lowers ATH by x dB\n" ); fprintf ( fp, " --athaa-type n ATH auto adjust: 0 'no' else 'loudness based'\n"/** OBSOLETE " --athaa-loudapprox n n=1 total energy or n=2 equal loudness curve\n"*/ " --athaa-sensitivity x activation offset in -/+ dB for ATH auto-adjustment\n" "\n" );) fprintf ( fp, " PSY related:\n" " --short use short blocks when appropriate\n" " --noshort do not use short blocks\n" " --allshort use only short blocks\n"DEV_HELP( " --cwlimit <freq> compute tonality up to freq (in kHz) default 8.8717\n" ) ); fprintf ( fp, " --notemp disable temporal masking effect\n" " --nssafejoint M/S switching criterion\n" " --nsmsfix <arg> M/S switching tuning [effective 0-3.5]\n" " --interch x adjust inter-channel masking ratio\n" " --ns-bass x adjust masking for sfbs 0 - 6 (long) 0 - 5 (short)\n" " --ns-alto x adjust masking for sfbs 7 - 13 (long) 6 - 10 (short)\n" " --ns-treble x adjust masking for sfbs 14 - 21 (long) 11 - 12 (short)\n" ); fprintf ( fp, " --ns-sfb21 x change ns-treble by x dB for sfb21\n"DEV_HELP( " --shortthreshold x,y short block switching threshold,\n" " x for L/R/M channel, y for S channel\n" " Noise Shaping related:\n" " --substep n use pseudo substep noise shaping method types 0-2\n" ) ); wait_for ( fp, lessmode ); fprintf ( fp, " experimental switches:\n" " -X n[,m] selects between different noise measurements\n" " n for long block, m for short. if m is omitted, m = n\n" " -Y lets LAME ignore noise in sfb21, like in CBR\n" " -Z [n] currently no effects\n" ); wait_for ( fp, lessmode ); fprintf ( fp, " MP3 header/stream options:\n" " -e <emp> de-emphasis n/5/c (obsolete)\n" " -c mark as copyright\n" " -o mark as non-original\n" " -p error protection. adds 16 bit checksum to every frame\n" " (the checksum is computed correctly)\n" " --nores disable the bit reservoir\n" " --strictly-enforce-ISO comply as much as possible to ISO MPEG spec\n" "\n" ); fprintf ( fp, " Filter options:\n" " -k keep ALL frequencies (disables all filters),\n" " Can cause ringing and twinkling\n" " --lowpass <freq> frequency(kHz), lowpass filter cutoff above freq\n" " --lowpass-width <freq> frequency(kHz) - default 15%% of lowpass freq\n" " --highpass <freq> frequency(kHz), highpass filter cutoff below freq\n" " --highpass-width <freq> frequency(kHz) - default 15%% of highpass freq\n" ); fprintf ( fp, " --resample <sfreq> sampling frequency of output file(kHz)- default=automatic\n" ); wait_for ( fp, lessmode ); fprintf ( fp, " ID3 tag options:\n" " --tt <title> audio/song title (max 30 chars for version 1 tag)\n" " --ta <artist> audio/song artist (max 30 chars for version 1 tag)\n" " --tl <album> audio/song album (max 30 chars for version 1 tag)\n" " --ty <year> audio/song year of issue (1 to 9999)\n" " --tc <comment> user-defined text (max 30 chars for v1 tag, 28 for v1.1)\n" " --tn <track> audio/song track number (1 to 255, creates v1.1 tag)\n" " --tg <genre> audio/song genre (name or number in list)\n" ); fprintf ( fp, " --add-id3v2 force addition of version 2 tag\n" " --id3v1-only add only a version 1 tag\n" " --id3v2-only add only a version 2 tag\n" " --space-id3v1 pad version 1 tag with spaces instead of nulls\n" " --pad-id3v2 pad version 2 tag with extra 128 bytes\n" " --genre-list print alphabetically sorted ID3 genre list and exit\n" " --ignore-tag-errors ignore errors in values passed for tags\n" "\n" ); fprintf ( fp, " Note: A version 2 tag will NOT be added unless one of the input fields\n" " won't fit in a version 1 tag (e.g. the title string is longer than 30\n" " characters), or the '--add-id3v2' or '--id3v2-only' options are used,\n" " or output is redirected to stdout.\n"#if defined(WIN32) "\n\nMS-Windows-specific options:\n" " --priority <type> sets the process priority:\n" " 0,1 = Low priority (IDLE_PRIORITY_CLASS)\n" " 2 = normal priority (NORMAL_PRIORITY_CLASS, default)\n" " 3,4 = High priority (HIGH_PRIORITY_CLASS))\n" " Note: Calling '--priority' without a parameter will select priority 0.\n"#endif#if defined(__OS2__) "\n\nOS/2-specific options:\n" " --priority <type> sets the process priority:\n" " 0 = Low priority (IDLE, delta = 0)\n" " 1 = Medium priority (IDLE, delta = +31)\n" " 2 = Regular priority (REGULAR, delta = -31)\n" " 3 = High priority (REGULAR, delta = 0)\n" " 4 = Maximum priority (REGULAR, delta = +31)\n" " Note: Calling '--priority' without a parameter will select priority 0.\n"#endif );#if defined(HAVE_NASM) wait_for ( fp, lessmode ); fprintf ( fp, " Platform specific:\n" " --noasm <instructions> disable assembly optimizations for mmx/3dnow/sse\n" ); wait_for ( fp, lessmode ); #endif display_bitrates ( fp );
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -