annotate mace.c @ 2497:69adfbbdcdeb libavcodec

- samples from mplayer ftp in the "adv" profile seem to have profile=2, which isn't the advanced one; and indeed, using adv. profile parser fails. Using normal parser works, and that's what is done - attempt at taking care of stride for NORM2 bitplane decoding - duplication of much code from msmpeg4.c; this code isn't yet used, but goes down as far as the block layer (mainly Transform Type stuff, the remains are wild editing without checking). Unusable yet, and lacks the AC decoding (but a step further in bitstream parsing) patch by anonymous
author michael
date Fri, 04 Feb 2005 02:20:38 +0000
parents b09bc77eb2fb
children ef2149182f1c
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
827
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
1 /*
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
2 * MACE decoder
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
3 * Copyright (c) 2002 Laszlo Torok <torokl@alpha.dfmk.hu>
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
4 *
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
5 * This library is free software; you can redistribute it and/or
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
6 * modify it under the terms of the GNU Lesser General Public
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
7 * License as published by the Free Software Foundation; either
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
8 * version 2 of the License, or (at your option) any later version.
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
9 *
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
10 * This library is distributed in the hope that it will be useful,
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
13 * Lesser General Public License for more details.
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
14 *
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
15 * You should have received a copy of the GNU Lesser General Public
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
16 * License along with this library; if not, write to the Free Software
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
17 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
18 */
1106
1e39f273ecd6 per file doxy
michaelni
parents: 1064
diff changeset
19
1e39f273ecd6 per file doxy
michaelni
parents: 1064
diff changeset
20 /**
1e39f273ecd6 per file doxy
michaelni
parents: 1064
diff changeset
21 * @file mace.c
1e39f273ecd6 per file doxy
michaelni
parents: 1064
diff changeset
22 * MACE decoder.
1e39f273ecd6 per file doxy
michaelni
parents: 1064
diff changeset
23 */
1e39f273ecd6 per file doxy
michaelni
parents: 1064
diff changeset
24
827
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
25 #include "avcodec.h"
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
26
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
27 /*
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
28 * Adapted to ffmpeg by Francois Revol <revol@free.fr>
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
29 * (removed 68k REG stuff, changed types, added some statics and consts,
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
30 * libavcodec api, context stuff, interlaced stereo out).
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
31 */
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
32
1064
b32afefe7d33 * UINTX -> uintx_t INTX -> intx_t
kabi
parents: 893
diff changeset
33 static const uint16_t MACEtab1[] = { 0xfff3, 0x0008, 0x004c, 0x00de, 0x00de, 0x004c, 0x0008, 0xfff3 };
827
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
34
1064
b32afefe7d33 * UINTX -> uintx_t INTX -> intx_t
kabi
parents: 893
diff changeset
35 static const uint16_t MACEtab3[] = { 0xffee, 0x008c, 0x008c, 0xffee };
827
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
36
1064
b32afefe7d33 * UINTX -> uintx_t INTX -> intx_t
kabi
parents: 893
diff changeset
37 static const uint16_t MACEtab2[][8] = {
827
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
38 { 0x0025, 0x0074, 0x00CE, 0x014A, 0xFEB5, 0xFF31, 0xFF8B, 0xFFDA },
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
39 { 0x0027, 0x0079, 0x00D8, 0x015A, 0xFEA5, 0xFF27, 0xFF86, 0xFFD8 },
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
40 { 0x0029, 0x007F, 0x00E1, 0x0169, 0xFE96, 0xFF1E, 0xFF80, 0xFFD6 },
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
41 { 0x002A, 0x0084, 0x00EB, 0x0179, 0xFE86, 0xFF14, 0xFF7B, 0xFFD5 },
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
42 { 0x002C, 0x0089, 0x00F5, 0x0188, 0xFE77, 0xFF0A, 0xFF76, 0xFFD3 },
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
43 { 0x002E, 0x0090, 0x0100, 0x019A, 0xFE65, 0xFEFF, 0xFF6F, 0xFFD1 },
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
44 { 0x0030, 0x0096, 0x010B, 0x01AC, 0xFE53, 0xFEF4, 0xFF69, 0xFFCF },
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
45 { 0x0033, 0x009D, 0x0118, 0x01C1, 0xFE3E, 0xFEE7, 0xFF62, 0xFFCC },
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
46 { 0x0035, 0x00A5, 0x0125, 0x01D6, 0xFE29, 0xFEDA, 0xFF5A, 0xFFCA },
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
47 { 0x0037, 0x00AC, 0x0132, 0x01EA, 0xFE15, 0xFECD, 0xFF53, 0xFFC8 },
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
48 { 0x003A, 0x00B3, 0x013F, 0x01FF, 0xFE00, 0xFEC0, 0xFF4C, 0xFFC5 },
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
49 { 0x003C, 0x00BB, 0x014D, 0x0216, 0xFDE9, 0xFEB2, 0xFF44, 0xFFC3 },
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
50 { 0x003F, 0x00C3, 0x015C, 0x022D, 0xFDD2, 0xFEA3, 0xFF3C, 0xFFC0 },
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
51 { 0x0042, 0x00CD, 0x016C, 0x0247, 0xFDB8, 0xFE93, 0xFF32, 0xFFBD },
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
52 { 0x0045, 0x00D6, 0x017C, 0x0261, 0xFD9E, 0xFE83, 0xFF29, 0xFFBA },
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
53 { 0x0048, 0x00DF, 0x018C, 0x027B, 0xFD84, 0xFE73, 0xFF20, 0xFFB7 },
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
54 { 0x004B, 0x00E9, 0x019E, 0x0297, 0xFD68, 0xFE61, 0xFF16, 0xFFB4 },
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
55 { 0x004F, 0x00F4, 0x01B1, 0x02B6, 0xFD49, 0xFE4E, 0xFF0B, 0xFFB0 },
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
56 { 0x0052, 0x00FE, 0x01C5, 0x02D5, 0xFD2A, 0xFE3A, 0xFF01, 0xFFAD },
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
57 { 0x0056, 0x0109, 0x01D8, 0x02F4, 0xFD0B, 0xFE27, 0xFEF6, 0xFFA9 },
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
58 { 0x005A, 0x0116, 0x01EF, 0x0318, 0xFCE7, 0xFE10, 0xFEE9, 0xFFA5 },
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
59 { 0x005E, 0x0122, 0x0204, 0x033A, 0xFCC5, 0xFDFB, 0xFEDD, 0xFFA1 },
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
60 { 0x0062, 0x012F, 0x021A, 0x035E, 0xFCA1, 0xFDE5, 0xFED0, 0xFF9D },
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
61 { 0x0066, 0x013C, 0x0232, 0x0385, 0xFC7A, 0xFDCD, 0xFEC3, 0xFF99 },
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
62 { 0x006B, 0x014B, 0x024C, 0x03AE, 0xFC51, 0xFDB3, 0xFEB4, 0xFF94 },
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
63 { 0x0070, 0x0159, 0x0266, 0x03D7, 0xFC28, 0xFD99, 0xFEA6, 0xFF8F },
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
64 { 0x0075, 0x0169, 0x0281, 0x0403, 0xFBFC, 0xFD7E, 0xFE96, 0xFF8A },
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
65 { 0x007A, 0x0179, 0x029E, 0x0432, 0xFBCD, 0xFD61, 0xFE86, 0xFF85 },
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
66 { 0x007F, 0x018A, 0x02BD, 0x0463, 0xFB9C, 0xFD42, 0xFE75, 0xFF80 },
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
67 { 0x0085, 0x019B, 0x02DC, 0x0494, 0xFB6B, 0xFD23, 0xFE64, 0xFF7A },
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
68 { 0x008B, 0x01AE, 0x02FC, 0x04C8, 0xFB37, 0xFD03, 0xFE51, 0xFF74 },
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
69 { 0x0091, 0x01C1, 0x031F, 0x0500, 0xFAFF, 0xFCE0, 0xFE3E, 0xFF6E },
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
70 { 0x0098, 0x01D5, 0x0343, 0x0539, 0xFAC6, 0xFCBC, 0xFE2A, 0xFF67 },
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
71 { 0x009F, 0x01EA, 0x0368, 0x0575, 0xFA8A, 0xFC97, 0xFE15, 0xFF60 },
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
72 { 0x00A6, 0x0200, 0x038F, 0x05B3, 0xFA4C, 0xFC70, 0xFDFF, 0xFF59 },
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
73 { 0x00AD, 0x0217, 0x03B7, 0x05F3, 0xFA0C, 0xFC48, 0xFDE8, 0xFF52 },
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
74 { 0x00B5, 0x022E, 0x03E1, 0x0636, 0xF9C9, 0xFC1E, 0xFDD1, 0xFF4A },
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
75 { 0x00BD, 0x0248, 0x040E, 0x067F, 0xF980, 0xFBF1, 0xFDB7, 0xFF42 },
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
76 { 0x00C5, 0x0262, 0x043D, 0x06CA, 0xF935, 0xFBC2, 0xFD9D, 0xFF3A },
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
77 { 0x00CE, 0x027D, 0x046D, 0x0717, 0xF8E8, 0xFB92, 0xFD82, 0xFF31 },
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
78 { 0x00D7, 0x0299, 0x049F, 0x0767, 0xF898, 0xFB60, 0xFD66, 0xFF28 },
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
79 { 0x00E1, 0x02B7, 0x04D5, 0x07BC, 0xF843, 0xFB2A, 0xFD48, 0xFF1E },
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
80 { 0x00EB, 0x02D6, 0x050B, 0x0814, 0xF7EB, 0xFAF4, 0xFD29, 0xFF14 },
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
81 { 0x00F6, 0x02F7, 0x0545, 0x0871, 0xF78E, 0xFABA, 0xFD08, 0xFF09 },
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
82 { 0x0101, 0x0318, 0x0581, 0x08D1, 0xF72E, 0xFA7E, 0xFCE7, 0xFEFE },
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
83 { 0x010C, 0x033C, 0x05C0, 0x0935, 0xF6CA, 0xFA3F, 0xFCC3, 0xFEF3 },
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
84 { 0x0118, 0x0361, 0x0602, 0x099F, 0xF660, 0xF9FD, 0xFC9E, 0xFEE7 },
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
85 { 0x0125, 0x0387, 0x0646, 0x0A0C, 0xF5F3, 0xF9B9, 0xFC78, 0xFEDA },
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
86 { 0x0132, 0x03B0, 0x068E, 0x0A80, 0xF57F, 0xF971, 0xFC4F, 0xFECD },
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
87 { 0x013F, 0x03DA, 0x06D9, 0x0AF7, 0xF508, 0xF926, 0xFC25, 0xFEC0 },
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
88 { 0x014E, 0x0406, 0x0728, 0x0B75, 0xF48A, 0xF8D7, 0xFBF9, 0xFEB1 },
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
89 { 0x015D, 0x0434, 0x077A, 0x0BF9, 0xF406, 0xF885, 0xFBCB, 0xFEA2 },
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
90 { 0x016C, 0x0464, 0x07CF, 0x0C82, 0xF37D, 0xF830, 0xFB9B, 0xFE93 },
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
91 { 0x017C, 0x0496, 0x0828, 0x0D10, 0xF2EF, 0xF7D7, 0xFB69, 0xFE83 },
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
92 { 0x018E, 0x04CB, 0x0886, 0x0DA6, 0xF259, 0xF779, 0xFB34, 0xFE71 },
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
93 { 0x019F, 0x0501, 0x08E6, 0x0E41, 0xF1BE, 0xF719, 0xFAFE, 0xFE60 },
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
94 { 0x01B2, 0x053B, 0x094C, 0x0EE3, 0xF11C, 0xF6B3, 0xFAC4, 0xFE4D },
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
95 { 0x01C5, 0x0576, 0x09B6, 0x0F8E, 0xF071, 0xF649, 0xFA89, 0xFE3A },
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
96 { 0x01D9, 0x05B5, 0x0A26, 0x1040, 0xEFBF, 0xF5D9, 0xFA4A, 0xFE26 },
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
97 { 0x01EF, 0x05F6, 0x0A9A, 0x10FA, 0xEF05, 0xF565, 0xFA09, 0xFE10 },
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
98 { 0x0205, 0x063A, 0x0B13, 0x11BC, 0xEE43, 0xF4EC, 0xF9C5, 0xFDFA },
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
99 { 0x021C, 0x0681, 0x0B91, 0x1285, 0xED7A, 0xF46E, 0xF97E, 0xFDE3 },
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
100 { 0x0234, 0x06CC, 0x0C15, 0x1359, 0xECA6, 0xF3EA, 0xF933, 0xFDCB },
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
101 { 0x024D, 0x071A, 0x0CA0, 0x1437, 0xEBC8, 0xF35F, 0xF8E5, 0xFDB2 },
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
102 { 0x0267, 0x076A, 0x0D2F, 0x151D, 0xEAE2, 0xF2D0, 0xF895, 0xFD98 },
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
103 { 0x0283, 0x07C0, 0x0DC7, 0x160F, 0xE9F0, 0xF238, 0xF83F, 0xFD7C },
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
104 { 0x029F, 0x0818, 0x0E63, 0x170A, 0xE8F5, 0xF19C, 0xF7E7, 0xFD60 },
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
105 { 0x02BD, 0x0874, 0x0F08, 0x1811, 0xE7EE, 0xF0F7, 0xF78B, 0xFD42 },
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
106 { 0x02DD, 0x08D5, 0x0FB4, 0x1926, 0xE6D9, 0xF04B, 0xF72A, 0xFD22 },
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
107 { 0x02FE, 0x093A, 0x1067, 0x1A44, 0xE5BB, 0xEF98, 0xF6C5, 0xFD01 },
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
108 { 0x0320, 0x09A3, 0x1122, 0x1B70, 0xE48F, 0xEEDD, 0xF65C, 0xFCDF },
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
109 { 0x0344, 0x0A12, 0x11E7, 0x1CAB, 0xE354, 0xEE18, 0xF5ED, 0xFCBB },
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
110 { 0x0369, 0x0A84, 0x12B2, 0x1DF0, 0xE20F, 0xED4D, 0xF57B, 0xFC96 },
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
111 { 0x0390, 0x0AFD, 0x1389, 0x1F48, 0xE0B7, 0xEC76, 0xF502, 0xFC6F },
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
112 { 0x03B8, 0x0B7A, 0x1467, 0x20AC, 0xDF53, 0xEB98, 0xF485, 0xFC47 },
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
113 { 0x03E3, 0x0BFE, 0x1551, 0x2223, 0xDDDC, 0xEAAE, 0xF401, 0xFC1C },
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
114 { 0x040F, 0x0C87, 0x1645, 0x23A9, 0xDC56, 0xE9BA, 0xF378, 0xFBF0 },
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
115 { 0x043E, 0x0D16, 0x1744, 0x2541, 0xDABE, 0xE8BB, 0xF2E9, 0xFBC1 },
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
116 { 0x046E, 0x0DAB, 0x184C, 0x26E8, 0xD917, 0xE7B3, 0xF254, 0xFB91 },
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
117 { 0x04A1, 0x0E47, 0x1961, 0x28A4, 0xD75B, 0xE69E, 0xF1B8, 0xFB5E },
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
118 { 0x04D6, 0x0EEA, 0x1A84, 0x2A75, 0xD58A, 0xE57B, 0xF115, 0xFB29 },
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
119 { 0x050D, 0x0F95, 0x1BB3, 0x2C5B, 0xD3A4, 0xE44C, 0xF06A, 0xFAF2 },
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
120 { 0x0547, 0x1046, 0x1CEF, 0x2E55, 0xD1AA, 0xE310, 0xEFB9, 0xFAB8 },
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
121 { 0x0583, 0x1100, 0x1E3A, 0x3066, 0xCF99, 0xE1C5, 0xEEFF, 0xFA7C },
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
122 { 0x05C2, 0x11C3, 0x1F94, 0x3292, 0xCD6D, 0xE06B, 0xEE3C, 0xFA3D },
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
123 { 0x0604, 0x128E, 0x20FC, 0x34D2, 0xCB2D, 0xDF03, 0xED71, 0xF9FB },
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
124 { 0x0649, 0x1362, 0x2275, 0x372E, 0xC8D1, 0xDD8A, 0xEC9D, 0xF9B6 },
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
125 { 0x0690, 0x143F, 0x23FF, 0x39A4, 0xC65B, 0xDC00, 0xEBC0, 0xF96F },
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
126 { 0x06DC, 0x1527, 0x259A, 0x3C37, 0xC3C8, 0xDA65, 0xEAD8, 0xF923 },
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
127 { 0x072A, 0x1619, 0x2749, 0x3EE8, 0xC117, 0xD8B6, 0xE9E6, 0xF8D5 },
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
128 { 0x077C, 0x1715, 0x2909, 0x41B6, 0xBE49, 0xD6F6, 0xE8EA, 0xF883 },
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
129 { 0x07D1, 0x181D, 0x2ADF, 0x44A6, 0xBB59, 0xD520, 0xE7E2, 0xF82E },
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
130 { 0x082B, 0x1930, 0x2CC7, 0x47B4, 0xB84B, 0xD338, 0xE6CF, 0xF7D4 },
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
131 { 0x0888, 0x1A50, 0x2EC6, 0x4AE7, 0xB518, 0xD139, 0xE5AF, 0xF777 },
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
132 { 0x08EA, 0x1B7D, 0x30DE, 0x4E40, 0xB1BF, 0xCF21, 0xE482, 0xF715 },
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
133 { 0x094F, 0x1CB7, 0x330C, 0x51BE, 0xAE41, 0xCCF3, 0xE348, 0xF6B0 },
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
134 { 0x09BA, 0x1DFF, 0x3554, 0x5565, 0xAA9A, 0xCAAB, 0xE200, 0xF645 },
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
135 { 0x0A29, 0x1F55, 0x37B4, 0x5932, 0xA6CD, 0xC84B, 0xE0AA, 0xF5D6 },
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
136 { 0x0A9D, 0x20BC, 0x3A31, 0x5D2E, 0xA2D1, 0xC5CE, 0xDF43, 0xF562 },
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
137 { 0x0B16, 0x2231, 0x3CC9, 0x6156, 0x9EA9, 0xC336, 0xDDCE, 0xF4E9 },
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
138 { 0x0B95, 0x23B8, 0x3F80, 0x65AF, 0x9A50, 0xC07F, 0xDC47, 0xF46A },
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
139 { 0x0C19, 0x2551, 0x4256, 0x6A39, 0x95C6, 0xBDA9, 0xDAAE, 0xF3E6 },
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
140 { 0x0CA4, 0x26FB, 0x454C, 0x6EF7, 0x9108, 0xBAB3, 0xD904, 0xF35B },
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
141 { 0x0D34, 0x28B8, 0x4864, 0x73EB, 0x8C14, 0xB79B, 0xD747, 0xF2CB },
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
142 { 0x0DCB, 0x2A8A, 0x4B9F, 0x7918, 0x86E7, 0xB460, 0xD575, 0xF234 },
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
143 { 0x0E68, 0x2C6F, 0x4EFE, 0x7E7E, 0x8181, 0xB101, 0xD390, 0xF197 },
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
144 { 0x0F0D, 0x2E6B, 0x5285, 0x7FFF, 0x8000, 0xAD7A, 0xD194, 0xF0F2 },
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
145 { 0x0FB9, 0x307E, 0x5635, 0x7FFF, 0x8000, 0xA9CA, 0xCF81, 0xF046 },
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
146 { 0x106D, 0x32A7, 0x5A0D, 0x7FFF, 0x8000, 0xA5F2, 0xCD58, 0xEF92 },
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
147 { 0x1128, 0x34EA, 0x5E12, 0x7FFF, 0x8000, 0xA1ED, 0xCB15, 0xEED7 },
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
148 { 0x11ED, 0x3747, 0x6245, 0x7FFF, 0x8000, 0x9DBA, 0xC8B8, 0xEE12 },
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
149 { 0x12B9, 0x39BF, 0x66A8, 0x7FFF, 0x8000, 0x9957, 0xC640, 0xED46 },
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
150 { 0x138F, 0x3C52, 0x6B3C, 0x7FFF, 0x8000, 0x94C3, 0xC3AD, 0xEC70 },
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
151 { 0x146F, 0x3F04, 0x7006, 0x7FFF, 0x8000, 0x8FF9, 0xC0FB, 0xEB90 },
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
152 { 0x1558, 0x41D3, 0x7505, 0x7FFF, 0x8000, 0x8AFA, 0xBE2C, 0xEAA7 },
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
153 { 0x164C, 0x44C3, 0x7A3E, 0x7FFF, 0x8000, 0x85C1, 0xBB3C, 0xE9B3 },
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
154 { 0x174B, 0x47D5, 0x7FB3, 0x7FFF, 0x8000, 0x804C, 0xB82A, 0xE8B4 },
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
155 { 0x1855, 0x4B0A, 0x7FFF, 0x7FFF, 0x8000, 0x8000, 0xB4F5, 0xE7AA },
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
156 { 0x196B, 0x4E63, 0x7FFF, 0x7FFF, 0x8000, 0x8000, 0xB19C, 0xE694 },
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
157 { 0x1A8D, 0x51E3, 0x7FFF, 0x7FFF, 0x8000, 0x8000, 0xAE1C, 0xE572 },
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
158 { 0x1BBD, 0x558B, 0x7FFF, 0x7FFF, 0x8000, 0x8000, 0xAA74, 0xE442 },
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
159 { 0x1CFA, 0x595C, 0x7FFF, 0x7FFF, 0x8000, 0x8000, 0xA6A3, 0xE305 },
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
160 { 0x1E45, 0x5D59, 0x7FFF, 0x7FFF, 0x8000, 0x8000, 0xA2A6, 0xE1BA },
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
161 { 0x1F9F, 0x6184, 0x7FFF, 0x7FFF, 0x8000, 0x8000, 0x9E7B, 0xE060 },
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
162 { 0x2108, 0x65DE, 0x7FFF, 0x7FFF, 0x8000, 0x8000, 0x9A21, 0xDEF7 },
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
163 { 0x2281, 0x6A6A, 0x7FFF, 0x7FFF, 0x8000, 0x8000, 0x9595, 0xDD7E },
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
164 { 0x240C, 0x6F29, 0x7FFF, 0x7FFF, 0x8000, 0x8000, 0x90D6, 0xDBF3 },
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
165 { 0x25A7, 0x741F, 0x7FFF, 0x7FFF, 0x8000, 0x8000, 0x8BE0, 0xDA58 },
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
166 };
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
167
1064
b32afefe7d33 * UINTX -> uintx_t INTX -> intx_t
kabi
parents: 893
diff changeset
168 static const uint16_t MACEtab4[][8] = {
827
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
169 { 0x0040, 0x00D8, 0xFF27, 0xFFBF, 0, 0, 0, 0 }, { 0x0043, 0x00E2, 0xFF1D, 0xFFBC, 0, 0, 0, 0 },
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
170 { 0x0046, 0x00EC, 0xFF13, 0xFFB9, 0, 0, 0, 0 }, { 0x004A, 0x00F6, 0xFF09, 0xFFB5, 0, 0, 0, 0 },
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
171 { 0x004D, 0x0101, 0xFEFE, 0xFFB2, 0, 0, 0, 0 }, { 0x0050, 0x010C, 0xFEF3, 0xFFAF, 0, 0, 0, 0 },
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
172 { 0x0054, 0x0118, 0xFEE7, 0xFFAB, 0, 0, 0, 0 }, { 0x0058, 0x0126, 0xFED9, 0xFFA7, 0, 0, 0, 0 },
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
173 { 0x005C, 0x0133, 0xFECC, 0xFFA3, 0, 0, 0, 0 }, { 0x0060, 0x0141, 0xFEBE, 0xFF9F, 0, 0, 0, 0 },
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
174 { 0x0064, 0x014E, 0xFEB1, 0xFF9B, 0, 0, 0, 0 }, { 0x0068, 0x015E, 0xFEA1, 0xFF97, 0, 0, 0, 0 },
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
175 { 0x006D, 0x016D, 0xFE92, 0xFF92, 0, 0, 0, 0 }, { 0x0072, 0x017E, 0xFE81, 0xFF8D, 0, 0, 0, 0 },
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
176 { 0x0077, 0x018F, 0xFE70, 0xFF88, 0, 0, 0, 0 }, { 0x007C, 0x01A0, 0xFE5F, 0xFF83, 0, 0, 0, 0 },
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
177 { 0x0082, 0x01B2, 0xFE4D, 0xFF7D, 0, 0, 0, 0 }, { 0x0088, 0x01C6, 0xFE39, 0xFF77, 0, 0, 0, 0 },
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
178 { 0x008E, 0x01DB, 0xFE24, 0xFF71, 0, 0, 0, 0 }, { 0x0094, 0x01EF, 0xFE10, 0xFF6B, 0, 0, 0, 0 },
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
179 { 0x009B, 0x0207, 0xFDF8, 0xFF64, 0, 0, 0, 0 }, { 0x00A2, 0x021D, 0xFDE2, 0xFF5D, 0, 0, 0, 0 },
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
180 { 0x00A9, 0x0234, 0xFDCB, 0xFF56, 0, 0, 0, 0 }, { 0x00B0, 0x024E, 0xFDB1, 0xFF4F, 0, 0, 0, 0 },
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
181 { 0x00B9, 0x0269, 0xFD96, 0xFF46, 0, 0, 0, 0 }, { 0x00C1, 0x0284, 0xFD7B, 0xFF3E, 0, 0, 0, 0 },
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
182 { 0x00C9, 0x02A1, 0xFD5E, 0xFF36, 0, 0, 0, 0 }, { 0x00D2, 0x02BF, 0xFD40, 0xFF2D, 0, 0, 0, 0 },
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
183 { 0x00DC, 0x02DF, 0xFD20, 0xFF23, 0, 0, 0, 0 }, { 0x00E6, 0x02FF, 0xFD00, 0xFF19, 0, 0, 0, 0 },
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
184 { 0x00F0, 0x0321, 0xFCDE, 0xFF0F, 0, 0, 0, 0 }, { 0x00FB, 0x0346, 0xFCB9, 0xFF04, 0, 0, 0, 0 },
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
185 { 0x0106, 0x036C, 0xFC93, 0xFEF9, 0, 0, 0, 0 }, { 0x0112, 0x0392, 0xFC6D, 0xFEED, 0, 0, 0, 0 },
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
186 { 0x011E, 0x03BB, 0xFC44, 0xFEE1, 0, 0, 0, 0 }, { 0x012B, 0x03E5, 0xFC1A, 0xFED4, 0, 0, 0, 0 },
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
187 { 0x0138, 0x0411, 0xFBEE, 0xFEC7, 0, 0, 0, 0 }, { 0x0146, 0x0441, 0xFBBE, 0xFEB9, 0, 0, 0, 0 },
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
188 { 0x0155, 0x0472, 0xFB8D, 0xFEAA, 0, 0, 0, 0 }, { 0x0164, 0x04A4, 0xFB5B, 0xFE9B, 0, 0, 0, 0 },
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
189 { 0x0174, 0x04D9, 0xFB26, 0xFE8B, 0, 0, 0, 0 }, { 0x0184, 0x0511, 0xFAEE, 0xFE7B, 0, 0, 0, 0 },
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
190 { 0x0196, 0x054A, 0xFAB5, 0xFE69, 0, 0, 0, 0 }, { 0x01A8, 0x0587, 0xFA78, 0xFE57, 0, 0, 0, 0 },
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
191 { 0x01BB, 0x05C6, 0xFA39, 0xFE44, 0, 0, 0, 0 }, { 0x01CE, 0x0608, 0xF9F7, 0xFE31, 0, 0, 0, 0 },
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
192 { 0x01E3, 0x064D, 0xF9B2, 0xFE1C, 0, 0, 0, 0 }, { 0x01F9, 0x0694, 0xF96B, 0xFE06, 0, 0, 0, 0 },
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
193 { 0x020F, 0x06E0, 0xF91F, 0xFDF0, 0, 0, 0, 0 }, { 0x0227, 0x072E, 0xF8D1, 0xFDD8, 0, 0, 0, 0 },
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
194 { 0x0240, 0x0781, 0xF87E, 0xFDBF, 0, 0, 0, 0 }, { 0x0259, 0x07D7, 0xF828, 0xFDA6, 0, 0, 0, 0 },
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
195 { 0x0274, 0x0831, 0xF7CE, 0xFD8B, 0, 0, 0, 0 }, { 0x0290, 0x088E, 0xF771, 0xFD6F, 0, 0, 0, 0 },
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
196 { 0x02AE, 0x08F0, 0xF70F, 0xFD51, 0, 0, 0, 0 }, { 0x02CC, 0x0955, 0xF6AA, 0xFD33, 0, 0, 0, 0 },
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
197 { 0x02EC, 0x09C0, 0xF63F, 0xFD13, 0, 0, 0, 0 }, { 0x030D, 0x0A2F, 0xF5D0, 0xFCF2, 0, 0, 0, 0 },
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
198 { 0x0330, 0x0AA4, 0xF55B, 0xFCCF, 0, 0, 0, 0 }, { 0x0355, 0x0B1E, 0xF4E1, 0xFCAA, 0, 0, 0, 0 },
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
199 { 0x037B, 0x0B9D, 0xF462, 0xFC84, 0, 0, 0, 0 }, { 0x03A2, 0x0C20, 0xF3DF, 0xFC5D, 0, 0, 0, 0 },
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
200 { 0x03CC, 0x0CAB, 0xF354, 0xFC33, 0, 0, 0, 0 }, { 0x03F8, 0x0D3D, 0xF2C2, 0xFC07, 0, 0, 0, 0 },
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
201 { 0x0425, 0x0DD3, 0xF22C, 0xFBDA, 0, 0, 0, 0 }, { 0x0454, 0x0E72, 0xF18D, 0xFBAB, 0, 0, 0, 0 },
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
202 { 0x0486, 0x0F16, 0xF0E9, 0xFB79, 0, 0, 0, 0 }, { 0x04B9, 0x0FC3, 0xF03C, 0xFB46, 0, 0, 0, 0 },
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
203 { 0x04F0, 0x1078, 0xEF87, 0xFB0F, 0, 0, 0, 0 }, { 0x0528, 0x1133, 0xEECC, 0xFAD7, 0, 0, 0, 0 },
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
204 { 0x0563, 0x11F7, 0xEE08, 0xFA9C, 0, 0, 0, 0 }, { 0x05A1, 0x12C6, 0xED39, 0xFA5E, 0, 0, 0, 0 },
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
205 { 0x05E1, 0x139B, 0xEC64, 0xFA1E, 0, 0, 0, 0 }, { 0x0624, 0x147C, 0xEB83, 0xF9DB, 0, 0, 0, 0 },
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
206 { 0x066A, 0x1565, 0xEA9A, 0xF995, 0, 0, 0, 0 }, { 0x06B3, 0x165A, 0xE9A5, 0xF94C, 0, 0, 0, 0 },
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
207 { 0x0700, 0x175A, 0xE8A5, 0xF8FF, 0, 0, 0, 0 }, { 0x0750, 0x1865, 0xE79A, 0xF8AF, 0, 0, 0, 0 },
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
208 { 0x07A3, 0x197A, 0xE685, 0xF85C, 0, 0, 0, 0 }, { 0x07FB, 0x1A9D, 0xE562, 0xF804, 0, 0, 0, 0 },
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
209 { 0x0856, 0x1BCE, 0xE431, 0xF7A9, 0, 0, 0, 0 }, { 0x08B5, 0x1D0C, 0xE2F3, 0xF74A, 0, 0, 0, 0 },
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
210 { 0x0919, 0x1E57, 0xE1A8, 0xF6E6, 0, 0, 0, 0 }, { 0x0980, 0x1FB2, 0xE04D, 0xF67F, 0, 0, 0, 0 },
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
211 { 0x09ED, 0x211D, 0xDEE2, 0xF612, 0, 0, 0, 0 }, { 0x0A5F, 0x2296, 0xDD69, 0xF5A0, 0, 0, 0, 0 },
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
212 { 0x0AD5, 0x2422, 0xDBDD, 0xF52A, 0, 0, 0, 0 }, { 0x0B51, 0x25BF, 0xDA40, 0xF4AE, 0, 0, 0, 0 },
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
213 { 0x0BD2, 0x276E, 0xD891, 0xF42D, 0, 0, 0, 0 }, { 0x0C5A, 0x2932, 0xD6CD, 0xF3A5, 0, 0, 0, 0 },
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
214 { 0x0CE7, 0x2B08, 0xD4F7, 0xF318, 0, 0, 0, 0 }, { 0x0D7A, 0x2CF4, 0xD30B, 0xF285, 0, 0, 0, 0 },
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
215 { 0x0E14, 0x2EF4, 0xD10B, 0xF1EB, 0, 0, 0, 0 }, { 0x0EB5, 0x310C, 0xCEF3, 0xF14A, 0, 0, 0, 0 },
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
216 { 0x0F5D, 0x333E, 0xCCC1, 0xF0A2, 0, 0, 0, 0 }, { 0x100C, 0x3587, 0xCA78, 0xEFF3, 0, 0, 0, 0 },
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
217 { 0x10C4, 0x37EB, 0xC814, 0xEF3B, 0, 0, 0, 0 }, { 0x1183, 0x3A69, 0xC596, 0xEE7C, 0, 0, 0, 0 },
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
218 { 0x124B, 0x3D05, 0xC2FA, 0xEDB4, 0, 0, 0, 0 }, { 0x131C, 0x3FBE, 0xC041, 0xECE3, 0, 0, 0, 0 },
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
219 { 0x13F7, 0x4296, 0xBD69, 0xEC08, 0, 0, 0, 0 }, { 0x14DB, 0x458F, 0xBA70, 0xEB24, 0, 0, 0, 0 },
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
220 { 0x15C9, 0x48AA, 0xB755, 0xEA36, 0, 0, 0, 0 }, { 0x16C2, 0x4BE9, 0xB416, 0xE93D, 0, 0, 0, 0 },
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
221 { 0x17C6, 0x4F4C, 0xB0B3, 0xE839, 0, 0, 0, 0 }, { 0x18D6, 0x52D5, 0xAD2A, 0xE729, 0, 0, 0, 0 },
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
222 { 0x19F2, 0x5688, 0xA977, 0xE60D, 0, 0, 0, 0 }, { 0x1B1A, 0x5A65, 0xA59A, 0xE4E5, 0, 0, 0, 0 },
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
223 { 0x1C50, 0x5E6D, 0xA192, 0xE3AF, 0, 0, 0, 0 }, { 0x1D93, 0x62A4, 0x9D5B, 0xE26C, 0, 0, 0, 0 },
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
224 { 0x1EE5, 0x670C, 0x98F3, 0xE11A, 0, 0, 0, 0 }, { 0x2046, 0x6BA5, 0x945A, 0xDFB9, 0, 0, 0, 0 },
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
225 { 0x21B7, 0x7072, 0x8F8D, 0xDE48, 0, 0, 0, 0 }, { 0x2338, 0x7578, 0x8A87, 0xDCC7, 0, 0, 0, 0 },
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
226 { 0x24CB, 0x7AB5, 0x854A, 0xDB34, 0, 0, 0, 0 }, { 0x266F, 0x7FFF, 0x8000, 0xD990, 0, 0, 0, 0 },
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
227 { 0x2826, 0x7FFF, 0x8000, 0xD7D9, 0, 0, 0, 0 }, { 0x29F1, 0x7FFF, 0x8000, 0xD60E, 0, 0, 0, 0 },
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
228 { 0x2BD0, 0x7FFF, 0x8000, 0xD42F, 0, 0, 0, 0 }, { 0x2DC5, 0x7FFF, 0x8000, 0xD23A, 0, 0, 0, 0 },
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
229 { 0x2FD0, 0x7FFF, 0x8000, 0xD02F, 0, 0, 0, 0 }, { 0x31F2, 0x7FFF, 0x8000, 0xCE0D, 0, 0, 0, 0 },
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
230 { 0x342C, 0x7FFF, 0x8000, 0xCBD3, 0, 0, 0, 0 }, { 0x3681, 0x7FFF, 0x8000, 0xC97E, 0, 0, 0, 0 },
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
231 { 0x38F0, 0x7FFF, 0x8000, 0xC70F, 0, 0, 0, 0 }, { 0x3B7A, 0x7FFF, 0x8000, 0xC485, 0, 0, 0, 0 },
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
232 { 0x3E22, 0x7FFF, 0x8000, 0xC1DD, 0, 0, 0, 0 }, { 0x40E7, 0x7FFF, 0x8000, 0xBF18, 0, 0, 0, 0 },
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
233 };
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
234 /* end of constants */
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
235
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
236 typedef struct MACEContext {
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
237 short index, lev, factor, prev2, previous, level;
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
238 short *outPtr;
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
239 } MACEContext;
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
240
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
241 /* /// "chomp3()" */
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
242 static void chomp3(MACEContext *ctx,
1064
b32afefe7d33 * UINTX -> uintx_t INTX -> intx_t
kabi
parents: 893
diff changeset
243 uint8_t val,
b32afefe7d33 * UINTX -> uintx_t INTX -> intx_t
kabi
parents: 893
diff changeset
244 const uint16_t tab1[],
2487
b09bc77eb2fb Stereo MACE fix by Burkhard Plaum <plaum AT ipf DOT uni-stuttgart DOT de>
mmu_man
parents: 2028
diff changeset
245 const uint16_t tab2[][8],
b09bc77eb2fb Stereo MACE fix by Burkhard Plaum <plaum AT ipf DOT uni-stuttgart DOT de>
mmu_man
parents: 2028
diff changeset
246 uint32_t numChannels)
827
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
247 {
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
248 short current;
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
249
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
250 current=(short)tab2[(ctx->index & 0x7f0) >> 4][val];
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
251 if (current+ctx->lev > 32767) current=32767;
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
252 else if (current+ctx->lev < -32768) current=-32767;
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
253 else current+=ctx->lev;
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
254 ctx->lev=current-(current >> 3);
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
255 // *ctx->outPtr++=current >> 8;
2487
b09bc77eb2fb Stereo MACE fix by Burkhard Plaum <plaum AT ipf DOT uni-stuttgart DOT de>
mmu_man
parents: 2028
diff changeset
256 *ctx->outPtr=current;
b09bc77eb2fb Stereo MACE fix by Burkhard Plaum <plaum AT ipf DOT uni-stuttgart DOT de>
mmu_man
parents: 2028
diff changeset
257 ctx->outPtr+=numChannels;
827
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
258 if ( ( ctx->index += tab1[val]-(ctx->index>>5) ) < 0 ) ctx->index = 0;
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
259 }
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
260 /* \\\ */
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
261
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
262 /* /// "Exp1to3()" */
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
263 static void Exp1to3(MACEContext *ctx,
1064
b32afefe7d33 * UINTX -> uintx_t INTX -> intx_t
kabi
parents: 893
diff changeset
264 uint8_t *inBuffer,
827
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
265 void *outBuffer,
1064
b32afefe7d33 * UINTX -> uintx_t INTX -> intx_t
kabi
parents: 893
diff changeset
266 uint32_t cnt,
b32afefe7d33 * UINTX -> uintx_t INTX -> intx_t
kabi
parents: 893
diff changeset
267 uint32_t numChannels,
b32afefe7d33 * UINTX -> uintx_t INTX -> intx_t
kabi
parents: 893
diff changeset
268 uint32_t whichChannel)
827
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
269 {
1064
b32afefe7d33 * UINTX -> uintx_t INTX -> intx_t
kabi
parents: 893
diff changeset
270 uint8_t pkt;
827
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
271
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
272 /*
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
273 if (inState) {
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
274 ctx->index=inState[0];
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
275 ctx->lev=inState[1];
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
276 } else
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
277 */
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
278 ctx->index=ctx->lev=0;
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
279
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
280 inBuffer+=(whichChannel-1)*2;
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
281
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
282 ctx->outPtr=outBuffer;
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
283
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
284 while (cnt>0) {
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
285 pkt=inBuffer[0];
2487
b09bc77eb2fb Stereo MACE fix by Burkhard Plaum <plaum AT ipf DOT uni-stuttgart DOT de>
mmu_man
parents: 2028
diff changeset
286 chomp3(ctx, pkt & 7, MACEtab1, MACEtab2, numChannels);
b09bc77eb2fb Stereo MACE fix by Burkhard Plaum <plaum AT ipf DOT uni-stuttgart DOT de>
mmu_man
parents: 2028
diff changeset
287 chomp3(ctx,(pkt >> 3) & 3, MACEtab3, MACEtab4, numChannels);
b09bc77eb2fb Stereo MACE fix by Burkhard Plaum <plaum AT ipf DOT uni-stuttgart DOT de>
mmu_man
parents: 2028
diff changeset
288 chomp3(ctx, pkt >> 5 , MACEtab1, MACEtab2, numChannels);
827
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
289 pkt=inBuffer[1];
2487
b09bc77eb2fb Stereo MACE fix by Burkhard Plaum <plaum AT ipf DOT uni-stuttgart DOT de>
mmu_man
parents: 2028
diff changeset
290 chomp3(ctx, pkt & 7, MACEtab1, MACEtab2, numChannels);
b09bc77eb2fb Stereo MACE fix by Burkhard Plaum <plaum AT ipf DOT uni-stuttgart DOT de>
mmu_man
parents: 2028
diff changeset
291 chomp3(ctx,(pkt >> 3) & 3, MACEtab3, MACEtab4, numChannels);
b09bc77eb2fb Stereo MACE fix by Burkhard Plaum <plaum AT ipf DOT uni-stuttgart DOT de>
mmu_man
parents: 2028
diff changeset
292 chomp3(ctx, pkt >> 5 , MACEtab1, MACEtab2, numChannels);
827
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
293
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
294 inBuffer+=numChannels*2;
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
295 --cnt;
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
296 }
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
297
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
298 /*
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
299 if (outState) {
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
300 outState[0]=ctx->index;
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
301 outState[1]=ctx->lev;
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
302 }
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
303 */
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
304 }
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
305 /* \\\ */
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
306
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
307 /* /// "chomp6()" */
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
308 static void chomp6(MACEContext *ctx,
1064
b32afefe7d33 * UINTX -> uintx_t INTX -> intx_t
kabi
parents: 893
diff changeset
309 uint8_t val,
b32afefe7d33 * UINTX -> uintx_t INTX -> intx_t
kabi
parents: 893
diff changeset
310 const uint16_t tab1[],
2487
b09bc77eb2fb Stereo MACE fix by Burkhard Plaum <plaum AT ipf DOT uni-stuttgart DOT de>
mmu_man
parents: 2028
diff changeset
311 const uint16_t tab2[][8],
b09bc77eb2fb Stereo MACE fix by Burkhard Plaum <plaum AT ipf DOT uni-stuttgart DOT de>
mmu_man
parents: 2028
diff changeset
312 uint32_t numChannels)
827
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
313 {
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
314 short current;
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
315
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
316 current=(short)tab2[(ctx->index & 0x7f0) >> 4][val];
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
317
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
318 if ((ctx->previous^current)>=0) {
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
319 if (ctx->factor+506>32767) ctx->factor=32767;
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
320 else ctx->factor+=506;
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
321 } else {
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
322 if (ctx->factor-314<-32768) ctx->factor=-32767;
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
323 else ctx->factor-=314;
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
324 }
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
325
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
326 if (current+ctx->level>32767) current=32767;
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
327 else if (current+ctx->level<-32768) current=-32767;
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
328 else current+=ctx->level;
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
329
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
330 ctx->level=((current*ctx->factor) >> 15);
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
331 current>>=1;
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
332
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
333 // *ctx->outPtr++=(ctx->previous+ctx->prev2-((ctx->prev2-current) >> 2)) >> 8;
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
334 // *ctx->outPtr++=(ctx->previous+current+((ctx->prev2-current) >> 2)) >> 8;
2487
b09bc77eb2fb Stereo MACE fix by Burkhard Plaum <plaum AT ipf DOT uni-stuttgart DOT de>
mmu_man
parents: 2028
diff changeset
335 *ctx->outPtr=(ctx->previous+ctx->prev2-((ctx->prev2-current) >> 2));
b09bc77eb2fb Stereo MACE fix by Burkhard Plaum <plaum AT ipf DOT uni-stuttgart DOT de>
mmu_man
parents: 2028
diff changeset
336 ctx->outPtr+=numChannels;
b09bc77eb2fb Stereo MACE fix by Burkhard Plaum <plaum AT ipf DOT uni-stuttgart DOT de>
mmu_man
parents: 2028
diff changeset
337 *ctx->outPtr=(ctx->previous+current+((ctx->prev2-current) >> 2));
b09bc77eb2fb Stereo MACE fix by Burkhard Plaum <plaum AT ipf DOT uni-stuttgart DOT de>
mmu_man
parents: 2028
diff changeset
338 ctx->outPtr+=numChannels;
827
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
339 ctx->prev2=ctx->previous;
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
340 ctx->previous=current;
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
341
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
342 if( ( ctx->index += tab1[val]-(ctx->index>>5) ) < 0 ) ctx->index = 0;
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
343 }
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
344 /* \\\ */
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
345
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
346 /* /// "Exp1to6()" */
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
347 static void Exp1to6(MACEContext *ctx,
1064
b32afefe7d33 * UINTX -> uintx_t INTX -> intx_t
kabi
parents: 893
diff changeset
348 uint8_t *inBuffer,
827
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
349 void *outBuffer,
1064
b32afefe7d33 * UINTX -> uintx_t INTX -> intx_t
kabi
parents: 893
diff changeset
350 uint32_t cnt,
b32afefe7d33 * UINTX -> uintx_t INTX -> intx_t
kabi
parents: 893
diff changeset
351 uint32_t numChannels,
b32afefe7d33 * UINTX -> uintx_t INTX -> intx_t
kabi
parents: 893
diff changeset
352 uint32_t whichChannel)
827
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
353 {
1064
b32afefe7d33 * UINTX -> uintx_t INTX -> intx_t
kabi
parents: 893
diff changeset
354 uint8_t pkt;
827
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
355
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
356 /*
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
357 if (inState) {
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
358 ctx->previous=inState[0];
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
359 ctx->prev2=inState[1];
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
360 ctx->index=inState[2];
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
361 ctx->level=inState[3];
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
362 ctx->factor=inState[4];
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
363 } else
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
364 */
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
365 ctx->previous=ctx->prev2=ctx->index=ctx->level=ctx->factor=0;
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
366
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
367 inBuffer+=(whichChannel-1);
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
368 ctx->outPtr=outBuffer;
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
369
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
370 while (cnt>0) {
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
371 pkt=*inBuffer;
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
372
2487
b09bc77eb2fb Stereo MACE fix by Burkhard Plaum <plaum AT ipf DOT uni-stuttgart DOT de>
mmu_man
parents: 2028
diff changeset
373 chomp6(ctx, pkt >> 5 , MACEtab1, MACEtab2, numChannels);
b09bc77eb2fb Stereo MACE fix by Burkhard Plaum <plaum AT ipf DOT uni-stuttgart DOT de>
mmu_man
parents: 2028
diff changeset
374 chomp6(ctx,(pkt >> 3) & 3, MACEtab3, MACEtab4, numChannels);
b09bc77eb2fb Stereo MACE fix by Burkhard Plaum <plaum AT ipf DOT uni-stuttgart DOT de>
mmu_man
parents: 2028
diff changeset
375 chomp6(ctx, pkt & 7, MACEtab1, MACEtab2, numChannels);
827
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
376
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
377 inBuffer+=numChannels;
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
378 --cnt;
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
379 }
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
380
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
381 /*
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
382 if (outState) {
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
383 outState[0]=ctx->previous;
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
384 outState[1]=ctx->prev2;
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
385 outState[2]=ctx->index;
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
386 outState[3]=ctx->level;
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
387 outState[4]=ctx->factor;
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
388 }
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
389 */
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
390 }
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
391 /* \\\ */
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
392
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
393 static int mace_decode_init(AVCodecContext * avctx)
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
394 {
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
395 if (avctx->channels > 2)
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
396 return -1;
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
397 return 0;
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
398 }
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
399
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
400 static int mace_decode_frame(AVCodecContext *avctx,
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
401 void *data, int *data_size,
1064
b32afefe7d33 * UINTX -> uintx_t INTX -> intx_t
kabi
parents: 893
diff changeset
402 uint8_t *buf, int buf_size)
827
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
403 {
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
404 short *samples;
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
405 MACEContext *c = avctx->priv_data;
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
406
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
407 samples = (short *)data;
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
408 switch (avctx->codec->id) {
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
409 case CODEC_ID_MACE3:
1154
5c6648741fdd debug stuff only for DEBUG :)
mmu_man
parents: 1106
diff changeset
410 #ifdef DEBUG
827
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
411 puts("mace_decode_frame[3]()");
1154
5c6648741fdd debug stuff only for DEBUG :)
mmu_man
parents: 1106
diff changeset
412 #endif
827
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
413 Exp1to3(c, buf, samples, buf_size / 2, avctx->channels, 1);
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
414 if (avctx->channels == 2)
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
415 Exp1to3(c, buf, samples+1, buf_size / 2, 2, 2);
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
416 *data_size = 2 * 3 * buf_size;
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
417 break;
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
418 case CODEC_ID_MACE6:
1154
5c6648741fdd debug stuff only for DEBUG :)
mmu_man
parents: 1106
diff changeset
419 #ifdef DEBUG
827
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
420 puts("mace_decode_frame[6]()");
1154
5c6648741fdd debug stuff only for DEBUG :)
mmu_man
parents: 1106
diff changeset
421 #endif
827
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
422 Exp1to6(c, buf, samples, buf_size, avctx->channels, 1);
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
423 if (avctx->channels == 2)
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
424 Exp1to6(c, buf, samples+1, buf_size, 2, 2);
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
425 *data_size = 2 * 6 * buf_size;
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
426 break;
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
427 default:
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
428 return -1;
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
429 }
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
430 return buf_size;
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
431 }
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
432
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
433 AVCodec mace3_decoder = {
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
434 "mace3",
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
435 CODEC_TYPE_AUDIO,
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
436 CODEC_ID_MACE3,
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
437 sizeof(MACEContext),
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
438 mace_decode_init,
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
439 NULL,
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
440 NULL,
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
441 mace_decode_frame,
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
442 };
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
443
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
444 AVCodec mace6_decoder = {
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
445 "mace6",
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
446 CODEC_TYPE_AUDIO,
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
447 CODEC_ID_MACE6,
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
448 sizeof(MACEContext),
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
449 mace_decode_init,
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
450 NULL,
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
451 NULL,
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
452 mace_decode_frame,
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
453 };
770578c6c300 added MACE (Macintosh Audio Compression/Expansion) 3:1 & 6:1 support
michaelni
parents:
diff changeset
454