\doxysection{src/codec/codec.c File Reference}
\label{codec_8c}\index{src/codec/codec.c@{src/codec/codec.c}}


Osmocom GMR-\/1 AMBE vocoder public API implementation.  


{\ttfamily \#include $<$string.\+h$>$}\newline
{\ttfamily \#include $<$stdint.\+h$>$}\newline
{\ttfamily \#include $<$stdlib.\+h$>$}\newline
{\ttfamily \#include $<$osmocom/gmr1/codec/codec.\+h$>$}\newline
{\ttfamily \#include \char`\"{}private.\+h\char`\"{}}\newline
\doxysubsection*{Data Structures}
\begin{DoxyCompactItemize}
\item 
struct \textbf{ gmr1\+\_\+codec}
\begin{DoxyCompactList}\small\item\em Structure for GMR1 codec state. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection*{Functions}
\begin{DoxyCompactItemize}
\item 
struct \textbf{ gmr1\+\_\+codec} $\ast$ \textbf{ gmr1\+\_\+codec\+\_\+alloc} (void)
\begin{DoxyCompactList}\small\item\em Allocates and inits a codec object. \end{DoxyCompactList}\item 
void \textbf{ gmr1\+\_\+codec\+\_\+release} (struct \textbf{ gmr1\+\_\+codec} $\ast$codec)
\begin{DoxyCompactList}\small\item\em Release a codec object created by \doxyref{gmr1\+\_\+codec\+\_\+alloc}{p.}{group__codec_ga34e0de595c6498ae39695d5909bec094}. \end{DoxyCompactList}\item 
int \textbf{ gmr1\+\_\+codec\+\_\+decode\+\_\+frame} (struct \textbf{ gmr1\+\_\+codec} $\ast$codec, int16\+\_\+t $\ast$audio, int N, const uint8\+\_\+t $\ast$frame, int bad)
\begin{DoxyCompactList}\small\item\em Decodes an AMBE frame to audio. \end{DoxyCompactList}\item 
int \textbf{ gmr1\+\_\+codec\+\_\+decode\+\_\+dtx} (struct \textbf{ gmr1\+\_\+codec} $\ast$codec, int16\+\_\+t $\ast$audio, int N)
\begin{DoxyCompactList}\small\item\em Generates audio for DTX period. \end{DoxyCompactList}\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
Osmocom GMR-\/1 AMBE vocoder public API implementation. 

