flac.sgml 27.2 KB
Newer Older
Josh Coalson's avatar
Josh Coalson committed
1 2 3 4 5 6
<!doctype refentry PUBLIC "-//Davenport//DTD DocBook V3.0//EN" [

  <!-- Fill in your name for FIRSTNAME and SURNAME. -->
  <!ENTITY dhfirstname "<firstname>Matt</firstname>">
  <!ENTITY dhsurname   "<surname>Zimmerman</surname>">
  <!-- Please adjust the date whenever revising the manpage. -->
Josh Coalson's avatar
Josh Coalson committed
7
  <!ENTITY dhdate      "<date>Feb 2, 2005</date>">
Josh Coalson's avatar
Josh Coalson committed
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
  <!-- SECTION should be 1-8, maybe w/ subsection other parameters are
       allowed: see man(7), man(1). -->
  <!ENTITY dhsection   "<manvolnum>1</manvolnum>">
  <!ENTITY dhemail     "<email>mdz@debian.org</email>">
  <!ENTITY dhusername  "Matt Zimmerman">
  <!ENTITY dhucpackage "<refentrytitle>FLAC</refentrytitle>">
  <!ENTITY dhpackage   "flac">

  <!ENTITY debian      "<productname>Debian GNU/Linux</productname>">
  <!ENTITY gnu         "<acronym>GNU</acronym>">
]>

<refentry>
  <docinfo>
    <address>
	&dhemail;
    </address>
    <author>
	&dhfirstname;
	&dhsurname;
      </author>
	<copyright>
Josh Coalson's avatar
Josh Coalson committed
30 31
	    <year>2002,2003,2004,2005</year>
	    <holder>&dhusername;</holder>
Josh Coalson's avatar
Josh Coalson committed
32 33 34 35 36 37 38 39 40 41 42
	</copyright>
	    &dhdate;
	</docinfo>
  <refmeta>
      &dhucpackage;

      &dhsection;
    </refmeta>
      <refnamediv>
		   <refname>&dhpackage;</refname>

43
	<refpurpose>Free Lossless Audio Codec</refpurpose>
Josh Coalson's avatar
Josh Coalson committed
44 45 46 47
      </refnamediv>
	<refsynopsisdiv>
	  <cmdsynopsis>
	    <command>flac</command>
Matt Zimmerman's avatar
Matt Zimmerman committed
48 49 50 51 52
	    <arg choice=opt><replaceable>options</replaceable></arg>
	    <group rep=repeat>
               <arg><replaceable>infile.wav</replaceable></arg>
               <arg><replaceable>infile.aiff</replaceable></arg>
               <arg><replaceable>infile.raw</replaceable></arg>
53
               <arg><replaceable>infile.flac</replaceable></arg>
Matt Zimmerman's avatar
Matt Zimmerman committed
54 55 56 57 58 59 60 61 62 63 64 65
               <arg>-</arg>
            </group>
	  </cmdsynopsis>
	  <cmdsynopsis>
	    <command>flac</command>
            <group>
               <arg>-d</arg> <arg>--decode</arg>
               <arg>-t</arg> <arg>--test</arg>
               <arg>-a</arg> <arg>--analyze</arg>
            </group>
	    <arg choice=opt><replaceable>OPTIONS</replaceable></arg>
	    <arg choice=opt rep=repeat><replaceable>infile.flac</replaceable></arg>
Josh Coalson's avatar
Josh Coalson committed
66 67 68 69 70
	  </cmdsynopsis>
	</refsynopsisdiv>
	<refsect1>
	  <title>DESCRIPTION</title>

Matt Zimmerman's avatar
Matt Zimmerman committed
71 72 73
	  <para><command>flac</command> is a command-line tool for
             encoding, decoding, testing and analyzing FLAC streams.
          </para>
Josh Coalson's avatar
Josh Coalson committed
74 75 76 77 78 79 80 81 82

	</refsect1>
	<refsect1>
	  <title>OPTIONS</title>

	  <para>A summary of options is included below.  For a complete
	  description, see the HTML documentation.</para>

	  <refsect2>
83
	    <title>General Options</title>
Josh Coalson's avatar
Josh Coalson committed
84 85

	    <variablelist>
Josh Coalson's avatar
Josh Coalson committed
86 87 88 89 90 91 92 93
	      <varlistentry>
		<term><option>-v</option>, <option>--version</option>
		</term>
		<listitem>
		  <para>Show the flac version number</para>
		</listitem>
	      </varlistentry>

94
	      <varlistentry>
95
		<term><option>-h</option>, <option>--help</option>
96 97
		</term>
		<listitem>
98
		  <para>Show basic usage and a list of all options</para>
99 100 101
		</listitem>
	      </varlistentry>

Josh Coalson's avatar
Josh Coalson committed
102
	      <varlistentry>
103
		<term><option>-H</option>, <option>--explain</option>
Josh Coalson's avatar
Josh Coalson committed
104 105
		</term>
		<listitem>
106
		  <para>Show detailed explanation of usage and all options</para>
