FFmpeg
Main Page
Related Pages
Modules
Namespaces
Data Structures
Files
Examples
File List
Globals
•
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Groups
Pages
libavcodec
msgsmdec.c
Go to the documentation of this file.
1
/*
2
* gsm 06.10 decoder, Microsoft variant
3
* Copyright (c) 2010 Reimar Döffinger <Reimar.Doeffinger@gmx.de>
4
*
5
* This file is part of FFmpeg.
6
*
7
* FFmpeg is free software; you can redistribute it and/or
8
* modify it under the terms of the GNU Lesser General Public
9
* License as published by the Free Software Foundation; either
10
* version 2.1 of the License, or (at your option) any later version.
11
*
12
* FFmpeg is distributed in the hope that it will be useful,
13
* but WITHOUT ANY WARRANTY; without even the implied warranty of
14
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15
* Lesser General Public License for more details.
16
*
17
* You should have received a copy of the GNU Lesser General Public
18
* License along with FFmpeg; if not, write to the Free Software
19
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
20
*/
21
22
#define BITSTREAM_READER_LE
23
#include "
avcodec.h
"
24
#include "
msgsmdec.h
"
25
#include "
gsm.h
"
26
#include "
gsmdec_template.c
"
27
28
int
ff_msgsm_decode_block
(
AVCodecContext
*avctx, int16_t *samples,
29
const
uint8_t
*
buf
,
int
mode
)
30
{
31
int
res;
32
GetBitContext
gb;
33
init_get_bits
(&gb, buf,
GSM_MS_BLOCK_SIZE
* 8);
34
res =
gsm_decode_block
(avctx, samples, &gb, mode);
35
if
(res < 0)
36
return
res;
37
return
gsm_decode_block
(avctx, samples +
GSM_FRAME_SIZE
, &gb, mode);
38
}
GSM_FRAME_SIZE
#define GSM_FRAME_SIZE
Definition:
gsm.h:30
uint8_t
uint8_t
Definition:
audio_convert.c:194
mode
mode
Definition:
f_perms.c:27
GSM_MS_BLOCK_SIZE
#define GSM_MS_BLOCK_SIZE
Definition:
gsm.h:26
gsm_decode_block
static int gsm_decode_block(AVCodecContext *avctx, int16_t *samples, GetBitContext *gb, int mode)
Definition:
gsmdec_template.c:129
ff_msgsm_decode_block
int ff_msgsm_decode_block(AVCodecContext *avctx, int16_t *samples, const uint8_t *buf, int mode)
Definition:
msgsmdec.c:28
gsmdec_template.c
GSM decoder.
gsm.h
avcodec.h
Libavcodec external API header.
msgsmdec.h
AVCodecContext
main external API structure.
Definition:
avcodec.h:1241
buf
void * buf
Definition:
avisynth_c.h:553
init_get_bits
static int init_get_bits(GetBitContext *s, const uint8_t *buffer, int bit_size)
Initialize GetBitContext.
Definition:
get_bits.h:410
GetBitContext
Definition:
get_bits.h:54
Generated on Wed Jun 10 2015 01:56:46 for FFmpeg by
1.8.6