annotate indeo5data.h @ 11225:5811a86f55f1 libavcodec

Use memset to set the runs partially coded superblocks Much faster for long runs (e.g. nearly uncoded frames), slightly faster for the general case.
author conrad
date Sun, 21 Feb 2010 00:10:47 +0000
parents 384b6a615a92
children 7dd2a45249a9
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
11107
5ca4eb4a1a3f Indeo 5 decoder
kostya
parents:
diff changeset
1 /*
5ca4eb4a1a3f Indeo 5 decoder
kostya
parents:
diff changeset
2 * Indeo Video Interactive 5 compatible decoder
5ca4eb4a1a3f Indeo 5 decoder
kostya
parents:
diff changeset
3 * Copyright (c) 2009 Maxim Poliakovski
5ca4eb4a1a3f Indeo 5 decoder
kostya
parents:
diff changeset
4 *
5ca4eb4a1a3f Indeo 5 decoder
kostya
parents:
diff changeset
5 * This file is part of FFmpeg.
5ca4eb4a1a3f Indeo 5 decoder
kostya
parents:
diff changeset
6 *
5ca4eb4a1a3f Indeo 5 decoder
kostya
parents:
diff changeset
7 * FFmpeg is free software; you can redistribute it and/or
5ca4eb4a1a3f Indeo 5 decoder
kostya
parents:
diff changeset
8 * modify it under the terms of the GNU Lesser General Public
5ca4eb4a1a3f Indeo 5 decoder
kostya
parents:
diff changeset
9 * License as published by the Free Software Foundation; either
5ca4eb4a1a3f Indeo 5 decoder
kostya
parents:
diff changeset
10 * version 2.1 of the License, or (at your option) any later version.
5ca4eb4a1a3f Indeo 5 decoder
kostya
parents:
diff changeset
11 *
5ca4eb4a1a3f Indeo 5 decoder
kostya
parents:
diff changeset
12 * FFmpeg is distributed in the hope that it will be useful,
5ca4eb4a1a3f Indeo 5 decoder
kostya
parents:
diff changeset
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
5ca4eb4a1a3f Indeo 5 decoder
kostya
parents:
diff changeset
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
5ca4eb4a1a3f Indeo 5 decoder
kostya
parents:
diff changeset
15 * Lesser General Public License for more details.
5ca4eb4a1a3f Indeo 5 decoder
kostya
parents:
diff changeset
16 *
5ca4eb4a1a3f Indeo 5 decoder
kostya
parents:
diff changeset
17 * You should have received a copy of the GNU Lesser General Public
5ca4eb4a1a3f Indeo 5 decoder
kostya
parents:
diff changeset
18 * License along with FFmpeg; if not, write to the Free Software
5ca4eb4a1a3f Indeo 5 decoder
kostya
parents:
diff changeset
19 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
5ca4eb4a1a3f Indeo 5 decoder
kostya
parents:
diff changeset
20 */
5ca4eb4a1a3f Indeo 5 decoder
kostya
parents:
diff changeset
21
5ca4eb4a1a3f Indeo 5 decoder
kostya
parents:
diff changeset
22 /**
5ca4eb4a1a3f Indeo 5 decoder
kostya
parents:
diff changeset
23 * @file libavcodec/indeo5data.h
5ca4eb4a1a3f Indeo 5 decoder
kostya
parents:
diff changeset
24 * This file contains data needed for the Indeo5 decoder.
5ca4eb4a1a3f Indeo 5 decoder
kostya
parents:
diff changeset
25 */
5ca4eb4a1a3f Indeo 5 decoder
kostya
parents:
diff changeset
26
5ca4eb4a1a3f Indeo 5 decoder
kostya
parents:
diff changeset
27 #ifndef AVCODEC_INDEO5DATA_H
5ca4eb4a1a3f Indeo 5 decoder
kostya
parents:
diff changeset
28 #define AVCODEC_INDEO5DATA_H
5ca4eb4a1a3f Indeo 5 decoder
kostya
parents:
diff changeset
29
5ca4eb4a1a3f Indeo 5 decoder
kostya
parents:
diff changeset
30 #include <stdint.h>
5ca4eb4a1a3f Indeo 5 decoder
kostya
parents:
diff changeset
31
5ca4eb4a1a3f Indeo 5 decoder
kostya
parents:
diff changeset
32 /**
5ca4eb4a1a3f Indeo 5 decoder
kostya
parents:
diff changeset
33 * standard picture dimensions (width, height divided by 4)
5ca4eb4a1a3f Indeo 5 decoder
kostya
parents:
diff changeset
34 */
5ca4eb4a1a3f Indeo 5 decoder
kostya
parents:
diff changeset
35 static const uint8_t ivi5_common_pic_sizes[30] = {
5ca4eb4a1a3f Indeo 5 decoder
kostya
parents:
diff changeset
36 160, 120, 80, 60, 40, 30, 176, 120, 88, 60, 88, 72, 44, 36, 60, 45, 160, 60,
5ca4eb4a1a3f Indeo 5 decoder
kostya
parents:
diff changeset
37 176, 60, 20, 15, 22, 18, 0, 0, 0, 0, 0, 0
5ca4eb4a1a3f Indeo 5 decoder
kostya
parents:
diff changeset
38 };
5ca4eb4a1a3f Indeo 5 decoder
kostya
parents:
diff changeset
39
5ca4eb4a1a3f Indeo 5 decoder
kostya
parents:
diff changeset
40 /**
5ca4eb4a1a3f Indeo 5 decoder
kostya
parents:
diff changeset
41 * Indeo5 8x8 scan (zigzag) patterns
5ca4eb4a1a3f Indeo 5 decoder
kostya
parents:
diff changeset
42 */
11213
384b6a615a92 remove ivi5_scans8x8[0], it duplicates ff_zigzag_direct
stefang
parents: 11107
diff changeset
43 static const uint8_t ivi5_scans8x8[2][64] = {
11107
5ca4eb4a1a3f Indeo 5 decoder
kostya
parents:
diff changeset
44 {0, 8, 16, 24, 32, 40, 48, 56, 1, 9, 17, 25, 33, 41, 49, 57,
5ca4eb4a1a3f Indeo 5 decoder
kostya
parents:
diff changeset
45 2, 10, 18, 26, 34, 42, 50, 58, 3, 11, 19, 27, 35, 43, 51, 59,
5ca4eb4a1a3f Indeo 5 decoder
kostya
parents:
diff changeset
46 4, 12, 20, 28, 36, 44, 52, 60, 5, 13, 21, 29, 37, 45, 53, 61,
5ca4eb4a1a3f Indeo 5 decoder
kostya
parents:
diff changeset
47 6, 14, 22, 30, 38, 46, 54, 62, 7, 15, 23, 31, 39, 47, 55, 63
5ca4eb4a1a3f Indeo 5 decoder
kostya
parents:
diff changeset
48 },
5ca4eb4a1a3f Indeo 5 decoder
kostya
parents:
diff changeset
49 {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
5ca4eb4a1a3f Indeo 5 decoder
kostya
parents:
diff changeset
50 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
5ca4eb4a1a3f Indeo 5 decoder
kostya
parents:
diff changeset
51 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
5ca4eb4a1a3f Indeo 5 decoder
kostya
parents:
diff changeset
52 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63
5ca4eb4a1a3f Indeo 5 decoder
kostya
parents:
diff changeset
53 }
5ca4eb4a1a3f Indeo 5 decoder
kostya
parents:
diff changeset
54 };
5ca4eb4a1a3f Indeo 5 decoder
kostya
parents:
diff changeset
55
5ca4eb4a1a3f Indeo 5 decoder
kostya
parents:
diff changeset
56 /**
5ca4eb4a1a3f Indeo 5 decoder
kostya
parents:
diff changeset
57 * Indeo5 4x4 scan (zigzag) pattern
5ca4eb4a1a3f Indeo 5 decoder
kostya
parents:
diff changeset
58 */
5ca4eb4a1a3f Indeo 5 decoder
kostya
parents:
diff changeset
59 static const uint8_t ivi5_scan4x4[16] = {
5ca4eb4a1a3f Indeo 5 decoder
kostya
parents:
diff changeset
60 0, 1, 4, 8, 5, 2, 3, 6, 9, 12, 13, 10, 7, 11, 14, 15
5ca4eb4a1a3f Indeo 5 decoder
kostya
parents:
diff changeset
61 };
5ca4eb4a1a3f Indeo 5 decoder
kostya
parents:
diff changeset
62
5ca4eb4a1a3f Indeo 5 decoder
kostya
parents:
diff changeset
63
5ca4eb4a1a3f Indeo 5 decoder
kostya
parents:
diff changeset
64 /**
5ca4eb4a1a3f Indeo 5 decoder
kostya
parents:
diff changeset
65 * Indeo5 dequantization matrixes consist of two tables: base table
5ca4eb4a1a3f Indeo 5 decoder
kostya
parents:
diff changeset
66 * and scale table. The base table defines the dequantization matrix
5ca4eb4a1a3f Indeo 5 decoder
kostya
parents:
diff changeset
67 * itself and the scale table tells how this matrix should be scaled
5ca4eb4a1a3f Indeo 5 decoder
kostya
parents:
diff changeset
68 * for a particular quant level (0...24).
5ca4eb4a1a3f Indeo 5 decoder
kostya
parents:
diff changeset
69 *
5ca4eb4a1a3f Indeo 5 decoder
kostya
parents:
diff changeset
70 * ivi5_base_quant_bbb_ttt - base tables for block size 'bbb' of type 'ttt'
5ca4eb4a1a3f Indeo 5 decoder
kostya
parents:
diff changeset
71 * ivi5_scale_quant_bbb_ttt - scale tables for block size 'bbb' of type 'ttt'
5ca4eb4a1a3f Indeo 5 decoder
kostya
parents:
diff changeset
72 */
5ca4eb4a1a3f Indeo 5 decoder
kostya
parents:
diff changeset
73 static const uint8_t ivi5_base_quant_8x8_inter[5][64] = {
5ca4eb4a1a3f Indeo 5 decoder
kostya
parents:
diff changeset
74 {0x13, 0x1d, 0x1f, 0x23, 0x25, 0x27, 0x29, 0x2d, 0x1d, 0x1f, 0x21, 0x23, 0x25, 0x27, 0x2b, 0x2f,
5ca4eb4a1a3f Indeo 5 decoder
kostya
parents:
diff changeset
75 0x1f, 0x21, 0x23, 0x24, 0x26, 0x29, 0x2d, 0x31, 0x23, 0x23, 0x24, 0x25, 0x27, 0x2b, 0x2f, 0x33,
5ca4eb4a1a3f Indeo 5 decoder
kostya
parents:
diff changeset
76 0x25, 0x25, 0x26, 0x27, 0x29, 0x2d, 0x31, 0x35, 0x27, 0x27, 0x29, 0x2b, 0x2d, 0x2f, 0x33, 0x37,
5ca4eb4a1a3f Indeo 5 decoder
kostya
parents:
diff changeset
77 0x29, 0x2b, 0x2d, 0x2f, 0x31, 0x33, 0x35, 0x39, 0x2d, 0x2f, 0x31, 0x33, 0x35, 0x37, 0x39, 0x3b
5ca4eb4a1a3f Indeo 5 decoder
kostya
parents:
diff changeset
78 },
5ca4eb4a1a3f Indeo 5 decoder
kostya
parents:
diff changeset
79 {0x13, 0x1d, 0x1f, 0x23, 0x25, 0x27, 0x29, 0x2d, 0x1d, 0x1f, 0x21, 0x23, 0x25, 0x27, 0x2b, 0x2f,
5ca4eb4a1a3f Indeo 5 decoder
kostya
parents:
diff changeset
80 0x1f, 0x21, 0x23, 0x24, 0x26, 0x29, 0x2d, 0x31, 0x23, 0x23, 0x24, 0x25, 0x27, 0x2b, 0x2f, 0x33,
5ca4eb4a1a3f Indeo 5 decoder
kostya
parents:
diff changeset
81 0x25, 0x25, 0x26, 0x27, 0x29, 0x2d, 0x31, 0x35, 0x27, 0x27, 0x29, 0x2b, 0x2d, 0x2f, 0x33, 0x37,
5ca4eb4a1a3f Indeo 5 decoder
kostya
parents:
diff changeset
82 0x29, 0x2b, 0x2d, 0x2f, 0x31, 0x33, 0x35, 0x39, 0x2d, 0x2f, 0x31, 0x33, 0x35, 0x37, 0x39, 0x3b
5ca4eb4a1a3f Indeo 5 decoder
kostya
parents:
diff changeset
83 },
5ca4eb4a1a3f Indeo 5 decoder
kostya
parents:
diff changeset
84 {0x27, 0x55, 0x79, 0x6a, 0x6f, 0x61, 0x6b, 0x61, 0x27, 0x55, 0x79, 0x6a, 0x6f, 0x61, 0x6b, 0x61,
5ca4eb4a1a3f Indeo 5 decoder
kostya
parents:
diff changeset
85 0x27, 0x55, 0x79, 0x6a, 0x6f, 0x61, 0x6b, 0x61, 0x27, 0x55, 0x79, 0x6a, 0x6f, 0x61, 0x6b, 0x61,
5ca4eb4a1a3f Indeo 5 decoder
kostya
parents:
diff changeset
86 0x27, 0x55, 0x79, 0x6a, 0x6f, 0x61, 0x6b, 0x61, 0x27, 0x55, 0x79, 0x6a, 0x6f, 0x61, 0x6b, 0x61,
5ca4eb4a1a3f Indeo 5 decoder
kostya
parents:
diff changeset
87 0x27, 0x55, 0x79, 0x6a, 0x6f, 0x61, 0x6b, 0x61, 0x27, 0x55, 0x79, 0x6a, 0x6f, 0x61, 0x6b, 0x61
5ca4eb4a1a3f Indeo 5 decoder
kostya
parents:
diff changeset
88 },
5ca4eb4a1a3f Indeo 5 decoder
kostya
parents:
diff changeset
89 {0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
5ca4eb4a1a3f Indeo 5 decoder
kostya
parents:
diff changeset
90 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x6a, 0x6a, 0x6a, 0x6a, 0x6a, 0x6a, 0x6a, 0x6a,
5ca4eb4a1a3f Indeo 5 decoder
kostya
parents:
diff changeset
91 0x6f, 0x6f, 0x6f, 0x6f, 0x6f, 0x6f, 0x6f, 0x6f, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61,
5ca4eb4a1a3f Indeo 5 decoder
kostya
parents:
diff changeset
92 0x6b, 0x6b, 0x6b, 0x6b, 0x6b, 0x6b, 0x6b, 0x6b, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61
5ca4eb4a1a3f Indeo 5 decoder
kostya
parents:
diff changeset
93 },
5ca4eb4a1a3f Indeo 5 decoder
kostya
parents:
diff changeset
94 {0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f,
5ca4eb4a1a3f Indeo 5 decoder
kostya
parents:
diff changeset
95 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f,
5ca4eb4a1a3f Indeo 5 decoder
kostya
parents:
diff changeset
96 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f,
5ca4eb4a1a3f Indeo 5 decoder
kostya
parents:
diff changeset
97 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f
5ca4eb4a1a3f Indeo 5 decoder
kostya
parents:
diff changeset
98 }
5ca4eb4a1a3f Indeo 5 decoder
kostya
parents:
diff changeset
99 };
5ca4eb4a1a3f Indeo 5 decoder
kostya
parents:
diff changeset
100
5ca4eb4a1a3f Indeo 5 decoder
kostya
parents:
diff changeset
101 static const uint8_t ivi5_base_quant_8x8_intra[5][64] = {
5ca4eb4a1a3f Indeo 5 decoder
kostya
parents:
diff changeset
102 {0x0d, 0x17, 0x1b, 0x21, 0x23, 0x25, 0x27, 0x2d, 0x17, 0x19, 0x1f, 0x21, 0x23, 0x27, 0x2b, 0x35,
5ca4eb4a1a3f Indeo 5 decoder
kostya
parents:
diff changeset
103 0x1b, 0x1f, 0x1f, 0x22, 0x25, 0x2a, 0x33, 0x39, 0x21, 0x21, 0x22, 0x25, 0x29, 0x31, 0x36, 0x3d,
5ca4eb4a1a3f Indeo 5 decoder
kostya
parents:
diff changeset
104 0x23, 0x23, 0x25, 0x29, 0x2f, 0x33, 0x39, 0x47, 0x25, 0x27, 0x2a, 0x31, 0x33, 0x37, 0x43, 0x53,
5ca4eb4a1a3f Indeo 5 decoder
kostya
parents:
diff changeset
105 0x27, 0x2b, 0x33, 0x36, 0x39, 0x43, 0x4d, 0x65, 0x2d, 0x35, 0x39, 0x3d, 0x47, 0x53, 0x65, 0x7f
5ca4eb4a1a3f Indeo 5 decoder
kostya
parents:
diff changeset
106 },
5ca4eb4a1a3f Indeo 5 decoder
kostya
parents:
diff changeset
107 {0x13, 0x1d, 0x1f, 0x23, 0x25, 0x27, 0x29, 0x2d, 0x1d, 0x1f, 0x21, 0x23, 0x25, 0x27, 0x2b, 0x2f,
5ca4eb4a1a3f Indeo 5 decoder
kostya
parents:
diff changeset
108 0x1f, 0x21, 0x23, 0x24, 0x26, 0x29, 0x2d, 0x31, 0x23, 0x23, 0x24, 0x25, 0x27, 0x2b, 0x2f, 0x33,
5ca4eb4a1a3f Indeo 5 decoder
kostya
parents:
diff changeset
109 0x25, 0x25, 0x26, 0x27, 0x29, 0x2d, 0x31, 0x35, 0x27, 0x27, 0x29, 0x2b, 0x2d, 0x2f, 0x33, 0x37,
5ca4eb4a1a3f Indeo 5 decoder
kostya
parents:
diff changeset
110 0x29, 0x2b, 0x2d, 0x2f, 0x31, 0x33, 0x35, 0x39, 0x2d, 0x2f, 0x31, 0x33, 0x35, 0x37, 0x39, 0x3b
5ca4eb4a1a3f Indeo 5 decoder
kostya
parents:
diff changeset
111 },
5ca4eb4a1a3f Indeo 5 decoder
kostya
parents:
diff changeset
112 {0x27, 0x55, 0x79, 0x6a, 0x6f, 0x61, 0x6b, 0x61, 0x27, 0x55, 0x79, 0x6a, 0x6f, 0x61, 0x6b, 0x61,
5ca4eb4a1a3f Indeo 5 decoder
kostya
parents:
diff changeset
113 0x27, 0x55, 0x79, 0x6a, 0x6f, 0x61, 0x6b, 0x61, 0x27, 0x55, 0x79, 0x6a, 0x6f, 0x61, 0x6b, 0x61,
5ca4eb4a1a3f Indeo 5 decoder
kostya
parents:
diff changeset
114 0x27, 0x55, 0x79, 0x6a, 0x6f, 0x61, 0x6b, 0x61, 0x27, 0x55, 0x79, 0x6a, 0x6f, 0x61, 0x6b, 0x61,
5ca4eb4a1a3f Indeo 5 decoder
kostya
parents:
diff changeset
115 0x27, 0x55, 0x79, 0x6a, 0x6f, 0x61, 0x6b, 0x61, 0x27, 0x55, 0x79, 0x6a, 0x6f, 0x61, 0x6b, 0x61
5ca4eb4a1a3f Indeo 5 decoder
kostya
parents:
diff changeset
116 },
5ca4eb4a1a3f Indeo 5 decoder
kostya
parents:
diff changeset
117 {0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
5ca4eb4a1a3f Indeo 5 decoder
kostya
parents:
diff changeset
118 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x6a, 0x6a, 0x6a, 0x6a, 0x6a, 0x6a, 0x6a, 0x6a,
5ca4eb4a1a3f Indeo 5 decoder
kostya
parents:
diff changeset
119 0x6f, 0x6f, 0x6f, 0x6f, 0x6f, 0x6f, 0x6f, 0x6f, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61,
5ca4eb4a1a3f Indeo 5 decoder
kostya
parents:
diff changeset
120 0x6b, 0x6b, 0x6b, 0x6b, 0x6b, 0x6b, 0x6b, 0x6b, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61
5ca4eb4a1a3f Indeo 5 decoder
kostya
parents:
diff changeset
121 },
5ca4eb4a1a3f Indeo 5 decoder
kostya
parents:
diff changeset
122 {0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f,
5ca4eb4a1a3f Indeo 5 decoder
kostya
parents:
diff changeset
123 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f,
5ca4eb4a1a3f Indeo 5 decoder
kostya
parents:
diff changeset
124 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f,
5ca4eb4a1a3f Indeo 5 decoder
kostya
parents:
diff changeset
125 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f
5ca4eb4a1a3f Indeo 5 decoder
kostya
parents:
diff changeset
126 }
5ca4eb4a1a3f Indeo 5 decoder
kostya
parents:
diff changeset
127 };
5ca4eb4a1a3f Indeo 5 decoder
kostya
parents:
diff changeset
128
5ca4eb4a1a3f Indeo 5 decoder
kostya
parents:
diff changeset
129 static const uint8_t ivi5_base_quant_4x4_inter[16] = {
5ca4eb4a1a3f Indeo 5 decoder
kostya
parents:
diff changeset
130 0x0f, 0x1f, 0x25, 0x29, 0x1f, 0x25, 0x29, 0x2b, 0x25, 0x29, 0x2b, 0x2f, 0x29, 0x2b, 0x2f, 0x33
5ca4eb4a1a3f Indeo 5 decoder
kostya
parents:
diff changeset
131 };
5ca4eb4a1a3f Indeo 5 decoder
kostya
parents:
diff changeset
132
5ca4eb4a1a3f Indeo 5 decoder
kostya
parents:
diff changeset
133 static const uint8_t ivi5_base_quant_4x4_intra[16] = {
5ca4eb4a1a3f Indeo 5 decoder
kostya
parents:
diff changeset
134 0x0f, 0x1f, 0x25, 0x29, 0x1f, 0x25, 0x29, 0x2f, 0x25, 0x29, 0x2f, 0x3d, 0x29, 0x2f, 0x3d, 0x49
5ca4eb4a1a3f Indeo 5 decoder
kostya
parents:
diff changeset
135 };
5ca4eb4a1a3f Indeo 5 decoder
kostya
parents:
diff changeset
136
5ca4eb4a1a3f Indeo 5 decoder
kostya
parents:
diff changeset
137
5ca4eb4a1a3f Indeo 5 decoder
kostya
parents:
diff changeset
138 static const uint8_t ivi5_scale_quant_8x8_inter[5][24] = {
5ca4eb4a1a3f Indeo 5 decoder
kostya
parents:
diff changeset
139 {0x0b, 0x11, 0x13, 0x14, 0x15, 0x16, 0x18, 0x1a, 0x1b, 0x1d, 0x20, 0x22,
5ca4eb4a1a3f Indeo 5 decoder
kostya
parents:
diff changeset
140 0x23, 0x25, 0x28, 0x2a, 0x2e, 0x32, 0x35, 0x39, 0x3d, 0x41, 0x44, 0x4a,
5ca4eb4a1a3f Indeo 5 decoder
kostya
parents:
diff changeset
141 },
5ca4eb4a1a3f Indeo 5 decoder
kostya
parents:
diff changeset
142 {0x07, 0x14, 0x16, 0x18, 0x1b, 0x1e, 0x22, 0x25, 0x29, 0x2d, 0x31, 0x35,
5ca4eb4a1a3f Indeo 5 decoder
kostya
parents:
diff changeset
143 0x3a, 0x3f, 0x44, 0x4a, 0x50, 0x56, 0x5c, 0x63, 0x6a, 0x71, 0x78, 0x7e,
5ca4eb4a1a3f Indeo 5 decoder
kostya
parents:
diff changeset
144 },
5ca4eb4a1a3f Indeo 5 decoder
kostya
parents:
diff changeset
145 {0x15, 0x25, 0x28, 0x2d, 0x30, 0x34, 0x3a, 0x3d, 0x42, 0x48, 0x4c, 0x51,
5ca4eb4a1a3f Indeo 5 decoder
kostya
parents:
diff changeset
146 0x56, 0x5b, 0x60, 0x65, 0x6b, 0x70, 0x76, 0x7c, 0x82, 0x88, 0x8f, 0x97,
5ca4eb4a1a3f Indeo 5 decoder
kostya
parents:
diff changeset
147 },
5ca4eb4a1a3f Indeo 5 decoder
kostya
parents:
diff changeset
148 {0x13, 0x1f, 0x20, 0x22, 0x25, 0x28, 0x2b, 0x2d, 0x30, 0x33, 0x36, 0x39,
5ca4eb4a1a3f Indeo 5 decoder
kostya
parents:
diff changeset
149 0x3c, 0x3f, 0x42, 0x45, 0x48, 0x4b, 0x4e, 0x52, 0x56, 0x5a, 0x5e, 0x62,
5ca4eb4a1a3f Indeo 5 decoder
kostya
parents:
diff changeset
150 },
5ca4eb4a1a3f Indeo 5 decoder
kostya
parents:
diff changeset
151 {0x3c, 0x52, 0x58, 0x5d, 0x63, 0x68, 0x68, 0x6d, 0x73, 0x78, 0x7c, 0x80,
5ca4eb4a1a3f Indeo 5 decoder
kostya
parents:
diff changeset
152 0x84, 0x89, 0x8e, 0x93, 0x98, 0x9d, 0xa3, 0xa9, 0xad, 0xb1, 0xb5, 0xba,
5ca4eb4a1a3f Indeo 5 decoder
kostya
parents:
diff changeset
153 },
5ca4eb4a1a3f Indeo 5 decoder
kostya
parents:
diff changeset
154 };
5ca4eb4a1a3f Indeo 5 decoder
kostya
parents:
diff changeset
155
5ca4eb4a1a3f Indeo 5 decoder
kostya
parents:
diff changeset
156 static const uint8_t ivi5_scale_quant_8x8_intra[5][24] = {
5ca4eb4a1a3f Indeo 5 decoder
kostya
parents:
diff changeset
157 {0x0b, 0x0e, 0x10, 0x12, 0x14, 0x16, 0x17, 0x18, 0x1a, 0x1c, 0x1e, 0x20,
5ca4eb4a1a3f Indeo 5 decoder
kostya
parents:
diff changeset
158 0x22, 0x24, 0x27, 0x28, 0x2a, 0x2d, 0x2f, 0x31, 0x34, 0x37, 0x39, 0x3c,
5ca4eb4a1a3f Indeo 5 decoder
kostya
parents:
diff changeset
159 },
5ca4eb4a1a3f Indeo 5 decoder
kostya
parents:
diff changeset
160 {0x01, 0x10, 0x12, 0x14, 0x16, 0x18, 0x1b, 0x1e, 0x22, 0x25, 0x28, 0x2c,
5ca4eb4a1a3f Indeo 5 decoder
kostya
parents:
diff changeset
161 0x30, 0x34, 0x38, 0x3d, 0x42, 0x47, 0x4c, 0x52, 0x58, 0x5e, 0x65, 0x6c,
5ca4eb4a1a3f Indeo 5 decoder
kostya
parents:
diff changeset
162 },
5ca4eb4a1a3f Indeo 5 decoder
kostya
parents:
diff changeset
163 {0x13, 0x22, 0x27, 0x2a, 0x2d, 0x33, 0x36, 0x3c, 0x41, 0x45, 0x49, 0x4e,
5ca4eb4a1a3f Indeo 5 decoder
kostya
parents:
diff changeset
164 0x53, 0x58, 0x5d, 0x63, 0x69, 0x6f, 0x75, 0x7c, 0x82, 0x88, 0x8e, 0x95,
5ca4eb4a1a3f Indeo 5 decoder
kostya
parents:
diff changeset
165 },
5ca4eb4a1a3f Indeo 5 decoder
kostya
parents:
diff changeset
166 {0x13, 0x1f, 0x21, 0x24, 0x27, 0x29, 0x2d, 0x2f, 0x34, 0x37, 0x3a, 0x3d,
5ca4eb4a1a3f Indeo 5 decoder
kostya
parents:
diff changeset
167 0x40, 0x44, 0x48, 0x4c, 0x4f, 0x52, 0x56, 0x5a, 0x5e, 0x62, 0x66, 0x6b,
5ca4eb4a1a3f Indeo 5 decoder
kostya
parents:
diff changeset
168 },
5ca4eb4a1a3f Indeo 5 decoder
kostya
parents:
diff changeset
169 {0x31, 0x42, 0x47, 0x47, 0x4d, 0x52, 0x58, 0x58, 0x5d, 0x63, 0x67, 0x6b,
5ca4eb4a1a3f Indeo 5 decoder
kostya
parents:
diff changeset
170 0x6f, 0x73, 0x78, 0x7c, 0x80, 0x84, 0x89, 0x8e, 0x93, 0x98, 0x9d, 0xa4,
5ca4eb4a1a3f Indeo 5 decoder
kostya
parents:
diff changeset
171 }
5ca4eb4a1a3f Indeo 5 decoder
kostya
parents:
diff changeset
172 };
5ca4eb4a1a3f Indeo 5 decoder
kostya
parents:
diff changeset
173
5ca4eb4a1a3f Indeo 5 decoder
kostya
parents:
diff changeset
174 static const uint8_t ivi5_scale_quant_4x4_inter[24] = {
5ca4eb4a1a3f Indeo 5 decoder
kostya
parents:
diff changeset
175 0x0b, 0x0d, 0x0d, 0x0e, 0x11, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
5ca4eb4a1a3f Indeo 5 decoder
kostya
parents:
diff changeset
176 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 0x20, 0x21, 0x22, 0x23,
5ca4eb4a1a3f Indeo 5 decoder
kostya
parents:
diff changeset
177 };
5ca4eb4a1a3f Indeo 5 decoder
kostya
parents:
diff changeset
178
5ca4eb4a1a3f Indeo 5 decoder
kostya
parents:
diff changeset
179 static const uint8_t ivi5_scale_quant_4x4_intra[24] = {
5ca4eb4a1a3f Indeo 5 decoder
kostya
parents:
diff changeset
180 0x01, 0x0b, 0x0b, 0x0d, 0x0d, 0x0d, 0x0e, 0x0f, 0x10, 0x11, 0x13, 0x14,
5ca4eb4a1a3f Indeo 5 decoder
kostya
parents:
diff changeset
181 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 0x20
5ca4eb4a1a3f Indeo 5 decoder
kostya
parents:
diff changeset
182 };
5ca4eb4a1a3f Indeo 5 decoder
kostya
parents:
diff changeset
183
5ca4eb4a1a3f Indeo 5 decoder
kostya
parents:
diff changeset
184
5ca4eb4a1a3f Indeo 5 decoder
kostya
parents:
diff changeset
185 #endif /* AVCODEC_INDEO5DATA_H */