\doxysection{src/coding/gsm0503\+\_\+amr\+\_\+dtx.c File Reference}
\label{gsm0503__amr__dtx_8c}\index{src/coding/gsm0503\_amr\_dtx.c@{src/coding/gsm0503\_amr\_dtx.c}}
{\ttfamily \#include $<$stdio.\+h$>$}\newline
{\ttfamily \#include $<$stdint.\+h$>$}\newline
{\ttfamily \#include $<$string.\+h$>$}\newline
{\ttfamily \#include $<$stdlib.\+h$>$}\newline
{\ttfamily \#include $<$errno.\+h$>$}\newline
{\ttfamily \#include $<$osmocom/core/bits.\+h$>$}\newline
{\ttfamily \#include $<$osmocom/core/conv.\+h$>$}\newline
{\ttfamily \#include $<$osmocom/core/utils.\+h$>$}\newline
{\ttfamily \#include $<$osmocom/coding/gsm0503\+\_\+amr\+\_\+dtx.\+h$>$}\newline
{\ttfamily \#include $<$osmocom/coding/gsm0503\+\_\+parity.\+h$>$}\newline
{\ttfamily \#include $<$osmocom/gsm/gsm0503.\+h$>$}\newline
\doxysubsection*{Macros}
\begin{DoxyCompactItemize}
\item 
\#define \textbf{ S2U}(b)~((b) $<$ 0)
\end{DoxyCompactItemize}
\doxysubsection*{Functions}
\begin{DoxyCompactItemize}
\item 
static bool \textbf{ detect\+\_\+afs\+\_\+id\+\_\+marker} (int $\ast$n\+\_\+errors, int $\ast$n\+\_\+bits\+\_\+total, const \textbf{ sbit\+\_\+t} $\ast$sbits, uint8\+\_\+t offset, uint8\+\_\+t count, const \textbf{ ubit\+\_\+t} $\ast$id\+\_\+marker, uint8\+\_\+t id\+\_\+marker\+\_\+len)
\item 
static bool \textbf{ detect\+\_\+ahs\+\_\+id\+\_\+marker} (int $\ast$n\+\_\+errors, int $\ast$n\+\_\+bits\+\_\+total, const \textbf{ sbit\+\_\+t} $\ast$sbits, const \textbf{ ubit\+\_\+t} $\ast$id\+\_\+marker)
\item 
static bool \textbf{ detect\+\_\+interleaved\+\_\+ahs\+\_\+id\+\_\+marker} (int $\ast$n\+\_\+errors, int $\ast$n\+\_\+bits\+\_\+total, const \textbf{ sbit\+\_\+t} $\ast$sbits, uint8\+\_\+t offset, uint8\+\_\+t n\+\_\+bits, const \textbf{ ubit\+\_\+t} $\ast$id\+\_\+marker, uint8\+\_\+t id\+\_\+marker\+\_\+len)
\item 
static bool \textbf{ detect\+\_\+afs\+\_\+sid\+\_\+first} (int $\ast$n\+\_\+errors, int $\ast$n\+\_\+bits\+\_\+total, const \textbf{ sbit\+\_\+t} $\ast$sbits)
\item 
static bool \textbf{ detect\+\_\+afs\+\_\+sid\+\_\+update} (int $\ast$n\+\_\+errors, int $\ast$n\+\_\+bits\+\_\+total, const \textbf{ sbit\+\_\+t} $\ast$sbits)
\item 
static int \textbf{ detect\+\_\+afs\+\_\+onset} (int $\ast$n\+\_\+errors, int $\ast$n\+\_\+bits\+\_\+total, const \textbf{ sbit\+\_\+t} $\ast$sbits)
\item 
static bool \textbf{ detect\+\_\+ahs\+\_\+sid\+\_\+update} (int $\ast$n\+\_\+errors, int $\ast$n\+\_\+bits\+\_\+total, const \textbf{ sbit\+\_\+t} $\ast$sbits)
\item 
static bool \textbf{ detect\+\_\+ahs\+\_\+sid\+\_\+first\+\_\+p1} (int $\ast$n\+\_\+errors, int $\ast$n\+\_\+bits\+\_\+total, const \textbf{ sbit\+\_\+t} $\ast$sbits)
\item 
static int \textbf{ detect\+\_\+ahs\+\_\+sid\+\_\+first\+\_\+p2} (int $\ast$n\+\_\+errors, int $\ast$n\+\_\+bits\+\_\+total, const \textbf{ sbit\+\_\+t} $\ast$sbits)
\item 
static int \textbf{ detect\+\_\+ahs\+\_\+onset} (int $\ast$n\+\_\+errors, int $\ast$n\+\_\+bits\+\_\+total, const \textbf{ sbit\+\_\+t} $\ast$sbits)
\item 
static bool \textbf{ detect\+\_\+ahs\+\_\+sid\+\_\+first\+\_\+inh} (int $\ast$n\+\_\+errors, int $\ast$n\+\_\+bits\+\_\+total, const \textbf{ sbit\+\_\+t} $\ast$sbits)
\item 
static bool \textbf{ detect\+\_\+ahs\+\_\+sid\+\_\+update\+\_\+inh} (int $\ast$n\+\_\+errors, int $\ast$n\+\_\+bits\+\_\+total, const \textbf{ sbit\+\_\+t} $\ast$sbits)
\item 
enum \textbf{ gsm0503\+\_\+amr\+\_\+dtx\+\_\+frames} \textbf{ gsm0503\+\_\+detect\+\_\+afs\+\_\+dtx\+\_\+frame2} (int $\ast$n\+\_\+errors, int $\ast$n\+\_\+bits\+\_\+total, int $\ast$mode\+\_\+id, const \textbf{ sbit\+\_\+t} $\ast$sbits)
\begin{DoxyCompactList}\small\item\em Detect FR AMR DTX frame in unmapped, deinterleaved frame bits. \end{DoxyCompactList}\item 
enum \textbf{ gsm0503\+\_\+amr\+\_\+dtx\+\_\+frames} \textbf{ gsm0503\+\_\+detect\+\_\+afs\+\_\+dtx\+\_\+frame} (int $\ast$n\+\_\+errors, int $\ast$n\+\_\+bits\+\_\+total, const \textbf{ ubit\+\_\+t} $\ast$ubits)
\begin{DoxyCompactList}\small\item\em Detect FR AMR DTX frame in unmapped, deinterleaved frame bits. \end{DoxyCompactList}\item 
enum \textbf{ gsm0503\+\_\+amr\+\_\+dtx\+\_\+frames} \textbf{ gsm0503\+\_\+detect\+\_\+ahs\+\_\+dtx\+\_\+frame2} (int $\ast$n\+\_\+errors, int $\ast$n\+\_\+bits\+\_\+total, int $\ast$mode\+\_\+id, const \textbf{ sbit\+\_\+t} $\ast$sbits)
\begin{DoxyCompactList}\small\item\em Detect HR AMR DTX frame in unmapped, deinterleaved frame bits. \end{DoxyCompactList}\item 
enum \textbf{ gsm0503\+\_\+amr\+\_\+dtx\+\_\+frames} \textbf{ gsm0503\+\_\+detect\+\_\+ahs\+\_\+dtx\+\_\+frame} (int $\ast$n\+\_\+errors, int $\ast$n\+\_\+bits\+\_\+total, const \textbf{ ubit\+\_\+t} $\ast$ubits)
\begin{DoxyCompactList}\small\item\em Detect HR AMR DTX frame in unmapped, deinterleaved frame bits. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection*{Variables}
\begin{DoxyCompactItemize}
\item 
static const \textbf{ ubit\+\_\+t} \textbf{ id\+\_\+marker\+\_\+1} [$\,$] = \{ 1, 0, 1, 1, 0, 0, 0, 0, 1 \}
\item 
static const \textbf{ ubit\+\_\+t} \textbf{ id\+\_\+marker\+\_\+0} [$\,$] = \{ 0, 1, 0, 0, 1, 1, 1, 1, 0 \}
\item 
static const \textbf{ ubit\+\_\+t} \textbf{ codec\+\_\+mode\+\_\+1\+\_\+sid} [$\,$] = \{ 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 1, 0 \}
\item 
static const \textbf{ ubit\+\_\+t} \textbf{ codec\+\_\+mode\+\_\+2\+\_\+sid} [$\,$] = \{ 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 0, 0 \}
\item 
static const \textbf{ ubit\+\_\+t} \textbf{ codec\+\_\+mode\+\_\+3\+\_\+sid} [$\,$] = \{ 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1 \}
\item 
static const \textbf{ ubit\+\_\+t} \textbf{ codec\+\_\+mode\+\_\+4\+\_\+sid} [$\,$] = \{ 0, 0, 1, 0, 1, 0, 1, 1, 1, 0, 1, 0, 0, 1, 1, 1 \}
\item 
const struct \textbf{ value\+\_\+string} \textbf{ gsm0503\+\_\+amr\+\_\+dtx\+\_\+frame\+\_\+names} [$\,$]
\end{DoxyCompactItemize}


\doxysubsection{Macro Definition Documentation}
\mbox{\label{gsm0503__amr__dtx_8c_aaf3b559da3028e43ec51e30b41e7e98a}} 
\index{gsm0503\_amr\_dtx.c@{gsm0503\_amr\_dtx.c}!S2U@{S2U}}
\index{S2U@{S2U}!gsm0503\_amr\_dtx.c@{gsm0503\_amr\_dtx.c}}
\doxysubsubsection{S2U}
{\footnotesize\ttfamily \#define S2U(\begin{DoxyParamCaption}\item[{}]{b }\end{DoxyParamCaption})~((b) $<$ 0)}



\doxysubsection{Function Documentation}
\mbox{\label{gsm0503__amr__dtx_8c_a2f6e6a2b929d25f49579e65bd315254b}} 
\index{gsm0503\_amr\_dtx.c@{gsm0503\_amr\_dtx.c}!detect\_afs\_id\_marker@{detect\_afs\_id\_marker}}
\index{detect\_afs\_id\_marker@{detect\_afs\_id\_marker}!gsm0503\_amr\_dtx.c@{gsm0503\_amr\_dtx.c}}
\doxysubsubsection{detect\_afs\_id\_marker()}
{\footnotesize\ttfamily static bool detect\+\_\+afs\+\_\+id\+\_\+marker (\begin{DoxyParamCaption}\item[{int $\ast$}]{n\+\_\+errors,  }\item[{int $\ast$}]{n\+\_\+bits\+\_\+total,  }\item[{const \textbf{ sbit\+\_\+t} $\ast$}]{sbits,  }\item[{uint8\+\_\+t}]{offset,  }\item[{uint8\+\_\+t}]{count,  }\item[{const \textbf{ ubit\+\_\+t} $\ast$}]{id\+\_\+marker,  }\item[{uint8\+\_\+t}]{id\+\_\+marker\+\_\+len }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References \textbf{ k}, and \textbf{ S2U}.



Referenced by \textbf{ detect\+\_\+afs\+\_\+onset()}, \textbf{ detect\+\_\+afs\+\_\+sid\+\_\+first()}, and \textbf{ detect\+\_\+afs\+\_\+sid\+\_\+update()}.

\mbox{\label{gsm0503__amr__dtx_8c_ae38d0d0692e3248aa295c86da8baf9bc}} 
\index{gsm0503\_amr\_dtx.c@{gsm0503\_amr\_dtx.c}!detect\_afs\_onset@{detect\_afs\_onset}}
\index{detect\_afs\_onset@{detect\_afs\_onset}!gsm0503\_amr\_dtx.c@{gsm0503\_amr\_dtx.c}}
\doxysubsubsection{detect\_afs\_onset()}
{\footnotesize\ttfamily static int detect\+\_\+afs\+\_\+onset (\begin{DoxyParamCaption}\item[{int $\ast$}]{n\+\_\+errors,  }\item[{int $\ast$}]{n\+\_\+bits\+\_\+total,  }\item[{const \textbf{ sbit\+\_\+t} $\ast$}]{sbits }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References \textbf{ codec\+\_\+mode\+\_\+1\+\_\+sid}, \textbf{ codec\+\_\+mode\+\_\+2\+\_\+sid}, \textbf{ codec\+\_\+mode\+\_\+3\+\_\+sid}, \textbf{ codec\+\_\+mode\+\_\+4\+\_\+sid}, and \textbf{ detect\+\_\+afs\+\_\+id\+\_\+marker()}.



Referenced by \textbf{ gsm0503\+\_\+detect\+\_\+afs\+\_\+dtx\+\_\+frame2()}.

\mbox{\label{gsm0503__amr__dtx_8c_a9f2a7704f0f14b04fd5c20a8c1ac10db}} 
\index{gsm0503\_amr\_dtx.c@{gsm0503\_amr\_dtx.c}!detect\_afs\_sid\_first@{detect\_afs\_sid\_first}}
\index{detect\_afs\_sid\_first@{detect\_afs\_sid\_first}!gsm0503\_amr\_dtx.c@{gsm0503\_amr\_dtx.c}}
\doxysubsubsection{detect\_afs\_sid\_first()}
{\footnotesize\ttfamily static bool detect\+\_\+afs\+\_\+sid\+\_\+first (\begin{DoxyParamCaption}\item[{int $\ast$}]{n\+\_\+errors,  }\item[{int $\ast$}]{n\+\_\+bits\+\_\+total,  }\item[{const \textbf{ sbit\+\_\+t} $\ast$}]{sbits }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References \textbf{ detect\+\_\+afs\+\_\+id\+\_\+marker()}, and \textbf{ id\+\_\+marker\+\_\+0}.



Referenced by \textbf{ gsm0503\+\_\+detect\+\_\+afs\+\_\+dtx\+\_\+frame2()}.

\mbox{\label{gsm0503__amr__dtx_8c_a4cbb35add5c5b225ba9832ba638c7a33}} 
\index{gsm0503\_amr\_dtx.c@{gsm0503\_amr\_dtx.c}!detect\_afs\_sid\_update@{detect\_afs\_sid\_update}}
\index{detect\_afs\_sid\_update@{detect\_afs\_sid\_update}!gsm0503\_amr\_dtx.c@{gsm0503\_amr\_dtx.c}}
\doxysubsubsection{detect\_afs\_sid\_update()}
{\footnotesize\ttfamily static bool detect\+\_\+afs\+\_\+sid\+\_\+update (\begin{DoxyParamCaption}\item[{int $\ast$}]{n\+\_\+errors,  }\item[{int $\ast$}]{n\+\_\+bits\+\_\+total,  }\item[{const \textbf{ sbit\+\_\+t} $\ast$}]{sbits }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References \textbf{ detect\+\_\+afs\+\_\+id\+\_\+marker()}, and \textbf{ id\+\_\+marker\+\_\+0}.



Referenced by \textbf{ gsm0503\+\_\+detect\+\_\+afs\+\_\+dtx\+\_\+frame2()}.

\mbox{\label{gsm0503__amr__dtx_8c_abc5a5e3c8524ba72880f677597d9c668}} 
\index{gsm0503\_amr\_dtx.c@{gsm0503\_amr\_dtx.c}!detect\_ahs\_id\_marker@{detect\_ahs\_id\_marker}}
\index{detect\_ahs\_id\_marker@{detect\_ahs\_id\_marker}!gsm0503\_amr\_dtx.c@{gsm0503\_amr\_dtx.c}}
\doxysubsubsection{detect\_ahs\_id\_marker()}
{\footnotesize\ttfamily static bool detect\+\_\+ahs\+\_\+id\+\_\+marker (\begin{DoxyParamCaption}\item[{int $\ast$}]{n\+\_\+errors,  }\item[{int $\ast$}]{n\+\_\+bits\+\_\+total,  }\item[{const \textbf{ sbit\+\_\+t} $\ast$}]{sbits,  }\item[{const \textbf{ ubit\+\_\+t} $\ast$}]{id\+\_\+marker }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References \textbf{ k}, and \textbf{ S2U}.



Referenced by \textbf{ detect\+\_\+ahs\+\_\+sid\+\_\+first\+\_\+p1()}, and \textbf{ detect\+\_\+ahs\+\_\+sid\+\_\+update()}.

\mbox{\label{gsm0503__amr__dtx_8c_a84a0ec3b2610783c37949950ca93f332}} 
\index{gsm0503\_amr\_dtx.c@{gsm0503\_amr\_dtx.c}!detect\_ahs\_onset@{detect\_ahs\_onset}}
\index{detect\_ahs\_onset@{detect\_ahs\_onset}!gsm0503\_amr\_dtx.c@{gsm0503\_amr\_dtx.c}}
\doxysubsubsection{detect\_ahs\_onset()}
{\footnotesize\ttfamily static int detect\+\_\+ahs\+\_\+onset (\begin{DoxyParamCaption}\item[{int $\ast$}]{n\+\_\+errors,  }\item[{int $\ast$}]{n\+\_\+bits\+\_\+total,  }\item[{const \textbf{ sbit\+\_\+t} $\ast$}]{sbits }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References \textbf{ codec\+\_\+mode\+\_\+1\+\_\+sid}, \textbf{ codec\+\_\+mode\+\_\+2\+\_\+sid}, \textbf{ codec\+\_\+mode\+\_\+3\+\_\+sid}, \textbf{ codec\+\_\+mode\+\_\+4\+\_\+sid}, and \textbf{ detect\+\_\+interleaved\+\_\+ahs\+\_\+id\+\_\+marker()}.



Referenced by \textbf{ gsm0503\+\_\+detect\+\_\+ahs\+\_\+dtx\+\_\+frame2()}.

\mbox{\label{gsm0503__amr__dtx_8c_a57199e4ab0198f30919669a7c06ee5f7}} 
\index{gsm0503\_amr\_dtx.c@{gsm0503\_amr\_dtx.c}!detect\_ahs\_sid\_first\_inh@{detect\_ahs\_sid\_first\_inh}}
\index{detect\_ahs\_sid\_first\_inh@{detect\_ahs\_sid\_first\_inh}!gsm0503\_amr\_dtx.c@{gsm0503\_amr\_dtx.c}}
\doxysubsubsection{detect\_ahs\_sid\_first\_inh()}
{\footnotesize\ttfamily static bool detect\+\_\+ahs\+\_\+sid\+\_\+first\+\_\+inh (\begin{DoxyParamCaption}\item[{int $\ast$}]{n\+\_\+errors,  }\item[{int $\ast$}]{n\+\_\+bits\+\_\+total,  }\item[{const \textbf{ sbit\+\_\+t} $\ast$}]{sbits }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References \textbf{ detect\+\_\+interleaved\+\_\+ahs\+\_\+id\+\_\+marker()}, and \textbf{ id\+\_\+marker\+\_\+1}.



Referenced by \textbf{ gsm0503\+\_\+detect\+\_\+ahs\+\_\+dtx\+\_\+frame2()}.

\mbox{\label{gsm0503__amr__dtx_8c_a450ef41e857d0e0532888f150612359b}} 
\index{gsm0503\_amr\_dtx.c@{gsm0503\_amr\_dtx.c}!detect\_ahs\_sid\_first\_p1@{detect\_ahs\_sid\_first\_p1}}
\index{detect\_ahs\_sid\_first\_p1@{detect\_ahs\_sid\_first\_p1}!gsm0503\_amr\_dtx.c@{gsm0503\_amr\_dtx.c}}
\doxysubsubsection{detect\_ahs\_sid\_first\_p1()}
{\footnotesize\ttfamily static bool detect\+\_\+ahs\+\_\+sid\+\_\+first\+\_\+p1 (\begin{DoxyParamCaption}\item[{int $\ast$}]{n\+\_\+errors,  }\item[{int $\ast$}]{n\+\_\+bits\+\_\+total,  }\item[{const \textbf{ sbit\+\_\+t} $\ast$}]{sbits }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References \textbf{ detect\+\_\+ahs\+\_\+id\+\_\+marker()}, and \textbf{ id\+\_\+marker\+\_\+0}.



Referenced by \textbf{ gsm0503\+\_\+detect\+\_\+ahs\+\_\+dtx\+\_\+frame2()}.

\mbox{\label{gsm0503__amr__dtx_8c_afedf9c6f9407617e8a0e92a65fd19350}} 
\index{gsm0503\_amr\_dtx.c@{gsm0503\_amr\_dtx.c}!detect\_ahs\_sid\_first\_p2@{detect\_ahs\_sid\_first\_p2}}
\index{detect\_ahs\_sid\_first\_p2@{detect\_ahs\_sid\_first\_p2}!gsm0503\_amr\_dtx.c@{gsm0503\_amr\_dtx.c}}
\doxysubsubsection{detect\_ahs\_sid\_first\_p2()}
{\footnotesize\ttfamily static int detect\+\_\+ahs\+\_\+sid\+\_\+first\+\_\+p2 (\begin{DoxyParamCaption}\item[{int $\ast$}]{n\+\_\+errors,  }\item[{int $\ast$}]{n\+\_\+bits\+\_\+total,  }\item[{const \textbf{ sbit\+\_\+t} $\ast$}]{sbits }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References \textbf{ codec\+\_\+mode\+\_\+1\+\_\+sid}, \textbf{ codec\+\_\+mode\+\_\+2\+\_\+sid}, \textbf{ codec\+\_\+mode\+\_\+3\+\_\+sid}, \textbf{ codec\+\_\+mode\+\_\+4\+\_\+sid}, and \textbf{ detect\+\_\+interleaved\+\_\+ahs\+\_\+id\+\_\+marker()}.



Referenced by \textbf{ gsm0503\+\_\+detect\+\_\+ahs\+\_\+dtx\+\_\+frame2()}.

\mbox{\label{gsm0503__amr__dtx_8c_a4b3c848832d24f879fc87b65db013321}} 
\index{gsm0503\_amr\_dtx.c@{gsm0503\_amr\_dtx.c}!detect\_ahs\_sid\_update@{detect\_ahs\_sid\_update}}
\index{detect\_ahs\_sid\_update@{detect\_ahs\_sid\_update}!gsm0503\_amr\_dtx.c@{gsm0503\_amr\_dtx.c}}
\doxysubsubsection{detect\_ahs\_sid\_update()}
{\footnotesize\ttfamily static bool detect\+\_\+ahs\+\_\+sid\+\_\+update (\begin{DoxyParamCaption}\item[{int $\ast$}]{n\+\_\+errors,  }\item[{int $\ast$}]{n\+\_\+bits\+\_\+total,  }\item[{const \textbf{ sbit\+\_\+t} $\ast$}]{sbits }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References \textbf{ detect\+\_\+ahs\+\_\+id\+\_\+marker()}, and \textbf{ id\+\_\+marker\+\_\+1}.



Referenced by \textbf{ gsm0503\+\_\+detect\+\_\+ahs\+\_\+dtx\+\_\+frame2()}.

\mbox{\label{gsm0503__amr__dtx_8c_a75fe63d7b1793bb9c5c722c0278b6f71}} 
\index{gsm0503\_amr\_dtx.c@{gsm0503\_amr\_dtx.c}!detect\_ahs\_sid\_update\_inh@{detect\_ahs\_sid\_update\_inh}}
\index{detect\_ahs\_sid\_update\_inh@{detect\_ahs\_sid\_update\_inh}!gsm0503\_amr\_dtx.c@{gsm0503\_amr\_dtx.c}}
\doxysubsubsection{detect\_ahs\_sid\_update\_inh()}
{\footnotesize\ttfamily static bool detect\+\_\+ahs\+\_\+sid\+\_\+update\+\_\+inh (\begin{DoxyParamCaption}\item[{int $\ast$}]{n\+\_\+errors,  }\item[{int $\ast$}]{n\+\_\+bits\+\_\+total,  }\item[{const \textbf{ sbit\+\_\+t} $\ast$}]{sbits }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References \textbf{ detect\+\_\+interleaved\+\_\+ahs\+\_\+id\+\_\+marker()}, and \textbf{ id\+\_\+marker\+\_\+0}.



Referenced by \textbf{ gsm0503\+\_\+detect\+\_\+ahs\+\_\+dtx\+\_\+frame2()}.

\mbox{\label{gsm0503__amr__dtx_8c_ae5bb07f66e18a761ba63a3c08e662c38}} 
\index{gsm0503\_amr\_dtx.c@{gsm0503\_amr\_dtx.c}!detect\_interleaved\_ahs\_id\_marker@{detect\_interleaved\_ahs\_id\_marker}}
\index{detect\_interleaved\_ahs\_id\_marker@{detect\_interleaved\_ahs\_id\_marker}!gsm0503\_amr\_dtx.c@{gsm0503\_amr\_dtx.c}}
\doxysubsubsection{detect\_interleaved\_ahs\_id\_marker()}
{\footnotesize\ttfamily static bool detect\+\_\+interleaved\+\_\+ahs\+\_\+id\+\_\+marker (\begin{DoxyParamCaption}\item[{int $\ast$}]{n\+\_\+errors,  }\item[{int $\ast$}]{n\+\_\+bits\+\_\+total,  }\item[{const \textbf{ sbit\+\_\+t} $\ast$}]{sbits,  }\item[{uint8\+\_\+t}]{offset,  }\item[{uint8\+\_\+t}]{n\+\_\+bits,  }\item[{const \textbf{ ubit\+\_\+t} $\ast$}]{id\+\_\+marker,  }\item[{uint8\+\_\+t}]{id\+\_\+marker\+\_\+len }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References \textbf{ k}, and \textbf{ S2U}.



Referenced by \textbf{ detect\+\_\+ahs\+\_\+onset()}, \textbf{ detect\+\_\+ahs\+\_\+sid\+\_\+first\+\_\+inh()}, \textbf{ detect\+\_\+ahs\+\_\+sid\+\_\+first\+\_\+p2()}, and \textbf{ detect\+\_\+ahs\+\_\+sid\+\_\+update\+\_\+inh()}.



\doxysubsection{Variable Documentation}
\mbox{\label{gsm0503__amr__dtx_8c_a1aa9ce97395134bddf6e4eb0d66f07ce}} 
\index{gsm0503\_amr\_dtx.c@{gsm0503\_amr\_dtx.c}!codec\_mode\_1\_sid@{codec\_mode\_1\_sid}}
\index{codec\_mode\_1\_sid@{codec\_mode\_1\_sid}!gsm0503\_amr\_dtx.c@{gsm0503\_amr\_dtx.c}}
\doxysubsubsection{codec\_mode\_1\_sid}
{\footnotesize\ttfamily const \textbf{ ubit\+\_\+t} codec\+\_\+mode\+\_\+1\+\_\+sid[$\,$] = \{ 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 1, 0 \}\hspace{0.3cm}{\ttfamily [static]}}



Referenced by \textbf{ detect\+\_\+afs\+\_\+onset()}, \textbf{ detect\+\_\+ahs\+\_\+onset()}, and \textbf{ detect\+\_\+ahs\+\_\+sid\+\_\+first\+\_\+p2()}.

\mbox{\label{gsm0503__amr__dtx_8c_a8ad922a667c01a2114afbfc1bf74ed1d}} 
\index{gsm0503\_amr\_dtx.c@{gsm0503\_amr\_dtx.c}!codec\_mode\_2\_sid@{codec\_mode\_2\_sid}}
\index{codec\_mode\_2\_sid@{codec\_mode\_2\_sid}!gsm0503\_amr\_dtx.c@{gsm0503\_amr\_dtx.c}}
\doxysubsubsection{codec\_mode\_2\_sid}
{\footnotesize\ttfamily const \textbf{ ubit\+\_\+t} codec\+\_\+mode\+\_\+2\+\_\+sid[$\,$] = \{ 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 0, 0 \}\hspace{0.3cm}{\ttfamily [static]}}



Referenced by \textbf{ detect\+\_\+afs\+\_\+onset()}, \textbf{ detect\+\_\+ahs\+\_\+onset()}, and \textbf{ detect\+\_\+ahs\+\_\+sid\+\_\+first\+\_\+p2()}.

\mbox{\label{gsm0503__amr__dtx_8c_ac4f4fd8d3d5da4f9543e71719b32a59a}} 
\index{gsm0503\_amr\_dtx.c@{gsm0503\_amr\_dtx.c}!codec\_mode\_3\_sid@{codec\_mode\_3\_sid}}
\index{codec\_mode\_3\_sid@{codec\_mode\_3\_sid}!gsm0503\_amr\_dtx.c@{gsm0503\_amr\_dtx.c}}
\doxysubsubsection{codec\_mode\_3\_sid}
{\footnotesize\ttfamily const \textbf{ ubit\+\_\+t} codec\+\_\+mode\+\_\+3\+\_\+sid[$\,$] = \{ 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1 \}\hspace{0.3cm}{\ttfamily [static]}}



Referenced by \textbf{ detect\+\_\+afs\+\_\+onset()}, \textbf{ detect\+\_\+ahs\+\_\+onset()}, and \textbf{ detect\+\_\+ahs\+\_\+sid\+\_\+first\+\_\+p2()}.

\mbox{\label{gsm0503__amr__dtx_8c_a5155fe5864d13f2b229060ba1f8d718a}} 
\index{gsm0503\_amr\_dtx.c@{gsm0503\_amr\_dtx.c}!codec\_mode\_4\_sid@{codec\_mode\_4\_sid}}
\index{codec\_mode\_4\_sid@{codec\_mode\_4\_sid}!gsm0503\_amr\_dtx.c@{gsm0503\_amr\_dtx.c}}
\doxysubsubsection{codec\_mode\_4\_sid}
{\footnotesize\ttfamily const \textbf{ ubit\+\_\+t} codec\+\_\+mode\+\_\+4\+\_\+sid[$\,$] = \{ 0, 0, 1, 0, 1, 0, 1, 1, 1, 0, 1, 0, 0, 1, 1, 1 \}\hspace{0.3cm}{\ttfamily [static]}}



Referenced by \textbf{ detect\+\_\+afs\+\_\+onset()}, \textbf{ detect\+\_\+ahs\+\_\+onset()}, and \textbf{ detect\+\_\+ahs\+\_\+sid\+\_\+first\+\_\+p2()}.

\mbox{\label{gsm0503__amr__dtx_8c_ac32d179c2b296e68b9ff9d6c5babdecf}} 
\index{gsm0503\_amr\_dtx.c@{gsm0503\_amr\_dtx.c}!id\_marker\_0@{id\_marker\_0}}
\index{id\_marker\_0@{id\_marker\_0}!gsm0503\_amr\_dtx.c@{gsm0503\_amr\_dtx.c}}
\doxysubsubsection{id\_marker\_0}
{\footnotesize\ttfamily const \textbf{ ubit\+\_\+t} id\+\_\+marker\+\_\+0[$\,$] = \{ 0, 1, 0, 0, 1, 1, 1, 1, 0 \}\hspace{0.3cm}{\ttfamily [static]}}



Referenced by \textbf{ detect\+\_\+afs\+\_\+sid\+\_\+first()}, \textbf{ detect\+\_\+afs\+\_\+sid\+\_\+update()}, \textbf{ detect\+\_\+ahs\+\_\+sid\+\_\+first\+\_\+p1()}, and \textbf{ detect\+\_\+ahs\+\_\+sid\+\_\+update\+\_\+inh()}.

\mbox{\label{gsm0503__amr__dtx_8c_a83e06939764d95c82a54e6ee6aeec172}} 
\index{gsm0503\_amr\_dtx.c@{gsm0503\_amr\_dtx.c}!id\_marker\_1@{id\_marker\_1}}
\index{id\_marker\_1@{id\_marker\_1}!gsm0503\_amr\_dtx.c@{gsm0503\_amr\_dtx.c}}
\doxysubsubsection{id\_marker\_1}
{\footnotesize\ttfamily const \textbf{ ubit\+\_\+t} id\+\_\+marker\+\_\+1[$\,$] = \{ 1, 0, 1, 1, 0, 0, 0, 0, 1 \}\hspace{0.3cm}{\ttfamily [static]}}



Referenced by \textbf{ detect\+\_\+ahs\+\_\+sid\+\_\+first\+\_\+inh()}, and \textbf{ detect\+\_\+ahs\+\_\+sid\+\_\+update()}.

