[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