annotate adx.h @ 12530:63edd10ad4bc libavcodec tip

Try to fix crashes introduced by r25218 r25218 made assumptions about the existence of past reference frames that weren't necessarily true.
author darkshikari
date Tue, 28 Sep 2010 09:06:22 +0000
parents 7dd2a45249a9
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1531
a78de892cefd added CRI ADX and XA ADPCM audio modules, courtesy of BERO
melanson
parents:
diff changeset
1 /*
a78de892cefd added CRI ADX and XA ADPCM audio modules, courtesy of BERO
melanson
parents:
diff changeset
2 * ADX ADPCM codecs
a78de892cefd added CRI ADX and XA ADPCM audio modules, courtesy of BERO
melanson
parents:
diff changeset
3 * Copyright (c) 2001,2003 BERO
a78de892cefd added CRI ADX and XA ADPCM audio modules, courtesy of BERO
melanson
parents:
diff changeset
4 *
3947
c8c591fe26f8 Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents: 3445
diff changeset
5 * This file is part of FFmpeg.
c8c591fe26f8 Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents: 3445
diff changeset
6 *
c8c591fe26f8 Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents: 3445
diff changeset
7 * FFmpeg is free software; you can redistribute it and/or
1531
a78de892cefd added CRI ADX and XA ADPCM audio modules, courtesy of BERO
melanson
parents:
diff changeset
8 * modify it under the terms of the GNU Lesser General Public
a78de892cefd added CRI ADX and XA ADPCM audio modules, courtesy of BERO
melanson
parents:
diff changeset
9 * License as published by the Free Software Foundation; either
3947
c8c591fe26f8 Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents: 3445
diff changeset
10 * version 2.1 of the License, or (at your option) any later version.
1531
a78de892cefd added CRI ADX and XA ADPCM audio modules, courtesy of BERO
melanson
parents:
diff changeset
11 *
3947
c8c591fe26f8 Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents: 3445
diff changeset
12 * FFmpeg is distributed in the hope that it will be useful,
1531
a78de892cefd added CRI ADX and XA ADPCM audio modules, courtesy of BERO
melanson
parents:
diff changeset
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
a78de892cefd added CRI ADX and XA ADPCM audio modules, courtesy of BERO
melanson
parents:
diff changeset
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
a78de892cefd added CRI ADX and XA ADPCM audio modules, courtesy of BERO
melanson
parents:
diff changeset
15 * Lesser General Public License for more details.
a78de892cefd added CRI ADX and XA ADPCM audio modules, courtesy of BERO
melanson
parents:
diff changeset
16 *
a78de892cefd added CRI ADX and XA ADPCM audio modules, courtesy of BERO
melanson
parents:
diff changeset
17 * You should have received a copy of the GNU Lesser General Public
3947
c8c591fe26f8 Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents: 3445
diff changeset
18 * License along with FFmpeg; if not, write to the Free Software
3036
0b546eab515d Update licensing information: The FSF changed postal address.
diego
parents: 2967
diff changeset
19 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
1531
a78de892cefd added CRI ADX and XA ADPCM audio modules, courtesy of BERO
melanson
parents:
diff changeset
20 */
a78de892cefd added CRI ADX and XA ADPCM audio modules, courtesy of BERO
melanson
parents:
diff changeset
21
a78de892cefd added CRI ADX and XA ADPCM audio modules, courtesy of BERO
melanson
parents:
diff changeset
22 /**
11644
7dd2a45249a9 Remove explicit filename from Doxygen @file commands.
diego
parents: 8718
diff changeset
23 * @file
1531
a78de892cefd added CRI ADX and XA ADPCM audio modules, courtesy of BERO
melanson
parents:
diff changeset
24 * SEGA CRI adx codecs.
a78de892cefd added CRI ADX and XA ADPCM audio modules, courtesy of BERO
melanson
parents:
diff changeset
25 *
a78de892cefd added CRI ADX and XA ADPCM audio modules, courtesy of BERO
melanson
parents:
diff changeset
26 * Reference documents:
a78de892cefd added CRI ADX and XA ADPCM audio modules, courtesy of BERO
melanson
parents:
diff changeset
27 * http://ku-www.ss.titech.ac.jp/~yatsushi/adx.html
a78de892cefd added CRI ADX and XA ADPCM audio modules, courtesy of BERO
melanson
parents:
diff changeset
28 * adx2wav & wav2adx http://www.geocities.co.jp/Playtown/2004/
a78de892cefd added CRI ADX and XA ADPCM audio modules, courtesy of BERO
melanson
parents:
diff changeset
29 */
a78de892cefd added CRI ADX and XA ADPCM audio modules, courtesy of BERO
melanson
parents:
diff changeset
30
7760
c4a4495715dd Globally rename the header inclusion guard names.
stefano
parents: 5866
diff changeset
31 #ifndef AVCODEC_ADX_H
c4a4495715dd Globally rename the header inclusion guard names.
stefano
parents: 5866
diff changeset
32 #define AVCODEC_ADX_H
5866
b1b3dd3324ae split adx encoder in its own file
aurel
parents: 5865
diff changeset
33
1531
a78de892cefd added CRI ADX and XA ADPCM audio modules, courtesy of BERO
melanson
parents:
diff changeset
34 typedef struct {
1534
5bdf2017d854 replace file to remove nasty DOS CRs and hard tabs
melanson
parents: 1531
diff changeset
35 int s1,s2;
1531
a78de892cefd added CRI ADX and XA ADPCM audio modules, courtesy of BERO
melanson
parents:
diff changeset
36 } PREV;
a78de892cefd added CRI ADX and XA ADPCM audio modules, courtesy of BERO
melanson
parents:
diff changeset
37
a78de892cefd added CRI ADX and XA ADPCM audio modules, courtesy of BERO
melanson
parents:
diff changeset
38 typedef struct {
1534
5bdf2017d854 replace file to remove nasty DOS CRs and hard tabs
melanson
parents: 1531
diff changeset
39 PREV prev[2];
5bdf2017d854 replace file to remove nasty DOS CRs and hard tabs
melanson
parents: 1531
diff changeset
40 int header_parsed;
5bdf2017d854 replace file to remove nasty DOS CRs and hard tabs
melanson
parents: 1531
diff changeset
41 unsigned char dec_temp[18*2];
5bdf2017d854 replace file to remove nasty DOS CRs and hard tabs
melanson
parents: 1531
diff changeset
42 int in_temp;
1531
a78de892cefd added CRI ADX and XA ADPCM audio modules, courtesy of BERO
melanson
parents:
diff changeset
43 } ADXContext;
a78de892cefd added CRI ADX and XA ADPCM audio modules, courtesy of BERO
melanson
parents:
diff changeset
44
1534
5bdf2017d854 replace file to remove nasty DOS CRs and hard tabs
melanson
parents: 1531
diff changeset
45 #define BASEVOL 0x4000
5bdf2017d854 replace file to remove nasty DOS CRs and hard tabs
melanson
parents: 1531
diff changeset
46 #define SCALE1 0x7298
5bdf2017d854 replace file to remove nasty DOS CRs and hard tabs
melanson
parents: 1531
diff changeset
47 #define SCALE2 0x3350
1531
a78de892cefd added CRI ADX and XA ADPCM audio modules, courtesy of BERO
melanson
parents:
diff changeset
48
7760
c4a4495715dd Globally rename the header inclusion guard names.
stefano
parents: 5866
diff changeset
49 #endif /* AVCODEC_ADX_H */