\hypertarget{group__ArithCoder}{}\section{Binary and m-\/ary Arithmetic Coders}
\label{group__ArithCoder}\index{Binary and m-\/ary Arithmetic Coders@{Binary and m-\/ary Arithmetic Coders}}


Binary and m-\/ary arithmetic coders.  


\subsection*{Classes}
\begin{DoxyCompactItemize}
\item 
class \hyperlink{classSPL_1_1MultiArithEncoder}{S\+P\+L\+::\+Multi\+Arith\+Encoder}
\begin{DoxyCompactList}\small\item\em M-\/ary arithmetic encoder class. \end{DoxyCompactList}\item 
class \hyperlink{classSPL_1_1MultiArithDecoder}{S\+P\+L\+::\+Multi\+Arith\+Decoder}
\begin{DoxyCompactList}\small\item\em M-\/ary arithmetic decoder class. \end{DoxyCompactList}\item 
struct \hyperlink{structSPL_1_1BinArithCoderContextStat}{S\+P\+L\+::\+Bin\+Arith\+Coder\+Context\+Stat}
\begin{DoxyCompactList}\small\item\em Binary Arithmetic Coder Context Statistics Class. \end{DoxyCompactList}\item 
class \hyperlink{classSPL_1_1BinArithEncoder}{S\+P\+L\+::\+Bin\+Arith\+Encoder}
\begin{DoxyCompactList}\small\item\em Binary arithmetic encoder class. \end{DoxyCompactList}\item 
class \hyperlink{classSPL_1_1BinArithDecoder}{S\+P\+L\+::\+Bin\+Arith\+Decoder}
\begin{DoxyCompactList}\small\item\em Binary arithmetic decoder class. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Functions}
\begin{DoxyCompactItemize}
\item 
static std\+::ostream \& \hyperlink{group__ArithCoder_gacd0f0dfac4695c99c42724c4b5ff3ecc}{S\+P\+L\+::\+Multi\+Arith\+Encoder\+::get\+Debug\+Stream} ()
\begin{DoxyCompactList}\small\item\em Get the stream for debugging output. \end{DoxyCompactList}\item 
Output\+Bit\+Stream $\ast$ \hyperlink{group__ArithCoder_gaca2c2b248f8b8e9b98003a4097cd8d07}{S\+P\+L\+::\+Multi\+Arith\+Encoder\+::get\+Output} ()
\begin{DoxyCompactList}\small\item\em Get the bit stream used for output. \end{DoxyCompactList}\item 
void \hyperlink{group__ArithCoder_ga3df5b555de01fd3255bda608cd9b5582}{S\+P\+L\+::\+Multi\+Arith\+Encoder\+::set\+Output} (Output\+Bit\+Stream $\ast$out)
\begin{DoxyCompactList}\small\item\em Set the bit stream used for output. \end{DoxyCompactList}\item 
S\+P\+L\+\_\+\+Arith\+Coder\+\_\+ulong \hyperlink{group__ArithCoder_ga3f0a1bebb853d58407f98bacbbd241a2}{S\+P\+L\+::\+Multi\+Arith\+Encoder\+::get\+Sym\+Count} () const 
\begin{DoxyCompactList}\small\item\em Get the number of symbols encoded so far. \end{DoxyCompactList}\item 
S\+P\+L\+\_\+\+Arith\+Coder\+\_\+ulong \hyperlink{group__ArithCoder_ga1477dac99a483fad329d8668a467a7c8}{S\+P\+L\+::\+Multi\+Arith\+Encoder\+::get\+Bit\+Count} () const 
\begin{DoxyCompactList}\small\item\em Get the number of bits of output generated so far including bits awaiting output. \end{DoxyCompactList}\item 
static void \hyperlink{group__ArithCoder_ga23d9628fb6a39e5e419de26c588e3238}{S\+P\+L\+::\+Multi\+Arith\+Encoder\+::set\+Debug\+Level} (int debug\+Level)
\begin{DoxyCompactList}\small\item\em Set the debug level. \end{DoxyCompactList}\item 
static void \hyperlink{group__ArithCoder_ga1b6fff935d0aac375f58d6b9535947d1}{S\+P\+L\+::\+Multi\+Arith\+Encoder\+::set\+Debug\+Stream} (std\+::ostream \&out)
\begin{DoxyCompactList}\small\item\em Set the stream for debugging output. \end{DoxyCompactList}\item 
int \hyperlink{group__ArithCoder_ga5abf803588b6797443aae8a24314de28}{S\+P\+L\+::\+Multi\+Arith\+Encoder\+::get\+Max\+Contexts} () const 
\begin{DoxyCompactList}\small\item\em Get the maximum number of contexts. \end{DoxyCompactList}\item 
static std\+::ostream \& \hyperlink{group__ArithCoder_ga85c0fd535728f705d5d26f20b94a2def}{S\+P\+L\+::\+Multi\+Arith\+Decoder\+::get\+Debug\+Stream} ()
\begin{DoxyCompactList}\small\item\em Get the stream used for debugging output. \end{DoxyCompactList}\item 
Input\+Bit\+Stream $\ast$ \hyperlink{group__ArithCoder_ga23bd62324652328105354fbb23ec4b57}{S\+P\+L\+::\+Multi\+Arith\+Decoder\+::get\+Input} () const 
\begin{DoxyCompactList}\small\item\em Get the bit stream from which to read encoded data. \end{DoxyCompactList}\item 
void \hyperlink{group__ArithCoder_ga2be590d3842a83399b3a8a2a6ea3c74f}{S\+P\+L\+::\+Multi\+Arith\+Decoder\+::set\+Input} (Input\+Bit\+Stream $\ast$in)
\begin{DoxyCompactList}\small\item\em Set the bit stream from which to read encoded data. \end{DoxyCompactList}\item 
S\+P\+L\+\_\+\+Arith\+Coder\+\_\+ulong \hyperlink{group__ArithCoder_ga46f8b73cf40d0c5254296d2b0fab8da4}{S\+P\+L\+::\+Multi\+Arith\+Decoder\+::get\+Bit\+Count} () const 
\begin{DoxyCompactList}\small\item\em Get the number of bits read so far. \end{DoxyCompactList}\item 
S\+P\+L\+\_\+\+Arith\+Coder\+\_\+ulong \hyperlink{group__ArithCoder_gaefca821248ee1f439026c99a920f1f6a}{S\+P\+L\+::\+Multi\+Arith\+Decoder\+::get\+Sym\+Count} () const 
\begin{DoxyCompactList}\small\item\em Get the number of symbols decoded so far. \end{DoxyCompactList}\item 
static void \hyperlink{group__ArithCoder_gab610f2dc3a47a20be15f74de19b02414}{S\+P\+L\+::\+Multi\+Arith\+Decoder\+::set\+Debug\+Level} (int debug\+Level)
\begin{DoxyCompactList}\small\item\em Set the debug level. \end{DoxyCompactList}\item 
static void \hyperlink{group__ArithCoder_gaf4a86b2d81388bfd4bbcd3fcbe3cbe91}{S\+P\+L\+::\+Multi\+Arith\+Decoder\+::set\+Debug\+Stream} (std\+::ostream \&out)
\begin{DoxyCompactList}\small\item\em Set the stream to use for debugging output. \end{DoxyCompactList}\item 
int \hyperlink{group__ArithCoder_ga577a12fb53226f44aa801e774841c7a4}{S\+P\+L\+::\+Multi\+Arith\+Decoder\+::get\+Max\+Contexts} () const 
\begin{DoxyCompactList}\small\item\em Get the maximum number of contexts. \end{DoxyCompactList}\item 
S\+P\+L\+\_\+\+Arith\+Coder\+\_\+ulong \hyperlink{group__ArithCoder_gafb63f84d1c15a7b7350d4b467cf930f9}{S\+P\+L\+::\+Bin\+Arith\+Encoder\+::get\+Sym\+Count} () const 
\begin{DoxyCompactList}\small\item\em Get the number of symbols output so far. \end{DoxyCompactList}\item 
S\+P\+L\+\_\+\+Arith\+Coder\+\_\+ulong \hyperlink{group__ArithCoder_ga50f2d044ad72683a9e14b4204a977dc3}{S\+P\+L\+::\+Bin\+Arith\+Encoder\+::get\+Bit\+Count} () const 
\begin{DoxyCompactList}\small\item\em Get the number of bits output so far. \end{DoxyCompactList}\item 
Output\+Bit\+Stream $\ast$ \hyperlink{group__ArithCoder_ga2407971b23de392e808c108ad8fab6ff}{S\+P\+L\+::\+Bin\+Arith\+Encoder\+::get\+Output} () const 
\begin{DoxyCompactList}\small\item\em Get the bit stream to which encoded data should be written. \end{DoxyCompactList}\item 
int \hyperlink{group__ArithCoder_ga09e1ee8987886cbab62ef2032c55eb55}{S\+P\+L\+::\+Bin\+Arith\+Encoder\+::get\+Num\+Contexts} () const 
\begin{DoxyCompactList}\small\item\em Get the number of contexts. \end{DoxyCompactList}\item 
static void \hyperlink{group__ArithCoder_ga0cfb56b6f52ab2cec145d929afb275e6}{S\+P\+L\+::\+Bin\+Arith\+Encoder\+::set\+Debug\+Stream} (std\+::ostream \&out)
\begin{DoxyCompactList}\small\item\em Set the stream to use for debugging output. \end{DoxyCompactList}\item 
static std\+::ostream \& \hyperlink{group__ArithCoder_gac5bb19d3d3511dde13f503cfa8b45a80}{S\+P\+L\+::\+Bin\+Arith\+Encoder\+::get\+Debug\+Stream} ()
\begin{DoxyCompactList}\small\item\em Get the stream used for debugging output. \end{DoxyCompactList}\item 
static void \hyperlink{group__ArithCoder_ga74b1486fbe4ca0d2845a2206a58eefa3}{S\+P\+L\+::\+Bin\+Arith\+Encoder\+::set\+Debug\+Level} (int debug\+Level)
\begin{DoxyCompactList}\small\item\em Set the debug level. \end{DoxyCompactList}\item 
void \hyperlink{group__ArithCoder_gadd14a704c1e2fe7eea549462c79d71dc}{S\+P\+L\+::\+Bin\+Arith\+Encoder\+::set\+Output} (Output\+Bit\+Stream $\ast$out)
\begin{DoxyCompactList}\small\item\em Set the bit stream to which encoded data should be written. \end{DoxyCompactList}\item 
S\+P\+L\+\_\+\+Arith\+Coder\+\_\+ulong \hyperlink{group__ArithCoder_ga8d3afa4aa788b0a0c6c7215bbd89a3d6}{S\+P\+L\+::\+Bin\+Arith\+Decoder\+::get\+Sym\+Count} () const 
\begin{DoxyCompactList}\small\item\em Get the number of symbols decoded so far. \end{DoxyCompactList}\item 
S\+P\+L\+\_\+\+Arith\+Coder\+\_\+ulong \hyperlink{group__ArithCoder_gacf8bff5789cb524d2bd9ff79c0ef09a9}{S\+P\+L\+::\+Bin\+Arith\+Decoder\+::get\+Bit\+Count} () const 
\begin{DoxyCompactList}\small\item\em Get the number of bits read so far. \end{DoxyCompactList}\item 
Input\+Bit\+Stream $\ast$ \hyperlink{group__ArithCoder_ga1bf7f26558c0d6750910e88f9c812a3f}{S\+P\+L\+::\+Bin\+Arith\+Decoder\+::get\+Input} () const 
\begin{DoxyCompactList}\small\item\em Get the bit stream from which to read encoded data. \end{DoxyCompactList}\item 
int \hyperlink{group__ArithCoder_ga5f52148ae3c83c85d2d4bb5a58448ca6}{S\+P\+L\+::\+Bin\+Arith\+Decoder\+::get\+Num\+Contexts} () const 
\begin{DoxyCompactList}\small\item\em Get the number of contexts. \end{DoxyCompactList}\item 
static void \hyperlink{group__ArithCoder_ga35b518d35fc868f8c962efd04ec2c068}{S\+P\+L\+::\+Bin\+Arith\+Decoder\+::set\+Debug\+Stream} (std\+::ostream \&out)
\begin{DoxyCompactList}\small\item\em Set the stream to be used for debugging output. \end{DoxyCompactList}\item 
static std\+::ostream \& \hyperlink{group__ArithCoder_ga2174c4f28c8cc305d7db21410356b7e6}{S\+P\+L\+::\+Bin\+Arith\+Decoder\+::get\+Debug\+Stream} ()
\begin{DoxyCompactList}\small\item\em Get the stream used for debugging output. \end{DoxyCompactList}\item 
static void \hyperlink{group__ArithCoder_gaef0c845e69da4d0a6939b28d630c3227}{S\+P\+L\+::\+Bin\+Arith\+Decoder\+::set\+Debug\+Level} (int debug\+Level)
\begin{DoxyCompactList}\small\item\em Set the debug level. \end{DoxyCompactList}\item 
void \hyperlink{group__ArithCoder_gacc3930e2a540e9a2d71c0eeb72a435b1}{S\+P\+L\+::\+Bin\+Arith\+Decoder\+::set\+Input} (Input\+Bit\+Stream $\ast$in)
\begin{DoxyCompactList}\small\item\em Set the bit stream from which to read encoded data. \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}
Binary and m-\/ary arithmetic coders. 



