annotate atrac1data.h @ 12197:fbf4d5b1b664 libavcodec

Remove FF_MM_SSE2/3 flags for CPUs where this is generally not faster than regular MMX code. Examples of this are the Core1 CPU. Instead, set a new flag, FF_MM_SSE2/3SLOW, which can be checked for particular SSE2/3 functions that have been checked specifically on such CPUs and are actually faster than their MMX counterparts. In addition, use this flag to enable particular VP8 and LPC SSE2 functions that are faster than their MMX counterparts. Based on a patch by Loren Merritt <lorenm AT u washington edu>.
author rbultje
date Mon, 19 Jul 2010 22:38:23 +0000
parents 7dd2a45249a9
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
10157
178274d5fa1d Initial commit of the atrac1 decoder, not hooked up yet
banan
parents:
diff changeset
1 /*
178274d5fa1d Initial commit of the atrac1 decoder, not hooked up yet
banan
parents:
diff changeset
2 * Atrac 1 compatible decoder data
178274d5fa1d Initial commit of the atrac1 decoder, not hooked up yet
banan
parents:
diff changeset
3 * Copyright (c) 2009 Maxim Poliakovski
178274d5fa1d Initial commit of the atrac1 decoder, not hooked up yet
banan
parents:
diff changeset
4 * Copyright (c) 2009 Benjamin Larsson
178274d5fa1d Initial commit of the atrac1 decoder, not hooked up yet
banan
parents:
diff changeset
5 *
178274d5fa1d Initial commit of the atrac1 decoder, not hooked up yet
banan
parents:
diff changeset
6 * This file is part of FFmpeg.
178274d5fa1d Initial commit of the atrac1 decoder, not hooked up yet
banan
parents:
diff changeset
7 *
178274d5fa1d Initial commit of the atrac1 decoder, not hooked up yet
banan
parents:
diff changeset
8 * FFmpeg is free software; you can redistribute it and/or
178274d5fa1d Initial commit of the atrac1 decoder, not hooked up yet
banan
parents:
diff changeset
9 * modify it under the terms of the GNU Lesser General Public
178274d5fa1d Initial commit of the atrac1 decoder, not hooked up yet
banan
parents:
diff changeset
10 * License as published by the Free Software Foundation; either
178274d5fa1d Initial commit of the atrac1 decoder, not hooked up yet
banan
parents:
diff changeset
11 * version 2.1 of the License, or (at your option) any later version.
178274d5fa1d Initial commit of the atrac1 decoder, not hooked up yet
banan
parents:
diff changeset
12 *
178274d5fa1d Initial commit of the atrac1 decoder, not hooked up yet
banan
parents:
diff changeset
13 * FFmpeg is distributed in the hope that it will be useful,
178274d5fa1d Initial commit of the atrac1 decoder, not hooked up yet
banan
parents:
diff changeset
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
178274d5fa1d Initial commit of the atrac1 decoder, not hooked up yet
banan
parents:
diff changeset
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
178274d5fa1d Initial commit of the atrac1 decoder, not hooked up yet
banan
parents:
diff changeset
16 * Lesser General Public License for more details.
178274d5fa1d Initial commit of the atrac1 decoder, not hooked up yet
banan
parents:
diff changeset
17 *
178274d5fa1d Initial commit of the atrac1 decoder, not hooked up yet
banan
parents:
diff changeset
18 * You should have received a copy of the GNU Lesser General Public
178274d5fa1d Initial commit of the atrac1 decoder, not hooked up yet
banan
parents:
diff changeset
19 * License along with FFmpeg; if not, write to the Free Software
178274d5fa1d Initial commit of the atrac1 decoder, not hooked up yet
banan
parents:
diff changeset
20 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
178274d5fa1d Initial commit of the atrac1 decoder, not hooked up yet
banan
parents:
diff changeset
21 */
178274d5fa1d Initial commit of the atrac1 decoder, not hooked up yet
banan
parents:
diff changeset
22
178274d5fa1d Initial commit of the atrac1 decoder, not hooked up yet
banan
parents:
diff changeset
23 /**
11644
7dd2a45249a9 Remove explicit filename from Doxygen @file commands.
diego
parents: 10187
diff changeset
24 * @file
10157
178274d5fa1d Initial commit of the atrac1 decoder, not hooked up yet
banan
parents:
diff changeset
25 * Atrac 1 compatible decoder data
178274d5fa1d Initial commit of the atrac1 decoder, not hooked up yet
banan
parents:
diff changeset
26 */
178274d5fa1d Initial commit of the atrac1 decoder, not hooked up yet
banan
parents:
diff changeset
27
178274d5fa1d Initial commit of the atrac1 decoder, not hooked up yet
banan
parents:
diff changeset
28 #ifndef AVCODEC_ATRAC1DATA_H
178274d5fa1d Initial commit of the atrac1 decoder, not hooked up yet
banan
parents:
diff changeset
29 #define AVCODEC_ATRAC1DATA_H
178274d5fa1d Initial commit of the atrac1 decoder, not hooked up yet
banan
parents:
diff changeset
30
10187
b14d646fe719 Add missing stdint.h #include to fix 'make checkheaders'.
diego
parents: 10157
diff changeset
31 #include <stdint.h>
b14d646fe719 Add missing stdint.h #include to fix 'make checkheaders'.
diego
parents: 10157
diff changeset
32
10157
178274d5fa1d Initial commit of the atrac1 decoder, not hooked up yet
banan
parents:
diff changeset
33 static const uint8_t bfu_amount_tab1[8] = {20, 28, 32, 36, 40, 44, 48, 52};
178274d5fa1d Initial commit of the atrac1 decoder, not hooked up yet
banan
parents:
diff changeset
34 static const uint8_t bfu_amount_tab2[4] = { 0, 112, 176, 208};
178274d5fa1d Initial commit of the atrac1 decoder, not hooked up yet
banan
parents:
diff changeset
35 static const uint8_t bfu_amount_tab3[8] = { 0, 24, 36, 48, 72, 108, 132, 156};
178274d5fa1d Initial commit of the atrac1 decoder, not hooked up yet
banan
parents:
diff changeset
36
178274d5fa1d Initial commit of the atrac1 decoder, not hooked up yet
banan
parents:
diff changeset
37 /** number of BFUs in each QMF band */
178274d5fa1d Initial commit of the atrac1 decoder, not hooked up yet
banan
parents:
diff changeset
38 static const uint8_t bfu_bands_t[4] = {0, 20, 36, 52};
178274d5fa1d Initial commit of the atrac1 decoder, not hooked up yet
banan
parents:
diff changeset
39
178274d5fa1d Initial commit of the atrac1 decoder, not hooked up yet
banan
parents:
diff changeset
40 /** number of spectral lines in each BFU
178274d5fa1d Initial commit of the atrac1 decoder, not hooked up yet
banan
parents:
diff changeset
41 * block floating unit = group of spectral frequencies having the
178274d5fa1d Initial commit of the atrac1 decoder, not hooked up yet
banan
parents:
diff changeset
42 * same quantization parameters like word length and scale factor
178274d5fa1d Initial commit of the atrac1 decoder, not hooked up yet
banan
parents:
diff changeset
43 */
178274d5fa1d Initial commit of the atrac1 decoder, not hooked up yet
banan
parents:
diff changeset
44 static const uint8_t specs_per_bfu[52] = {
178274d5fa1d Initial commit of the atrac1 decoder, not hooked up yet
banan
parents:
diff changeset
45 8, 8, 8, 8, 4, 4, 4, 4, 8, 8, 8, 8, 6, 6, 6, 6, 6, 6, 6, 6, // low band
178274d5fa1d Initial commit of the atrac1 decoder, not hooked up yet
banan
parents:
diff changeset
46 6, 6, 6, 6, 7, 7, 7, 7, 9, 9, 9, 9, 10, 10, 10, 10, // midle band
178274d5fa1d Initial commit of the atrac1 decoder, not hooked up yet
banan
parents:
diff changeset
47 12, 12, 12, 12, 12, 12, 12, 12, 20, 20, 20, 20, 20, 20, 20, 20 // high band
178274d5fa1d Initial commit of the atrac1 decoder, not hooked up yet
banan
parents:
diff changeset
48 };
178274d5fa1d Initial commit of the atrac1 decoder, not hooked up yet
banan
parents:
diff changeset
49
178274d5fa1d Initial commit of the atrac1 decoder, not hooked up yet
banan
parents:
diff changeset
50 /** start position of each BFU in the MDCT spectrum for the long mode */
178274d5fa1d Initial commit of the atrac1 decoder, not hooked up yet
banan
parents:
diff changeset
51 static const uint16_t bfu_start_long[52] = {
178274d5fa1d Initial commit of the atrac1 decoder, not hooked up yet
banan
parents:
diff changeset
52 0, 8, 16, 24, 32, 36, 40, 44, 48, 56, 64, 72, 80, 86, 92, 98, 104, 110, 116, 122,
178274d5fa1d Initial commit of the atrac1 decoder, not hooked up yet
banan
parents:
diff changeset
53 128, 134, 140, 146, 152, 159, 166, 173, 180, 189, 198, 207, 216, 226, 236, 246,
178274d5fa1d Initial commit of the atrac1 decoder, not hooked up yet
banan
parents:
diff changeset
54 256, 268, 280, 292, 304, 316, 328, 340, 352, 372, 392, 412, 432, 452, 472, 492,
178274d5fa1d Initial commit of the atrac1 decoder, not hooked up yet
banan
parents:
diff changeset
55 };
178274d5fa1d Initial commit of the atrac1 decoder, not hooked up yet
banan
parents:
diff changeset
56
178274d5fa1d Initial commit of the atrac1 decoder, not hooked up yet
banan
parents:
diff changeset
57 /** start position of each BFU in the MDCT spectrum for the short mode */
178274d5fa1d Initial commit of the atrac1 decoder, not hooked up yet
banan
parents:
diff changeset
58 static const uint16_t bfu_start_short[52] = {
178274d5fa1d Initial commit of the atrac1 decoder, not hooked up yet
banan
parents:
diff changeset
59 0, 32, 64, 96, 8, 40, 72, 104, 12, 44, 76, 108, 20, 52, 84, 116, 26, 58, 90, 122,
178274d5fa1d Initial commit of the atrac1 decoder, not hooked up yet
banan
parents:
diff changeset
60 128, 160, 192, 224, 134, 166, 198, 230, 141, 173, 205, 237, 150, 182, 214, 246,
178274d5fa1d Initial commit of the atrac1 decoder, not hooked up yet
banan
parents:
diff changeset
61 256, 288, 320, 352, 384, 416, 448, 480, 268, 300, 332, 364, 396, 428, 460, 492
178274d5fa1d Initial commit of the atrac1 decoder, not hooked up yet
banan
parents:
diff changeset
62 };
178274d5fa1d Initial commit of the atrac1 decoder, not hooked up yet
banan
parents:
diff changeset
63
178274d5fa1d Initial commit of the atrac1 decoder, not hooked up yet
banan
parents:
diff changeset
64 #endif /* AVCODEC_ATRAC1DATA_H */