Josh Coalson's avatar
Josh Coalson committed
107 108 109
		</listitem>
	      </varlistentry>

110 111 112 113 114 115 116
	      <varlistentry>
		<term><option>-d</option>, <option>--decode</option>
		</term>
		<listitem>
		  <para>Decode (the default behavior is to encode)</para>
		</listitem>
	      </varlistentry>
117

Josh Coalson's avatar
Josh Coalson committed
118
	      <varlistentry>
119
		<term><option>-t</option>, <option>--test</option>
Josh Coalson's avatar
Josh Coalson committed
120 121 122 123 124 125 126 127
		</term>
		<listitem>
		  <para>Test a flac encoded file (same as -d
		    except no decoded file is written)</para>
		</listitem>
	      </varlistentry>

	      <varlistentry>
128
		<term><option>-a</option>, <option>--analyze</option>
Josh Coalson's avatar
Josh Coalson committed
129 130
		</term>
		<listitem>
131
		  <para>Analyze a FLAC encoded file (same as -d
Josh Coalson's avatar
Josh Coalson committed
132 133 134 135
		    except an analysis file is written)</para>
		</listitem>
	      </varlistentry>

Josh Coalson's avatar
Josh Coalson committed
136 137 138 139 140 141 142
	      <varlistentry>
		<term><option>-c</option>, <option>--stdout</option>
		</term>
		<listitem>
		  <para>Write output to stdout</para>
		</listitem>
	      </varlistentry>
143

Josh Coalson's avatar
Josh Coalson committed
144
	      <varlistentry>
145
		<term><option>-s</option>, <option>--silent</option>
Josh Coalson's avatar
Josh Coalson committed
146 147 148
		</term>
		<listitem>
		  <para>Silent mode (do not write runtime
149
		    encode/decode statistics to stderr)</para>
Josh Coalson's avatar
Josh Coalson committed
150 151
		</listitem>
	      </varlistentry>
152 153 154 155 156 157 158 159 160 161 162

	      <varlistentry>
		<term><option>--totally-silent</option>
		</term>
		<listitem>
		  <para>Do not print anything of any kind,
		    including warnings or errors.  The exit
		    code will be the only way to determine
		    successful completion.</para>
		</listitem>
	      </varlistentry>
Josh Coalson's avatar
Josh Coalson committed
163

164 165 166 167 168 169 170 171 172 173
	      <varlistentry>
		<term><option>-f</option>, <option>--force</option>
		</term>
		<listitem>
		  <para>Force overwriting of output files.  By default,
		    flac warns that the output file already exists and
		    continues to the next file.</para>
		</listitem>
	      </varlistentry>

174
	      <varlistentry>
175
		<term><option>-o</option> <replaceable>filename</replaceable>, <option>--output-name</option>=<replaceable>filename</replaceable></term>
176 177
		<listitem>
		  <para>Force the output file name (usually flac just
Josh Coalson's avatar
Josh Coalson committed
178 179 180 181 182 183 184
		    changes the extension).  May only be used when
		    encoding a single file.  May not be used in
		    conjunction with --output-prefix.</para>
		</listitem>
	      </varlistentry>

	      <varlistentry>
185
		<term><option>--output-prefix</option>=<replaceable>string</replaceable></term>
Josh Coalson's avatar
Josh Coalson committed
186 187
		<listitem>
		  <para>Prefix each output file name with the given
188
		    string.  This can be useful for encoding or decoding