\subsection{Function Documentation}
\hypertarget{group__ArithCoder_ga1477dac99a483fad329d8668a467a7c8}{}\index{Binary and m-\/ary Arithmetic Coders@{Binary and m-\/ary Arithmetic Coders}!get\+Bit\+Count@{get\+Bit\+Count}}
\index{get\+Bit\+Count@{get\+Bit\+Count}!Binary and m-\/ary Arithmetic Coders@{Binary and m-\/ary Arithmetic Coders}}
\subsubsection[{get\+Bit\+Count}]{\setlength{\rightskip}{0pt plus 5cm}S\+P\+L\+\_\+\+Arith\+Coder\+\_\+ulong S\+P\+L\+::\+Multi\+Arith\+Encoder\+::get\+Bit\+Count (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [inline]}}\label{group__ArithCoder_ga1477dac99a483fad329d8668a467a7c8}


Get the number of bits of output generated so far including bits awaiting output. 

\hypertarget{group__ArithCoder_ga46f8b73cf40d0c5254296d2b0fab8da4}{}\index{Binary and m-\/ary Arithmetic Coders@{Binary and m-\/ary Arithmetic Coders}!get\+Bit\+Count@{get\+Bit\+Count}}
\index{get\+Bit\+Count@{get\+Bit\+Count}!Binary and m-\/ary Arithmetic Coders@{Binary and m-\/ary Arithmetic Coders}}
\subsubsection[{get\+Bit\+Count}]{\setlength{\rightskip}{0pt plus 5cm}S\+P\+L\+\_\+\+Arith\+Coder\+\_\+ulong S\+P\+L\+::\+Multi\+Arith\+Decoder\+::get\+Bit\+Count (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [inline]}}\label{group__ArithCoder_ga46f8b73cf40d0c5254296d2b0fab8da4}


