[xiph-commits] r17278 - experimental/derf/theora-ptalarbvorm/doc/spec
tterribe at svn.xiph.org
tterribe at svn.xiph.org
Mon Jun 7 12:00:57 PDT 2010
Author: tterribe
Date: 2010-06-07 12:00:57 -0700 (Mon, 07 Jun 2010)
New Revision: 17278
Modified:
experimental/derf/theora-ptalarbvorm/doc/spec/spec.tex
Log:
Add a note about the DC-only special case in the main iDCT section, to help
make readers aware of it without a careful reading of the full reconstruction
algorithm.
Thanks to David Conrad for the suggestion.
Modified: experimental/derf/theora-ptalarbvorm/doc/spec/spec.tex
===================================================================
--- experimental/derf/theora-ptalarbvorm/doc/spec/spec.tex 2010-06-07 18:39:03 UTC (rev 17277)
+++ experimental/derf/theora-ptalarbvorm/doc/spec/spec.tex 2010-06-07 19:00:57 UTC (rev 17278)
@@ -6295,6 +6295,14 @@
Some operations may be re-ordered, but the result must be precisely equivalent.
This is a design decision that limits some avenues of decoder optimization, but
prevents any drift in the prediction loop.
+The full inverse DCT described in this section is only used when there is at
+ least one non-zero AC coefficient.
+Otherwise, a special DC-only case is used, which is described below in
+ step~\ref{step:dc-only-idct} of Section~\ref{sub:recon}.
+The DC-only special case is not exactly equivalent to applying the full inverse
+ transform, because it avoids the intermediate multiplications and truncation,
+ and it MUST be used in place of the full transform to ensure bit-exact decode.
+
Theora uses a 16-bit integerized approximation of of the 8-point 1D inverse DCT
based on the Chen factorization \cite{CSF77}.
It requires 16 multiplications and 26 additions and subtractions.
@@ -7025,6 +7033,7 @@
Section~\ref{sub:predhalfpel}.
\end{enumerate}
\item
+\label{step:dc-only-idct}
If $\bitvar{NCOEFFS}[\locvar{\bi}]$ is less than 2:
\begin{enumerate}
\item
More information about the commits
mailing list