Josh Coalson's avatar
Josh Coalson committed
189 190 191
		    files to a different directory.  Make sure if your
		    string is a path name that it ends with a trailing
		    `/' (slash).</para>
192 193 194 195 196 197 198 199 200 201 202 203 204 205
		</listitem>
	      </varlistentry>

	      <varlistentry>
		<term><option>--delete-input-file</option>
		</term>
		<listitem>
		  <para>Automatically delete the input file after a
		    successful encode or decode.  If there was an
		    error (including a verify error) the input file
		    is left intact.</para>
		</listitem>
	      </varlistentry>

Josh Coalson's avatar
Josh Coalson committed
206
	      <varlistentry>
207
		<term><option>--skip</option>={<replaceable>#</replaceable>|<replaceable>mm:ss.ss</replaceable>}</term>
Josh Coalson's avatar
Josh Coalson committed
208
		<listitem>
209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228
		  <para>Skip over the first number of samples of the input.
		    This works for both encoding and decoding, but not
		    testing.  The alternative form mm:ss.ss can be used
		    to specify minutes, seconds, and fractions of a
		    second.</para>
		</listitem>
	      </varlistentry>

	      <varlistentry>
		<term><option>--until</option>={<replaceable>#</replaceable>|[<replaceable>+</replaceable>|<replaceable>-</replaceable>]<replaceable>mm:ss.ss</replaceable>}</term>
		<listitem>
		  <para>Stop at the given sample number for each input file.
		    This works for both encoding and decoding, but not testing.
		    The given sample number is not included in the decoded
		    output.  The alternative form mm:ss.ss can be used to
		    specify minutes, seconds, and fractions of a second.  If a
		    `+' (plus) sign is at the beginning, the --until point is
		    relative to the --skip point.  If a `-' (minus) sign is at
		    the beginning, the --until point is relative to end of the
		    audio.</para>
Josh Coalson's avatar
Josh Coalson committed
229 230 231
		</listitem>
	      </varlistentry>

Josh Coalson's avatar
Josh Coalson committed
232 233 234 235
	      <varlistentry>
		<term><option>--ogg</option></term>

		<listitem>
236 237
		  <para>When encoding, generate Ogg FLAC output instead
		    of native FLAC.  Ogg FLAC streams are FLAC streams
Josh Coalson's avatar
Josh Coalson committed
238 239 240 241
		    wrapped in an Ogg transport layer.  The resulting
		    file should have an '.ogg' extension and will still
		    be decodable by flac.</para>
		  <para>When decoding, force the input to be treated as
242
		    Ogg FLAC.  This is useful when piping input from
Josh Coalson's avatar
Josh Coalson committed
243 244 245 246 247 248 249 250
		    stdin or when the filename does not end in '.ogg'.</para>
		</listitem>
	      </varlistentry>

	      <varlistentry>
		<term><option>--serial-number</option>=<replaceable>#</replaceable></term>

		<listitem>
251 252 253 254 255 256 257
		  <para>When used with --ogg, specifies the serial number to
		    use for the first Ogg FLAC stream, which is then
		    incremented for each additional stream.  When encoding and
		    no serial number is given, flac uses a random number for
		    the first stream, then increments it for each additional
		    stream.  When decoding and no number is given, flac uses
		    the serial number of the first page.</para>
Josh Coalson's avatar
Josh Coalson committed
258 259 260
		</listitem>
	      </varlistentry>

Josh Coalson's avatar
Josh Coalson committed
261 262 263
	    </variablelist>
	  </refsect2>

Josh Coalson's avatar
Josh Coalson committed
264 265 266 267 268
	  <refsect2>
	    <title>Analysis Options</title>

	    <variablelist>
	      <varlistentry>
269
		<term><option>--residual-text</option>
Josh Coalson's avatar
Josh Coalson committed
270 271
		</term>
		<listitem>
Josh Coalson's avatar
Josh Coalson committed
272 273 274 275 276 277 278
		  <para>Includes the residual signal in the analysis
		    file.  This will make the file very big, much
		    larger than even the decoded file.</para>
		</listitem>
	      </varlistentry>

	      <varlistentry>
279
		<term><option>--residual-gnuplot</option>
Josh Coalson's avatar
Josh Coalson committed
280 281 282 283 284 285
		</term>
		<listitem>
		  <para>Generates a gnuplot file for every subframe;
		    each file will contain the residual distribution
		    of the subframe.  This will create a lot of
		    files.</para>
Josh Coalson's avatar
Josh Coalson committed
286 287 288 289 290 291
		</listitem>
	      </varlistentry>

	    </variablelist>
	  </refsect2>

Josh Coalson's avatar
Josh Coalson committed
292 293 294
	  <refsect2>
	    <title>Decoding Options</title>

295 296 297 298 299 300 301 302 303
	    <variablelist>
	      <varlistentry>
		<term><option>--cue=[<replaceable>#.#</replaceable>][-[<replaceable>#.#</replaceable>]]</option></term>
		<listitem>
		  <para>Set the beginning and ending cuepoints to decode.
		    The optional first #.# is the track and index point at
		    which decoding will start; the default is the beginning
		    of the stream.  The optional second #.# is the track
		    and index point at which decoding will end; the default
Josh Coalson's avatar
Josh Coalson committed
304
		    is the end of the stream.  If the cuepoint does not
305 306 307 308 309
		    exist, the closest one before it (for the start point)
		    or after it (for the end point) will be used.  If those
		    don't exist, the start of the stream (for the start
		    point) or end of the stream (for the end point) will be
		    used.  The cuepoints are merely translated into sample
310 311 312
		    numbers then used as --skip and --until.  A CD track can
		    always be cued by, for example, --cue=9.1-10.1 for track
		    9, even if the CD has no 10th track.</para>
313 314 315
		</listitem>
	      </varlistentry>

Josh Coalson's avatar
Josh Coalson committed
316
	      <varlistentry>
317
		<term><option>-F</option>, <option>--decode-through-errors</option>
Josh Coalson's avatar
Josh Coalson committed
318 319 320 321 322 323 324 325 326 327 328 329 330 331 332
		</term>
		<listitem>
		  <para>By default flac stops decoding with an error
		    and removes the partially decoded file if it
		    encounters a bitstream error.  With -F, errors are
		    still printed but flac will continue decoding to
		    completion.  Note that errors may cause the decoded
		    audio to be missing some samples or have silent
		    sections.</para>
		</listitem>
	      </varlistentry>

	    </variablelist>
	  </refsect2>

Josh Coalson's avatar
Josh Coalson committed
333 334 335 336
	  <refsect2>
	    <title>Encoding Options</title>

	    <variablelist>
337 338 339 340 341 342 343 344 345 346
	      <varlistentry>
		<term><option>-V</option>, <option>--verify</option></term>

		<listitem>
		  <para>Verify a correct encoding by decoding the
		    output in parallel and comparing to the
		    original</para>
		</listitem>
	      </varlistentry>

Josh Coalson's avatar
Josh Coalson committed
347 348 349 350 351
	      <varlistentry>
		<term><option>--lax</option></term>

		<listitem>
		  <para>Allow encoder to generate non-Subset
Josh Coalson's avatar
Josh Coalson committed
352 353 354 355 356 357
		    files.  The resulting FLAC file may not be
		    streamable or might have trouble being played
		    in all players (especially hardware devices),
		    so you should only use this option in
		    combination with custom encoding options meant
		    for archival.</para>
Josh Coalson's avatar
Josh Coalson committed
358 359 360
		</listitem>
	      </varlistentry>

Josh Coalson's avatar
Josh Coalson committed
361 362 363 364
	      <varlistentry>
		<term><option>--replay-gain</option></term>

		<listitem>
365 366
		  <para>Calculate ReplayGain values and store them
		    as FLAC tags, similar to vorbisgain.  Title
Josh Coalson's avatar
Josh Coalson committed
367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382
		    gains/peaks will be computed for each input
		    file, and an album gain/peak will be computed
		    for all files.  All input files must have the
		    same resolution, sample rate, and number of
		    channels.  Only mono and stereo files are
		    allowed, and the sample rate must be one of
		    8, 11.025, 12, 16, 22.05, 24, 32, 44.1, or 48
		    kHz.  Also note that this option may leave a
		    few extra bytes in a PADDING block as the exact
		    size of the tags is not known until all files
		    are processed.  Note that this option cannot be
		    used when encoding to standard output (stdout).
		    </para>
		</listitem>
	      </varlistentry>

383 384 385 386 387 388 389 390 391 392 393 394
	      <varlistentry>
		<term><option>--cuesheet</option>=<replaceable>filename</replaceable></term>

		<listitem>
		  <para>Import the given cuesheet file and store it in a
		    CUESHEET metadata block.  This option may only be used
		    when encoding a single file.  A seekpoint will be added
		    for each index point in the cuesheet to the SEEKTABLE
		    unless --no-cued-seekpoints is specified.</para>
		</listitem>
	      </varlistentry>

Josh Coalson's avatar
Josh Coalson committed
395 396 397 398
	      <varlistentry>
		<term><option>--sector-align</option></term>

		<listitem>
399
		  <para>Align encoding of multiple CD format
Josh Coalson's avatar
Josh Coalson committed
400 401
		    files on sector boundaries.  See the HTML
		    documentation for more information.</para>
Josh Coalson's avatar
Josh Coalson committed
402 403 404
		</listitem>
	      </varlistentry>

Josh Coalson's avatar
Josh Coalson committed
405
	      <varlistentry>
Josh Coalson's avatar
Josh Coalson committed
406
		<term><option>-S</option> {<replaceable>#</replaceable>|<replaceable>X</replaceable>|<replaceable>#x</replaceable>|<replaceable>#s</replaceable>}, <option>--seekpoint</option>={<replaceable>#</replaceable>|<replaceable>X</replaceable>|<replaceable>#x</replaceable>|<replaceable>#s</replaceable>}</term>
Josh Coalson's avatar
Josh Coalson committed
407 408 409 410 411 412 413

		<listitem>
		  <para>
		    Include a point or points in a SEEKTABLE.  Using #,
		    a seek point at that sample number is added.  Using
		    X, a placeholder point is added at the end of a the
		    table.  Using #x, # evenly spaced seek points will
Josh Coalson's avatar
Josh Coalson committed
414 415 416 417
		    be added, the first being at sample 0.  Using #s, a
		    seekpoint will be added every # seconds (# does not
		    have to be a whole number; it can be, for example, 9.5,
		    meaning a seekpoint every 9.5 seconds).  You may use
Josh Coalson's avatar
Josh Coalson committed
418 419
		    many -S options; the resulting SEEKTABLE will be the
		    unique-ified union of all such values.  With no -S
420
		    options, flac defaults to '-S 10s'.  Use --no-seektable
Josh Coalson's avatar
Josh Coalson committed
421 422
		    for no SEEKTABLE.  Note: '-S #x' and '-S #s' will not
		    work if the encoder can't determine the input size before
Josh Coalson's avatar
Josh Coalson committed
423 424 425 426
		    starting.  Note: if you use '-S #' and # is >=
		    samples in the input, there will be either no seek
		    point entered (if the input size is determinable
		    before encoding starts) or a placeholder point (if
Josh Coalson's avatar
Josh Coalson committed
427
		    input size is not determinable).</para>
Josh Coalson's avatar
Josh Coalson committed
428 429 430
		</listitem>
	      </varlistentry>

Josh Coalson's avatar
Josh Coalson committed
431
	      <varlistentry>
432
		<term><option>-P</option> <replaceable>#</replaceable>, <option>--padding</option>=<replaceable>#</replaceable></term>
Josh Coalson's avatar
Josh Coalson committed
433 434 435 436

		<listitem>
		  <para>Tell the encoder to write a PADDING metadata
		    block of the given length (in bytes) after the
437 438
		    STREAMINFO block.  This is useful if you plan to
		    tag the file later with an APPLICATION block;
Josh Coalson's avatar
Josh Coalson committed
439 440
		    instead of having to rewrite the entire file later
		    just to insert your block, you can write directly
441 442 443 444
		    over the PADDING block.  Note that the total length
		    of the PADDING block will be 4 bytes longer than
		    the length given because of the 4 metadata block
		    header bytes.  You can force no PADDING block at
445 446 447
		    all to be written with --no-padding.  The encoder
		    writes a PADDING block of 4096 bytes by default.
		    </para>
Josh Coalson's avatar
Josh Coalson committed
448 449 450
		</listitem>
	      </varlistentry>

Josh Coalson's avatar
Josh Coalson committed
451 452 453 454
	      <varlistentry>
		<term><option>-T</option> <replaceable>FIELD=VALUE</replaceable>, <option>--tag</option>=<replaceable>FIELD=VALUE</replaceable></term>

		<listitem>
455 456
		  <para>Add a FLAC tag.  The comment must adhere to
		    the Vorbis comment spec; i.e. the FIELD must
Josh Coalson's avatar
Josh Coalson committed
457 458 459 460 461 462 463 464
		    contain only legal characters, terminated by an
		    'equals' sign.  Make sure to quote the comment if
		    necessary.  This option may appear more than once
		    to add several comments.  NOTE: all tags will be
		    added to all encoded files.</para>
		</listitem>
	      </varlistentry>

465 466 467 468 469 470 471 472 473 474 475 476 477 478 479
	      <varlistentry>
		<term><option>--tag-from-file</option>=<replaceable>FIELD=FILENAME</replaceable></term>

		<listitem>
		  <para>Like --tag, except FILENAME is a file whose
		    contents will be read verbatim to set the tag
		    value.  The contents will be converted to UTF-8
		    from the local charset.  This can be used to
		    store a cuesheet in a tag (e.g.
		    --tag-from-file="CUESHEET=image.cue").  Do not
		    try to store binary data in tag fields!  Use
		    APPLICATION blocks for that.</para>
		</listitem>
	      </varlistentry>

Josh Coalson's avatar
Josh Coalson committed
480
	      <varlistentry>
481
		<term><option>-b</option> <replaceable>#</replaceable>, <option>--blocksize</option>=<replaceable>#</replaceable></term>
Josh Coalson's avatar
Josh Coalson committed
482 483

		<listitem>
484 485 486 487
		  <para>Specify the block size in samples.  The
		    default is 1152 for -l 0, else 4608; must be one of
		    192, 576, 1152, 2304, 4608, 256, 512, 1024, 2048,
		    4096, 8192, 16384, or 32768 (unless --lax is used)</para>
Josh Coalson's avatar
Josh Coalson committed
488 489 490 491
		</listitem>
	      </varlistentry>

	      <varlistentry>
492
		<term><option>-m</option>, <option>--mid-side</option></term>
Josh Coalson's avatar
Josh Coalson committed
493 494 495 496 497 498 499 500

		<listitem>
		  <para>Try mid-side coding for each frame (stereo
		    input only)</para>
		</listitem>
	      </varlistentry>

	      <varlistentry>
501
		<term><option>-M</option>, <option>--adaptive-mid-side</option></term>
Josh Coalson's avatar
Josh Coalson committed
502 503

		<listitem>
504
		  <para>Adaptive mid-side coding for all frames (stereo
Josh Coalson's avatar
Josh Coalson committed
505 506 507 508 509
		    input only)</para>
		</listitem>
	      </varlistentry>

	      <varlistentry>
510
		<term><option>-0</option>..<option>-8</option>, <option>--compression-level-0</option>..<option>--compression-level-8</option></term>
Josh Coalson's avatar
Josh Coalson committed
511 512 513

		<listitem>
		  <para>Fastest compression..highest compression
Josh Coalson's avatar
Josh Coalson committed
514
		    (default is -5).  These are synonyms for other
Josh Coalson's avatar
Josh Coalson committed
515 516 517 518
		    options:</para>

		  <variablelist>
		    <varlistentry>
519
		      <term><option>-0</option>, <option>--compression-level-0</option></term>
Josh Coalson's avatar
Josh Coalson committed
520

Josh Coalson's avatar
Josh Coalson committed
521
		      <listitem>
Josh Coalson's avatar
Josh Coalson committed
522 523
			<para>Synonymous with -l 0 -b 1152 -r 2,2
			  </para>
Josh Coalson's avatar
Josh Coalson committed
524 525
		      </listitem>
		    </varlistentry>
Josh Coalson's avatar
Josh Coalson committed
526

Josh Coalson's avatar
Josh Coalson committed
527
		    <varlistentry>
528
		      <term><option>-1</option>, <option>--compression-level-1</option></term>
Josh Coalson's avatar
Josh Coalson committed
529

Josh Coalson's avatar
Josh Coalson committed
530
		      <listitem>
Josh Coalson's avatar
Josh Coalson committed
531 532
			<para>Synonymous with -l 0 -b 1152 -M -r 2,2
			  </para>
Josh Coalson's avatar
Josh Coalson committed
533 534
		      </listitem>
		    </varlistentry>
Josh Coalson's avatar
Josh Coalson committed
535

Josh Coalson's avatar
Josh Coalson committed
536
		    <varlistentry>
537
		      <term><option>-2</option>, <option>--compression-level-2</option></term>
Josh Coalson's avatar
Josh Coalson committed
538

Josh Coalson's avatar
Josh Coalson committed
539
		      <listitem>
Josh Coalson's avatar
Josh Coalson committed
540 541
			<para>Synonymous with -l 0 -b 1152 -m -r 3
			  </para>
Josh Coalson's avatar
Josh Coalson committed
542 543 544 545
		      </listitem>
		    </varlistentry>

		    <varlistentry>
546
		      <term><option>-3</option>, <option>--compression-level-3</option></term>
Josh Coalson's avatar
Josh Coalson committed
547

Josh Coalson's avatar
Josh Coalson committed
548
		      <listitem>
Josh Coalson's avatar
Josh Coalson committed
549 550
			<para>Synonymous with -l 6 -b 4608 -r 3,3
			  </para>
Josh Coalson's avatar
Josh Coalson committed
551 552
		      </listitem>
		    </varlistentry>
Josh Coalson's avatar
Josh Coalson committed
553

Josh Coalson's avatar
Josh Coalson committed
554
		    <varlistentry>
555
		      <term><option>-4</option>, <option>--compression-level-4</option></term>
Josh Coalson's avatar
Josh Coalson committed
556

Josh Coalson's avatar
Josh Coalson committed
557
		      <listitem>
Josh Coalson's avatar
Josh Coalson committed
558 559
			<para>Synonymous with -l 8 -b 4608 -M -r 3,3
			  </para>
Josh Coalson's avatar
Josh Coalson committed
560 561
		      </listitem>
		    </varlistentry>
Josh Coalson's avatar
Josh Coalson committed
562

Josh Coalson's avatar
Josh Coalson committed
563
		    <varlistentry>
564
		      <term><option>-5</option>, <option>--compression-level-5</option></term>
Josh Coalson's avatar
Josh Coalson committed
565

Josh Coalson's avatar
Josh Coalson committed
566
		      <listitem>
Josh Coalson's avatar
Josh Coalson committed
567 568
			<para>Synonymous with -l 8 -b 4608 -m -r 3,3
			  </para>
Josh Coalson's avatar
Josh Coalson committed
569 570 571 572
		      </listitem>
		    </varlistentry>

		    <varlistentry>
573
		      <term><option>-6</option>, <option>--compression-level-6</option></term>
Josh Coalson's avatar
Josh Coalson committed
574

Josh Coalson's avatar
Josh Coalson committed
575
		      <listitem>
Josh Coalson's avatar
Josh Coalson committed
576 577
			<para>Synonymous with -l 8 -b 4608 -m -r 4
			  </para>
Josh Coalson's avatar
Josh Coalson committed
578 579
		      </listitem>
		    </varlistentry>
Josh Coalson's avatar
Josh Coalson committed
580

Josh Coalson's avatar
Josh Coalson committed
581
		    <varlistentry>
582
		      <term><option>-7</option>, <option>--compression-level-7</option></term>
Josh Coalson's avatar
Josh Coalson committed
583

Josh Coalson's avatar
Josh Coalson committed
584
		      <listitem>
Josh Coalson's avatar
Josh Coalson committed
585 586
			<para>Synonymous with -l 8 -b 4608 -m -e -r 6
			  </para>
Josh Coalson's avatar
Josh Coalson committed
587 588
		      </listitem>
		    </varlistentry>
Josh Coalson's avatar
Josh Coalson committed
589

Josh Coalson's avatar
Josh Coalson committed
590
		    <varlistentry>
591
		      <term><option>-8</option>, <option>--compression-level-8</option></term>
Josh Coalson's avatar
Josh Coalson committed
592

Josh Coalson's avatar
Josh Coalson committed
593
		      <listitem>
Josh Coalson's avatar
Josh Coalson committed
594 595
			<para>Synonymous with -l 12 -b 4608 -m -e -r 6
			  </para>
Josh Coalson's avatar
Josh Coalson committed
596 597 598
		      </listitem>
		    </varlistentry>
		  </variablelist>
Josh Coalson's avatar
Josh Coalson committed
599

Josh Coalson's avatar
Josh Coalson committed
600 601 602 603
		</listitem>

	      </varlistentry>

Josh Coalson's avatar
Josh Coalson committed
604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621
	      <varlistentry>
		<term><option>--fast</option></term>

		<listitem>
		  <para>Fastest compression.  Currently
		    synonymous with -0.</para>
		</listitem>
	      </varlistentry>

	      <varlistentry>
		<term><option>--best</option></term>

		<listitem>
		  <para>Highest compression.  Currently
		    synonymous with -8.</para>
		</listitem>
	      </varlistentry>

Josh Coalson's avatar
Josh Coalson committed
622
	      <varlistentry>
623
		<term><option>-e</option>, <option>--exhaustive-model-search</option></term>
Josh Coalson's avatar
Josh Coalson committed
624 625 626 627 628 629 630

		<listitem>
		  <para>Do exhaustive model search
		    (expensive!)</para>
		</listitem>
	      </varlistentry>

631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657
	      <varlistentry>
		<term><option>-A</option> <replaceable>function</replaceable>, <option>--apodization</option>=<replaceable>function</replaceable></term>

		<listitem>
		  <para>Window audio data with given the apodization function.
		    The functions are: bartlett, bartlett_hann, blackman,
		    blackman_harris_4term_92db, connes, flattop, gauss(STDDEV),
		    hamming, hann, kaiser_bessel, nuttall, rectangle, triangle,
		    tukey(P), welch.</para>
		  <para>For gauss(STDDEV), STDDEV is the standard deviation
		    (0&lt;STDDEV&lt;=0.5).</para>
		  <para>For tukey(P), P specifies the fraction of the window that
		    is tapered (0&lt;=P&lt;=1; P=0 corresponds to "rectangle" and
		    P=1 corresponds to "hann").</para>
		  <para>More than one -A option (up to 32) may be used.  Any
		    function that is specified erroneously is silently dropped.
		    The encoder chooses suitable defaults in the absence of any
		    -A options; any -A option specified replaces the default(s).
		    </para>
		  <para>When more than one function is specified, then for every
		    subframe the encoder will try each of them separately and
		    choose the window that results in the smallest compressed
		    subframe.  Multiple functions can greatly increase the
		    encoding time.</para>
		</listitem>
	      </varlistentry>

Josh Coalson's avatar
Josh Coalson committed
658
	      <varlistentry>
659
		<term><option>-l</option> <replaceable>#</replaceable>, <option>--max-lpc-order</option>=<replaceable>#</replaceable></term>
Josh Coalson's avatar
Josh Coalson committed
660 661

		<listitem>
662
		  <para>Set the maximum LPC order; 0 means use only the fixed predictors</para>
Josh Coalson's avatar
Josh Coalson committed
663 664 665 666
		</listitem>
	      </varlistentry>

	      <varlistentry>
667
		<term><option>-p</option>, <option>--qlp-coeff-precision-search</option></term>
Josh Coalson's avatar
Josh Coalson committed
668 669 670

		<listitem>
		  <para>Do exhaustive search of LP coefficient
671
		    quantization (expensive!).  Overrides -q;
Josh Coalson's avatar
Josh Coalson committed
672
		    does nothing if using -l 0</para>
Josh Coalson's avatar
Josh Coalson committed
673 674 675 676
		</listitem>
	      </varlistentry>

	      <varlistentry>
677
		<term><option>-q</option> <replaceable>#</replaceable>, <option>--qlp-coeff-precision</option>=<replaceable>#</replaceable></term>
Josh Coalson's avatar
Josh Coalson committed
678 679 680 681 682 683 684 685 686

		<listitem>
		  <para>Precision of the quantized linear-predictor
		    coefficients, 0 => let encoder decide (min is 5,
		    default is 0)</para>
		</listitem>
	      </varlistentry>

	      <varlistentry>
687
		<term><option>-r</option> [<replaceable>#</replaceable>,]<replaceable>#</replaceable>, <option>--rice-partition-order</option>=[<replaceable>#</replaceable>,]<replaceable>#</replaceable></term>
Josh Coalson's avatar
Josh Coalson committed
688 689 690 691 692 693 694 695

		<listitem>
		  <para>Set the [min,]max residual partition order
		    (0..16). min defaults to 0 if unspecified.  Default
		    is -r 3,3.</para>
		</listitem>
	      </varlistentry>

Josh Coalson's avatar
Josh Coalson committed
696 697 698 699 700 701 702 703
	    </variablelist>

	  </refsect2>
	  <refsect2>
	    <title>Format Options</title>

	    <variablelist>
	      <varlistentry>
704
		<term><option>--endian</option>={<replaceable>big</replaceable>|<replaceable>little</replaceable>}</term>
Josh Coalson's avatar
Josh Coalson committed
705 706

		<listitem>
707
		  <para>Set the byte order for samples</para>
Josh Coalson's avatar
Josh Coalson committed
708 709 710 711
		</listitem>
	      </varlistentry>

	      <varlistentry>
712
		<term><option>--channels</option>=<replaceable>#</replaceable></term>
Josh Coalson's avatar
Josh Coalson committed
713 714 715 716 717 718 719

		<listitem>
		  <para>Set number of channels.</para>
		</listitem>
	      </varlistentry>

	      <varlistentry>
720
		<term><option>--bps</option>=<replaceable>#</replaceable></term>
Josh Coalson's avatar
Josh Coalson committed
721 722 723 724 725 726 727

		<listitem>
		  <para>Set bits per sample.</para>
		</listitem>
	      </varlistentry>

	      <varlistentry>
728
		<term><option>--sample-rate</option>=<replaceable>#</replaceable></term>
Josh Coalson's avatar
Josh Coalson committed
729 730 731 732 733 734 735

		<listitem>
		  <para>Set sample rate (in Hz).</para>
		</listitem>
	      </varlistentry>

	      <varlistentry>
736
		<term><option>--sign</option>={<replaceable>signed</replaceable>|<replaceable>unsigned</replaceable>}</term>
Josh Coalson's avatar
Josh Coalson committed
737 738

		<listitem>
739
		  <para>Set the sign of samples (the default is signed).</para>
Josh Coalson's avatar
Josh Coalson committed
740 741 742
		</listitem>
	      </varlistentry>

Josh Coalson's avatar
Josh Coalson committed
743 744 745 746 747 748 749 750 751 752 753 754 755 756 757
	      <varlistentry>
		<term><option>--input-size</option>=<replaceable>#</replaceable></term>

		<listitem>
		  <para>Specify the size of the raw input in bytes.  If you are
		    encoding raw samples from stdin, you must set this option
		    in order to be able to use --skip, --until, --cue-sheet, or
		    other options that need to know the size of the input
		    beforehand.  If the size given is greater than what is
		    found in the input stream, the encoder will complain about
		    an unexpected end-of-file.  If the size given is less,
		    samples will be truncated.</para>
		</listitem>
	      </varlistentry>

758 759 760 761 762 763 764 765 766 767 768
	      <varlistentry>
		<term><option>--force-aiff-format</option></term>

		<listitem>
		  <para>Force the decoder to output AIFF format.  This option
		    is not needed if the output filename (as set by -o) ends
		    with <filename>.aiff</filename>.  Also, this option has no
		    effect when encoding since input AIFF is auto-detected.</para>
		</listitem>
	      </varlistentry>

Josh Coalson's avatar
Josh Coalson committed
769
	      <varlistentry>
770
		<term><option>--force-raw-format</option></term>
Josh Coalson's avatar
Josh Coalson committed
771 772

		<listitem>
773 774
		  <para>Force input (when encoding) or output (when decoding)
		    to be treated as raw samples (even if filename ends
Josh Coalson's avatar
Josh Coalson committed
775 776 777 778 779 780 781
		    in <filename>.wav</filename>).</para>
		</listitem>
	      </varlistentry>

	    </variablelist>
	  </refsect2>

782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810
	  <refsect2>
	    <title>Negative Options</title>

	    <variablelist>
	      <varlistentry>
		<term><option>--no-adaptive-mid-side</option></term>
		<term><option>--no-decode-through-errors</option></term>
		<term><option>--no-delete-input-file</option></term>
		<term><option>--no-exhaustive-model-search</option></term>
		<term><option>--no-lax</option></term>
		<term><option>--no-mid-side</option></term>
		<term><option>--no-ogg</option></term>
		<term><option>--no-padding</option></term>
		<term><option>--no-qlp-coeff-precision-search</option></term>
		<term><option>--no-residual-gnuplot</option></term>
		<term><option>--no-residual-text</option></term>
		<term><option>--no-sector-align</option></term>
		<term><option>--no-seektable</option></term>
		<term><option>--no-silent</option></term>
		<term><option>--no-verify</option></term>
		<listitem>
		  <para>These flags can be used to invert the sense
		    of the corresponding normal option.</para>
		</listitem>
	      </varlistentry>
	    </variablelist>

	  </refsect2>

Josh Coalson's avatar
Josh Coalson committed
811 812 813 814
	</refsect1>
	  <refsect1>
	    <title>SEE ALSO</title>

815 816
	    <para>metaflac(1).</para>

Josh Coalson's avatar
Josh Coalson committed
817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854
	    <para>The programs are documented fully by HTML format
	      documentation, available in
	      <filename>/usr/share/doc/flac/html</filename> on
		&debian; systems.</para>
	  </refsect1>
	  <refsect1>
	    <title>AUTHOR</title>

	    <para>This manual page was written by &dhusername; &dhemail; for
	      the &debian; system (but may be used by others).</para>

	    <!-- <para>Permission is granted to copy, distribute and/or modify
	    this document under the terms of the <acronym>GNU</acronym> Free
	    Documentation License, Version 1.1 or any later version
	    published by the Free Software Foundation; with no Invariant
	    Sections, no Front-Cover Texts and no Back-Cover Texts.  A copy
	    of the license can be found under
	  <filename>/usr/share/common-licenses/FDL</filename>.</para> -->

	</refsect1>
      </refentry>

	<!-- Keep this comment at the end of the file
	      Local variables:
	      mode: sgml
	      sgml-omittag:t
	      sgml-shorttag:t
	      sgml-minimize-attributes:nil
	      sgml-always-quote-attributes:t
	      sgml-indent-step:2
	      sgml-indent-data:t
	      sgml-parent-document:nil
	      sgml-default-dtd-file:nil
	      sgml-exposed-tags:nil
	      sgml-local-catalogs:nil
	      sgml-local-ecat-files:nil
	      End:
	      -->