Get the number of bits read so far. 

\hypertarget{group__ArithCoder_ga50f2d044ad72683a9e14b4204a977dc3}{}\index{Binary and m-\/ary Arithmetic Coders@{Binary and m-\/ary Arithmetic Coders}!get\+Bit\+Count@{get\+Bit\+Count}}
\index{get\+Bit\+Count@{get\+Bit\+Count}!Binary and m-\/ary Arithmetic Coders@{Binary and m-\/ary Arithmetic Coders}}
\subsubsection[{get\+Bit\+Count}]{\setlength{\rightskip}{0pt plus 5cm}S\+P\+L\+\_\+\+Arith\+Coder\+\_\+ulong S\+P\+L\+::\+Bin\+Arith\+Encoder\+::get\+Bit\+Count (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [inline]}}\label{group__ArithCoder_ga50f2d044ad72683a9e14b4204a977dc3}


Get the number of bits output so far. 

This function gets the number of bits output so far by the arithmetic encoder.

\begin{DoxyReturn}{Returns}
The number of bits output so far is returned. 
\end{DoxyReturn}
\hypertarget{group__ArithCoder_gacf8bff5789cb524d2bd9ff79c0ef09a9}{}\index{Binary and m-\/ary Arithmetic Coders@{Binary and m-\/ary Arithmetic Coders}!get\+Bit\+Count@{get\+Bit\+Count}}
\index{get\+Bit\+Count@{get\+Bit\+Count}!Binary and m-\/ary Arithmetic Coders@{Binary and m-\/ary Arithmetic Coders}}
\subsubsection[{get\+Bit\+Count}]{\setlength{\rightskip}{0pt plus 5cm}S\+P\+L\+\_\+\+Arith\+Coder\+\_\+ulong S\+P\+L\+::\+Bin\+Arith\+Decoder\+::get\+Bit\+Count (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [inline]}}\label{group__ArithCoder_gacf8bff5789cb524d2bd9ff79c0ef09a9}


