\section{th\_\-huff\_\-code Struct Reference}
\label{structth__huff__code}\index{th_huff_code@{th\_\-huff\_\-code}}
A Huffman code for a Theora DCT token.  


{\tt \#include $<$codec.h$>$}

\subsection*{Data Fields}
\begin{CompactItemize}
\item 
ogg\_\-uint32\_\-t {\bf pattern}\label{structth__huff__code_3a440ff5899ef0f3a4fdfbe8bae8fb75}

\begin{CompactList}\small\item\em The bit pattern for the code, with the LSbit of the pattern aligned in the LSbit of the word. \item\end{CompactList}\item 
int {\bf nbits}
\begin{CompactList}\small\item\em The number of bits in the code. \item\end{CompactList}\end{CompactItemize}


\subsection{Detailed Description}
A Huffman code for a Theora DCT token. 

Each set of Huffman codes in a given table must form a complete, prefix-free code. There is no requirement that all the tokens in a table have a valid code, but the current encoder is not optimized to take advantage of this. If each of the five grouops of 16 tables does not contain at least one table with a code for every token, then the encoder may fail to encode certain frames. The complete table in the first group of 16 does not have to be in the same place as the complete table in the other groups, but the complete tables in the remaining four groups must all be in the same place. 



\subsection{Field Documentation}
\index{th_huff_code@{th\_\-huff\_\-code}!nbits@{nbits}}
\index{nbits@{nbits}!th_huff_code@{th\_\-huff\_\-code}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int {\bf th\_\-huff\_\-code::nbits}}\label{structth__huff__code_d846a677bf2b0f67369eaa7011564210}


The number of bits in the code. 

This must be between 0 and 32, inclusive. 

The documentation for this struct was generated from the following file:\begin{CompactItemize}
\item 
{\bf codec.h}\end{CompactItemize}
