rfc9639v2.txt   rfc9639.txt 
skipping to change at line 194 skipping to change at line 194
BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all
capitals, as shown here. capitals, as shown here.
Values expressed as u(n) represent an unsigned big-endian integer Values expressed as u(n) represent an unsigned big-endian integer
using n bits. Values expressed as s(n) represent a signed big-endian using n bits. Values expressed as s(n) represent a signed big-endian
integer using n bits, signed two's complement. Where necessary, n is integer using n bits, signed two's complement. Where necessary, n is
expressed as an equation using * (multiplication), / (division), + expressed as an equation using * (multiplication), / (division), +
(addition), or - (subtraction). An inclusive range of the number of (addition), or - (subtraction). An inclusive range of the number of
bits expressed is represented with an ellipsis, such as u(m...n). bits expressed is represented with an ellipsis, such as u(m...n).
All shifts mentioned in this document are arithmetic shifts.
While the FLAC format can store digital audio as well as other While the FLAC format can store digital audio as well as other
digital signals, this document uses terminology specific to digital digital signals, this document uses terminology specific to digital
audio. The use of more generic terminology was deemed less clear, so audio. The use of more generic terminology was deemed less clear, so
a reader interested in non-audio use of the FLAC format is expected a reader interested in non-audio use of the FLAC format is expected
to make the translation from audio-specific terms to more generic to make the translation from audio-specific terms to more generic
terminology. terminology.
3. Definitions 3. Definitions
*Lossless compression*: Reducing the amount of computer storage *Lossless compression*: Reducing the amount of computer storage
skipping to change at line 255 skipping to change at line 257
based on past samples. FLAC uses such predictors to remove based on past samples. FLAC uses such predictors to remove
redundancy in a signal in order to be able to compress it. redundancy in a signal in order to be able to compress it.
*Linear predictor*: A predictor using linear prediction (see *Linear predictor*: A predictor using linear prediction (see
[LinearPrediction]). This is also called *linear predictive [LinearPrediction]). This is also called *linear predictive
coding (LPC)*. With a linear predictor, each prediction is a coding (LPC)*. With a linear predictor, each prediction is a
linear combination of past samples (hence the name). A linear linear combination of past samples (hence the name). A linear
predictor has a causal discrete-time finite impulse response (see predictor has a causal discrete-time finite impulse response (see
[FIR]). [FIR]).
*Muxing*: Short for multiplexing. Combining several streams or
files into a single stream or file. In the context of this
document, muxing specifically refers to embedding a FLAC stream in
a container as described in Section 10.
*Fixed predictor*: A linear predictor in which the model parameters *Fixed predictor*: A linear predictor in which the model parameters
are the same across all FLAC files and thus do not need to be are the same across all FLAC files and thus do not need to be
stored. stored.
*Predictor order*: The number of past samples that a predictor uses. *Predictor order*: The number of past samples that a predictor uses.
For example, a 4th order predictor uses the 4 samples directly For example, a 4th order predictor uses the 4 samples directly
preceding a certain sample to predict it. In FLAC, samples used preceding a certain sample to predict it. In FLAC, samples used
in a predictor are always consecutive and are always the samples in a predictor are always consecutive and are always the samples
directly before the sample that is being predicted. directly before the sample that is being predicted.
skipping to change at line 281 skipping to change at line 278
subtracted from a subblock. If the predictor has been able to subtracted from a subblock. If the predictor has been able to
remove redundancy from the signal, the samples of the remaining remove redundancy from the signal, the samples of the remaining
signal (the *residual samples*) will have, on average, a numerical signal (the *residual samples*) will have, on average, a numerical
value closer to zero than the original signal. value closer to zero than the original signal.
*Rice code*: A variable-length code (see [VarLengthCode]). It uses *Rice code*: A variable-length code (see [VarLengthCode]). It uses
a short code for samples close to zero and a progressively longer a short code for samples close to zero and a progressively longer
code for samples further away from zero. This makes use of the code for samples further away from zero. This makes use of the
observation that residual samples are often close to zero. observation that residual samples are often close to zero.
*Muxing*: Short for multiplexing. Combining several streams or
files into a single stream or file. In the context of this
document, muxing specifically refers to embedding a FLAC stream in
a container as described in Section 10.
4. Conceptual Overview 4. Conceptual Overview
Similar to many other audio coders, a FLAC file is encoded following Similar to many other audio coders, a FLAC file is encoded following
the steps below. To decode a FLAC file, these steps are performed in the steps below. To decode a FLAC file, these steps are performed in
reverse order, i.e., from bottom to top. reverse order, i.e., from bottom to top.
1. *Blocking* (see Section 4.1). The input is split up into many 1. *Blocking* (see Section 4.1). The input is split up into many
contiguous blocks. contiguous blocks.
2. *Interchannel Decorrelation* (see Section 4.2). In the case of 2. *Interchannel Decorrelation* (see Section 4.2). In the case of
 End of changes. 3 change blocks. 
5 lines changed or deleted 7 lines changed or added

This html diff was produced by rfcdiff 1.48.