Get the number of bits read so far. 

This function gets the number of bits read so far by the arithmetic decoder.

\begin{DoxyReturn}{Returns}
The number of bits read so far is returned. 
\end{DoxyReturn}
\hypertarget{group__ArithCoder_gacd0f0dfac4695c99c42724c4b5ff3ecc}{}\index{Binary and m-\/ary Arithmetic Coders@{Binary and m-\/ary Arithmetic Coders}!get\+Debug\+Stream@{get\+Debug\+Stream}}
\index{get\+Debug\+Stream@{get\+Debug\+Stream}!Binary and m-\/ary Arithmetic Coders@{Binary and m-\/ary Arithmetic Coders}}
\subsubsection[{get\+Debug\+Stream}]{\setlength{\rightskip}{0pt plus 5cm}std\+::ostream \& S\+P\+L\+::\+Multi\+Arith\+Encoder\+::get\+Debug\+Stream (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}\label{group__ArithCoder_gacd0f0dfac4695c99c42724c4b5ff3ecc}


Get the stream for debugging output. 

\hypertarget{group__ArithCoder_ga85c0fd535728f705d5d26f20b94a2def}{}\index{Binary and m-\/ary Arithmetic Coders@{Binary and m-\/ary Arithmetic Coders}!get\+Debug\+Stream@{get\+Debug\+Stream}}
\index{get\+Debug\+Stream@{get\+Debug\+Stream}!Binary and m-\/ary Arithmetic Coders@{Binary and m-\/ary Arithmetic Coders}}
\subsubsection[{get\+Debug\+Stream}]{\setlength{\rightskip}{0pt plus 5cm}std\+::ostream \& S\+P\+L\+::\+Multi\+Arith\+Decoder\+::get\+Debug\+Stream (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}\label{group__ArithCoder_ga85c0fd535728f705d5d26f20b94a2def}


Get the stream used for debugging output. 

\hypertarget{group__ArithCoder_gac5bb19d3d3511dde13f503cfa8b45a80}{}\index{Binary and m-\/ary Arithmetic Coders@{Binary and m-\/ary Arithmetic Coders}!get\+Debug\+Stream@{get\+Debug\+Stream}}
\index{get\+Debug\+Stream@{get\+Debug\+Stream}!Binary and m-\/ary Arithmetic Coders@{Binary and m-\/ary Arithmetic Coders}}
\subsubsection[{get\+Debug\+Stream}]{\setlength{\rightskip}{0pt plus 5cm}std\+::ostream \& S\+P\+L\+::\+Bin\+Arith\+Encoder\+::get\+Debug\+Stream (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}\label{group__ArithCoder_gac5bb19d3d3511dde13f503cfa8b45a80}


Get the stream used for debugging output. 

\hypertarget{group__ArithCoder_ga2174c4f28c8cc305d7db21410356b7e6}{}\index{Binary and m-\/ary Arithmetic Coders@{Binary and m-\/ary Arithmetic Coders}!get\+Debug\+Stream@{get\+Debug\+Stream}}
\index{get\+Debug\+Stream@{get\+Debug\+Stream}!Binary and m-\/ary Arithmetic Coders@{Binary and m-\/ary Arithmetic Coders}}
\subsubsection[{get\+Debug\+Stream}]{\setlength{\rightskip}{0pt plus 5cm}std\+::ostream \& S\+P\+L\+::\+Bin\+Arith\+Decoder\+::get\+Debug\+Stream (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}\label{group__ArithCoder_ga2174c4f28c8cc305d7db21410356b7e6}


Get the stream used for debugging output. 

\hypertarget{group__ArithCoder_ga23bd62324652328105354fbb23ec4b57}{}\index{Binary and m-\/ary Arithmetic Coders@{Binary and m-\/ary Arithmetic Coders}!get\+Input@{get\+Input}}
\index{get\+Input@{get\+Input}!Binary and m-\/ary Arithmetic Coders@{Binary and m-\/ary Arithmetic Coders}}
\subsubsection[{get\+Input}]{\setlength{\rightskip}{0pt plus 5cm}Input\+Bit\+Stream $\ast$ S\+P\+L\+::\+Multi\+Arith\+Decoder\+::get\+Input (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [inline]}}\label{group__ArithCoder_ga23bd62324652328105354fbb23ec4b57}


Get the bit stream from which to read encoded data. 

\hypertarget{group__ArithCoder_ga1bf7f26558c0d6750910e88f9c812a3f}{}\index{Binary and m-\/ary Arithmetic Coders@{Binary and m-\/ary Arithmetic Coders}!get\+Input@{get\+Input}}
\index{get\+Input@{get\+Input}!Binary and m-\/ary Arithmetic Coders@{Binary and m-\/ary Arithmetic Coders}}
\subsubsection[{get\+Input}]{\setlength{\rightskip}{0pt plus 5cm}Input\+Bit\+Stream $\ast$ S\+P\+L\+::\+Bin\+Arith\+Decoder\+::get\+Input (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [inline]}}\label{group__ArithCoder_ga1bf7f26558c0d6750910e88f9c812a3f}


Get the bit stream from which to read encoded data. 

This function gets the bit stream from which to read encoded data.

\begin{DoxyReturn}{Returns}
A pointer to the bit stream is returned. 
\end{DoxyReturn}
\hypertarget{group__ArithCoder_ga5abf803588b6797443aae8a24314de28}{}\index{Binary and m-\/ary Arithmetic Coders@{Binary and m-\/ary Arithmetic Coders}!get\+Max\+Contexts@{get\+Max\+Contexts}}
\index{get\+Max\+Contexts@{get\+Max\+Contexts}!Binary and m-\/ary Arithmetic Coders@{Binary and m-\/ary Arithmetic Coders}}
\subsubsection[{get\+Max\+Contexts}]{\setlength{\rightskip}{0pt plus 5cm}int S\+P\+L\+::\+Multi\+Arith\+Encoder\+::get\+Max\+Contexts (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [inline]}}\label{group__ArithCoder_ga5abf803588b6797443aae8a24314de28}


Get the maximum number of contexts. 

\hypertarget{group__ArithCoder_ga577a12fb53226f44aa801e774841c7a4}{}\index{Binary and m-\/ary Arithmetic Coders@{Binary and m-\/ary Arithmetic Coders}!get\+Max\+Contexts@{get\+Max\+Contexts}}
\index{get\+Max\+Contexts@{get\+Max\+Contexts}!Binary and m-\/ary Arithmetic Coders@{Binary and m-\/ary Arithmetic Coders}}
\subsubsection[{get\+Max\+Contexts}]{\setlength{\rightskip}{0pt plus 5cm}int S\+P\+L\+::\+Multi\+Arith\+Decoder\+::get\+Max\+Contexts (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [inline]}}\label{group__ArithCoder_ga577a12fb53226f44aa801e774841c7a4}


Get the maximum number of contexts. 

\hypertarget{group__ArithCoder_ga09e1ee8987886cbab62ef2032c55eb55}{}\index{Binary and m-\/ary Arithmetic Coders@{Binary and m-\/ary Arithmetic Coders}!get\+Num\+Contexts@{get\+Num\+Contexts}}
\index{get\+Num\+Contexts@{get\+Num\+Contexts}!Binary and m-\/ary Arithmetic Coders@{Binary and m-\/ary Arithmetic Coders}}
\subsubsection[{get\+Num\+Contexts}]{\setlength{\rightskip}{0pt plus 5cm}int S\+P\+L\+::\+Bin\+Arith\+Encoder\+::get\+Num\+Contexts (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [inline]}}\label{group__ArithCoder_ga09e1ee8987886cbab62ef2032c55eb55}


Get the number of contexts. 

This function gets the number of contexts employed by the arithmetic encoder.

\begin{DoxyReturn}{Returns}
The number of contexts is returned. 
\end{DoxyReturn}
\hypertarget{group__ArithCoder_ga5f52148ae3c83c85d2d4bb5a58448ca6}{}\index{Binary and m-\/ary Arithmetic Coders@{Binary and m-\/ary Arithmetic Coders}!get\+Num\+Contexts@{get\+Num\+Contexts}}
\index{get\+Num\+Contexts@{get\+Num\+Contexts}!Binary and m-\/ary Arithmetic Coders@{Binary and m-\/ary Arithmetic Coders}}
\subsubsection[{get\+Num\+Contexts}]{\setlength{\rightskip}{0pt plus 5cm}int S\+P\+L\+::\+Bin\+Arith\+Decoder\+::get\+Num\+Contexts (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [inline]}}\label{group__ArithCoder_ga5f52148ae3c83c85d2d4bb5a58448ca6}


Get the number of contexts. 

This function gets the number of contexts employed by the arithmetic decoder.

\begin{DoxyReturn}{Returns}
The number of contexts is returned. 
\end{DoxyReturn}
\hypertarget{group__ArithCoder_gaca2c2b248f8b8e9b98003a4097cd8d07}{}\index{Binary and m-\/ary Arithmetic Coders@{Binary and m-\/ary Arithmetic Coders}!get\+Output@{get\+Output}}
\index{get\+Output@{get\+Output}!Binary and m-\/ary Arithmetic Coders@{Binary and m-\/ary Arithmetic Coders}}
\subsubsection[{get\+Output}]{\setlength{\rightskip}{0pt plus 5cm}Output\+Bit\+Stream $\ast$ S\+P\+L\+::\+Multi\+Arith\+Encoder\+::get\+Output (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}}\label{group__ArithCoder_gaca2c2b248f8b8e9b98003a4097cd8d07}


Get the bit stream used for output. 

\hypertarget{group__ArithCoder_ga2407971b23de392e808c108ad8fab6ff}{}\index{Binary and m-\/ary Arithmetic Coders@{Binary and m-\/ary Arithmetic Coders}!get\+Output@{get\+Output}}
\index{get\+Output@{get\+Output}!Binary and m-\/ary Arithmetic Coders@{Binary and m-\/ary Arithmetic Coders}}
\subsubsection[{get\+Output}]{\setlength{\rightskip}{0pt plus 5cm}Output\+Bit\+Stream $\ast$ S\+P\+L\+::\+Bin\+Arith\+Encoder\+::get\+Output (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [inline]}}\label{group__ArithCoder_ga2407971b23de392e808c108ad8fab6ff}


Get the bit stream to which encoded data should be written. 

This function gets the bit stream to which encoded data should be written.

\begin{DoxyReturn}{Returns}
A pointer to the output bit stream is returned. 
\end{DoxyReturn}
\hypertarget{group__ArithCoder_ga3f0a1bebb853d58407f98bacbbd241a2}{}\index{Binary and m-\/ary Arithmetic Coders@{Binary and m-\/ary Arithmetic Coders}!get\+Sym\+Count@{get\+Sym\+Count}}
\index{get\+Sym\+Count@{get\+Sym\+Count}!Binary and m-\/ary Arithmetic Coders@{Binary and m-\/ary Arithmetic Coders}}
\subsubsection[{get\+Sym\+Count}]{\setlength{\rightskip}{0pt plus 5cm}S\+P\+L\+\_\+\+Arith\+Coder\+\_\+ulong S\+P\+L\+::\+Multi\+Arith\+Encoder\+::get\+Sym\+Count (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [inline]}}\label{group__ArithCoder_ga3f0a1bebb853d58407f98bacbbd241a2}


Get the number of symbols encoded so far. 

\hypertarget{group__ArithCoder_gaefca821248ee1f439026c99a920f1f6a}{}\index{Binary and m-\/ary Arithmetic Coders@{Binary and m-\/ary Arithmetic Coders}!get\+Sym\+Count@{get\+Sym\+Count}}
\index{get\+Sym\+Count@{get\+Sym\+Count}!Binary and m-\/ary Arithmetic Coders@{Binary and m-\/ary Arithmetic Coders}}
\subsubsection[{get\+Sym\+Count}]{\setlength{\rightskip}{0pt plus 5cm}S\+P\+L\+\_\+\+Arith\+Coder\+\_\+ulong S\+P\+L\+::\+Multi\+Arith\+Decoder\+::get\+Sym\+Count (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [inline]}}\label{group__ArithCoder_gaefca821248ee1f439026c99a920f1f6a}


Get the number of symbols decoded so far. 

\hypertarget{group__ArithCoder_gafb63f84d1c15a7b7350d4b467cf930f9}{}\index{Binary and m-\/ary Arithmetic Coders@{Binary and m-\/ary Arithmetic Coders}!get\+Sym\+Count@{get\+Sym\+Count}}
\index{get\+Sym\+Count@{get\+Sym\+Count}!Binary and m-\/ary Arithmetic Coders@{Binary and m-\/ary Arithmetic Coders}}
\subsubsection[{get\+Sym\+Count}]{\setlength{\rightskip}{0pt plus 5cm}S\+P\+L\+\_\+\+Arith\+Coder\+\_\+ulong S\+P\+L\+::\+Bin\+Arith\+Encoder\+::get\+Sym\+Count (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [inline]}}\label{group__ArithCoder_gafb63f84d1c15a7b7350d4b467cf930f9}


Get the number of symbols output so far. 

This function gets the number of symbols output so far by the arithmetic encoder.

\begin{DoxyReturn}{Returns}
The number of symbols output so far is returned. 
\end{DoxyReturn}
\hypertarget{group__ArithCoder_ga8d3afa4aa788b0a0c6c7215bbd89a3d6}{}\index{Binary and m-\/ary Arithmetic Coders@{Binary and m-\/ary Arithmetic Coders}!get\+Sym\+Count@{get\+Sym\+Count}}
\index{get\+Sym\+Count@{get\+Sym\+Count}!Binary and m-\/ary Arithmetic Coders@{Binary and m-\/ary Arithmetic Coders}}
\subsubsection[{get\+Sym\+Count}]{\setlength{\rightskip}{0pt plus 5cm}S\+P\+L\+\_\+\+Arith\+Coder\+\_\+ulong S\+P\+L\+::\+Bin\+Arith\+Decoder\+::get\+Sym\+Count (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [inline]}}\label{group__ArithCoder_ga8d3afa4aa788b0a0c6c7215bbd89a3d6}


Get the number of symbols decoded so far. 

This function gets the number of symbols decoded so far by the arithmetic decoder.

\begin{DoxyReturn}{Returns}
The number of symbols decoded so far is returned. 
\end{DoxyReturn}
\hypertarget{group__ArithCoder_ga23d9628fb6a39e5e419de26c588e3238}{}\index{Binary and m-\/ary Arithmetic Coders@{Binary and m-\/ary Arithmetic Coders}!set\+Debug\+Level@{set\+Debug\+Level}}
\index{set\+Debug\+Level@{set\+Debug\+Level}!Binary and m-\/ary Arithmetic Coders@{Binary and m-\/ary Arithmetic Coders}}
\subsubsection[{set\+Debug\+Level}]{\setlength{\rightskip}{0pt plus 5cm}void S\+P\+L\+::\+Multi\+Arith\+Encoder\+::set\+Debug\+Level (
\begin{DoxyParamCaption}
\item[{int}]{debug\+Level}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}\label{group__ArithCoder_ga23d9628fb6a39e5e419de26c588e3238}


Set the debug level. 

\hypertarget{group__ArithCoder_gab610f2dc3a47a20be15f74de19b02414}{}\index{Binary and m-\/ary Arithmetic Coders@{Binary and m-\/ary Arithmetic Coders}!set\+Debug\+Level@{set\+Debug\+Level}}
\index{set\+Debug\+Level@{set\+Debug\+Level}!Binary and m-\/ary Arithmetic Coders@{Binary and m-\/ary Arithmetic Coders}}
\subsubsection[{set\+Debug\+Level}]{\setlength{\rightskip}{0pt plus 5cm}void S\+P\+L\+::\+Multi\+Arith\+Decoder\+::set\+Debug\+Level (
\begin{DoxyParamCaption}
\item[{int}]{debug\+Level}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}\label{group__ArithCoder_gab610f2dc3a47a20be15f74de19b02414}


Set the debug level. 

\hypertarget{group__ArithCoder_ga74b1486fbe4ca0d2845a2206a58eefa3}{}\index{Binary and m-\/ary Arithmetic Coders@{Binary and m-\/ary Arithmetic Coders}!set\+Debug\+Level@{set\+Debug\+Level}}
\index{set\+Debug\+Level@{set\+Debug\+Level}!Binary and m-\/ary Arithmetic Coders@{Binary and m-\/ary Arithmetic Coders}}
\subsubsection[{set\+Debug\+Level}]{\setlength{\rightskip}{0pt plus 5cm}void S\+P\+L\+::\+Bin\+Arith\+Encoder\+::set\+Debug\+Level (
\begin{DoxyParamCaption}
\item[{int}]{debug\+Level}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}\label{group__ArithCoder_ga74b1486fbe4ca0d2845a2206a58eefa3}


Set the debug level. 

\hypertarget{group__ArithCoder_gaef0c845e69da4d0a6939b28d630c3227}{}\index{Binary and m-\/ary Arithmetic Coders@{Binary and m-\/ary Arithmetic Coders}!set\+Debug\+Level@{set\+Debug\+Level}}
\index{set\+Debug\+Level@{set\+Debug\+Level}!Binary and m-\/ary Arithmetic Coders@{Binary and m-\/ary Arithmetic Coders}}
\subsubsection[{set\+Debug\+Level}]{\setlength{\rightskip}{0pt plus 5cm}void S\+P\+L\+::\+Bin\+Arith\+Decoder\+::set\+Debug\+Level (
\begin{DoxyParamCaption}
\item[{int}]{debug\+Level}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}\label{group__ArithCoder_gaef0c845e69da4d0a6939b28d630c3227}


Set the debug level. 

\hypertarget{group__ArithCoder_ga1b6fff935d0aac375f58d6b9535947d1}{}\index{Binary and m-\/ary Arithmetic Coders@{Binary and m-\/ary Arithmetic Coders}!set\+Debug\+Stream@{set\+Debug\+Stream}}
\index{set\+Debug\+Stream@{set\+Debug\+Stream}!Binary and m-\/ary Arithmetic Coders@{Binary and m-\/ary Arithmetic Coders}}
\subsubsection[{set\+Debug\+Stream}]{\setlength{\rightskip}{0pt plus 5cm}void S\+P\+L\+::\+Multi\+Arith\+Encoder\+::set\+Debug\+Stream (
\begin{DoxyParamCaption}
\item[{std\+::ostream \&}]{out}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}\label{group__ArithCoder_ga1b6fff935d0aac375f58d6b9535947d1}


Set the stream for debugging output. 

\hypertarget{group__ArithCoder_gaf4a86b2d81388bfd4bbcd3fcbe3cbe91}{}\index{Binary and m-\/ary Arithmetic Coders@{Binary and m-\/ary Arithmetic Coders}!set\+Debug\+Stream@{set\+Debug\+Stream}}
\index{set\+Debug\+Stream@{set\+Debug\+Stream}!Binary and m-\/ary Arithmetic Coders@{Binary and m-\/ary Arithmetic Coders}}
\subsubsection[{set\+Debug\+Stream}]{\setlength{\rightskip}{0pt plus 5cm}void S\+P\+L\+::\+Multi\+Arith\+Decoder\+::set\+Debug\+Stream (
\begin{DoxyParamCaption}
\item[{std\+::ostream \&}]{out}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}\label{group__ArithCoder_gaf4a86b2d81388bfd4bbcd3fcbe3cbe91}


Set the stream to use for debugging output. 

\hypertarget{group__ArithCoder_ga0cfb56b6f52ab2cec145d929afb275e6}{}\index{Binary and m-\/ary Arithmetic Coders@{Binary and m-\/ary Arithmetic Coders}!set\+Debug\+Stream@{set\+Debug\+Stream}}
\index{set\+Debug\+Stream@{set\+Debug\+Stream}!Binary and m-\/ary Arithmetic Coders@{Binary and m-\/ary Arithmetic Coders}}
\subsubsection[{set\+Debug\+Stream}]{\setlength{\rightskip}{0pt plus 5cm}void S\+P\+L\+::\+Bin\+Arith\+Encoder\+::set\+Debug\+Stream (
\begin{DoxyParamCaption}
\item[{std\+::ostream \&}]{out}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}\label{group__ArithCoder_ga0cfb56b6f52ab2cec145d929afb275e6}


Set the stream to use for debugging output. 

\hypertarget{group__ArithCoder_ga35b518d35fc868f8c962efd04ec2c068}{}\index{Binary and m-\/ary Arithmetic Coders@{Binary and m-\/ary Arithmetic Coders}!set\+Debug\+Stream@{set\+Debug\+Stream}}
\index{set\+Debug\+Stream@{set\+Debug\+Stream}!Binary and m-\/ary Arithmetic Coders@{Binary and m-\/ary Arithmetic Coders}}
\subsubsection[{set\+Debug\+Stream}]{\setlength{\rightskip}{0pt plus 5cm}void S\+P\+L\+::\+Bin\+Arith\+Decoder\+::set\+Debug\+Stream (
\begin{DoxyParamCaption}
\item[{std\+::ostream \&}]{out}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}\label{group__ArithCoder_ga35b518d35fc868f8c962efd04ec2c068}


Set the stream to be used for debugging output. 

\hypertarget{group__ArithCoder_ga2be590d3842a83399b3a8a2a6ea3c74f}{}\index{Binary and m-\/ary Arithmetic Coders@{Binary and m-\/ary Arithmetic Coders}!set\+Input@{set\+Input}}
\index{set\+Input@{set\+Input}!Binary and m-\/ary Arithmetic Coders@{Binary and m-\/ary Arithmetic Coders}}
\subsubsection[{set\+Input}]{\setlength{\rightskip}{0pt plus 5cm}void S\+P\+L\+::\+Multi\+Arith\+Decoder\+::set\+Input (
\begin{DoxyParamCaption}
\item[{{\bf Input\+Bit\+Stream} $\ast$}]{in}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}}\label{group__ArithCoder_ga2be590d3842a83399b3a8a2a6ea3c74f}


Set the bit stream from which to read encoded data. 

\hypertarget{group__ArithCoder_gacc3930e2a540e9a2d71c0eeb72a435b1}{}\index{Binary and m-\/ary Arithmetic Coders@{Binary and m-\/ary Arithmetic Coders}!set\+Input@{set\+Input}}
\index{set\+Input@{set\+Input}!Binary and m-\/ary Arithmetic Coders@{Binary and m-\/ary Arithmetic Coders}}
\subsubsection[{set\+Input}]{\setlength{\rightskip}{0pt plus 5cm}void S\+P\+L\+::\+Bin\+Arith\+Decoder\+::set\+Input (
\begin{DoxyParamCaption}
\item[{{\bf Input\+Bit\+Stream} $\ast$}]{in}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}}\label{group__ArithCoder_gacc3930e2a540e9a2d71c0eeb72a435b1}


Set the bit stream from which to read encoded data. 


\begin{DoxyParams}{Parameters}
{\em in} & The input bit stream.\\
\hline
\end{DoxyParams}
This function sets the bit stream from which to read encoded data to {\ttfamily in}. \hypertarget{group__ArithCoder_ga3df5b555de01fd3255bda608cd9b5582}{}\index{Binary and m-\/ary Arithmetic Coders@{Binary and m-\/ary Arithmetic Coders}!set\+Output@{set\+Output}}
\index{set\+Output@{set\+Output}!Binary and m-\/ary Arithmetic Coders@{Binary and m-\/ary Arithmetic Coders}}
\subsubsection[{set\+Output}]{\setlength{\rightskip}{0pt plus 5cm}void S\+P\+L\+::\+Multi\+Arith\+Encoder\+::set\+Output (
\begin{DoxyParamCaption}
\item[{{\bf Output\+Bit\+Stream} $\ast$}]{out}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}}\label{group__ArithCoder_ga3df5b555de01fd3255bda608cd9b5582}


Set the bit stream used for output. 

\hypertarget{group__ArithCoder_gadd14a704c1e2fe7eea549462c79d71dc}{}\index{Binary and m-\/ary Arithmetic Coders@{Binary and m-\/ary Arithmetic Coders}!set\+Output@{set\+Output}}
\index{set\+Output@{set\+Output}!Binary and m-\/ary Arithmetic Coders@{Binary and m-\/ary Arithmetic Coders}}
\subsubsection[{set\+Output}]{\setlength{\rightskip}{0pt plus 5cm}void S\+P\+L\+::\+Bin\+Arith\+Encoder\+::set\+Output (
\begin{DoxyParamCaption}
\item[{{\bf Output\+Bit\+Stream} $\ast$}]{out}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}}\label{group__ArithCoder_gadd14a704c1e2fe7eea549462c79d71dc}


Set the bit stream to which encoded data should be written. 


\begin{DoxyParams}{Parameters}
{\em out} & The output bit stream.\\
\hline
\end{DoxyParams}
This function sets the bit stream to which encoded data should be written. 