Main Page
Related Pages
Modules
Data Structures
Files
Examples
File List
Globals
libavcodec
adx.h
Go to the documentation of this file.
1
/*
2
* ADX ADPCM codecs
3
* Copyright (c) 2001,2003 BERO
4
*
5
* This file is part of Libav.
6
*
7
* Libav 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
* Libav 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 Libav; if not, write to the Free Software
19
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
20
*/
21
31
#ifndef AVCODEC_ADX_H
32
#define AVCODEC_ADX_H
33
34
#include <stdint.h>
35
36
#include "
avcodec.h
"
37
38
typedef
struct
{
39
int
s1
,
s2
;
40
}
ADXChannelState
;
41
42
typedef
struct
{
43
AVFrame
frame
;
44
int
channels
;
45
ADXChannelState
prev[2];
46
int
header_parsed
;
47
int
eof
;
48
int
cutoff
;
49
int
coeff[2];
50
}
ADXContext
;
51
52
#define COEFF_BITS 12
53
54
#define BLOCK_SIZE 18
55
#define BLOCK_SAMPLES 32
56
65
void
ff_adx_calculate_coeffs
(
int
cutoff,
int
sample_rate,
int
bits
,
int
*coeff);
66
78
int
avpriv_adx_decode_header
(
AVCodecContext
*avctx,
const
uint8_t *buf,
79
int
bufsize,
int
*header_size,
int
*coeff);
80
81
#endif
/* AVCODEC_ADX_H */