Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
Download
52867 views
1
/*
2
* a64 video encoder - tables used by a64 encoders
3
* Copyright (c) 2009 Tobias Bindhammer
4
*
5
* This file is part of FFmpeg.
6
*
7
* FFmpeg is free software; you can redistribute it and/or
8
* modify it under the terms of the GNU Lesser General Public
9
* License as published by the Free Software Foundation; either
10
* version 2.1 of the License, or (at your option) any later version.
11
*
12
* FFmpeg is distributed in the hope that it will be useful,
13
* but WITHOUT ANY WARRANTY; without even the implied warranty of
14
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15
* Lesser General Public License for more details.
16
*
17
* You should have received a copy of the GNU Lesser General Public
18
* License along with FFmpeg; if not, write to the Free Software
19
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
20
*/
21
22
/**
23
* @file
24
* a64 video encoder - tables used by a64 encoders
25
*/
26
27
#ifndef AVCODEC_A64TABLES_H
28
#define AVCODEC_A64TABLES_H
29
30
#include <stdint.h>
31
32
/**
33
* dither patterns used vor rendering the multicolor charset
34
*/
35
36
static const uint8_t multi_dither_patterns[9][4][4] = {
37
{
38
{0, 0, 0, 0},
39
{0, 0, 0, 0},
40
{0, 0, 0, 0},
41
{0, 0, 0, 0}
42
},
43
{
44
{1, 0, 0, 0},
45
{0, 0, 0, 0},
46
{0, 0, 1, 0},
47
{0, 0, 0, 0}
48
},
49
{
50
{1, 0, 0, 0},
51
{0, 0, 1, 0},
52
{0, 1, 0, 0},
53
{0, 0, 0, 1}
54
},
55
{
56
{1, 0, 0, 0},
57
{0, 1, 0, 1},
58
{0, 0, 1, 0},
59
{0, 1, 0, 1}
60
},
61
{
62
{1, 0, 1, 0},
63
{0, 1, 0, 1},
64
{1, 0, 1, 0},
65
{0, 1, 0, 1}
66
},
67
{
68
{1, 1, 1, 0},
69
{0, 1, 0, 1},
70
{1, 0, 1, 1},
71
{0, 1, 0, 1}
72
},
73
{
74
{0, 1, 1, 1},
75
{1, 1, 0, 1},
76
{1, 0, 1, 1},
77
{1, 1, 1, 0}
78
},
79
{
80
{0, 1, 1, 1},
81
{1, 1, 1, 1},
82
{1, 1, 0, 1},
83
{1, 1, 1, 1}
84
},
85
{
86
{1, 1, 1, 1},
87
{1, 1, 1, 1},
88
{1, 1, 1, 1},
89
{1, 1, 1, 1}
90
},
91
};
92
93
static const uint8_t interlaced_dither_patterns[9][8][4] = {
94
{
95
{0, 0, 0, 0}, {0, 0, 0, 0},
96
{0, 0, 0, 0}, {0, 0, 0, 0},
97
{0, 0, 0, 0}, {0, 0, 0, 0},
98
{0, 0, 0, 0}, {0, 0, 0, 0},
99
},
100
{
101
{1, 0, 1, 0}, {0, 0, 0, 0},
102
{0, 0, 0, 0}, {0, 0, 0, 0},
103
{1, 0, 1, 0}, {0, 0, 0, 0},
104
{0, 0, 0, 0}, {0, 0, 0, 0},
105
},
106
{
107
{1, 0, 1, 0}, {0, 0, 0, 0},
108
{0, 0, 0, 0}, {0, 1, 0, 1},
109
{1, 0, 1, 0}, {0, 0, 0, 0},
110
{0, 0, 0, 0}, {0, 1, 0, 1},
111
},
112
{
113
{1, 0, 1, 0}, {0, 1, 0, 1},
114
{0, 1, 0, 1}, {0, 0, 0, 0},
115
{1, 0, 1, 0}, {0, 1, 0, 1},
116
{0, 1, 0, 1}, {0, 0, 0, 0},
117
},
118
{
119
{1, 0, 1, 0}, {0, 1, 0, 1},
120
{0, 1, 0, 1}, {1, 0, 1, 0},
121
{1, 0, 1, 0}, {0, 1, 0, 1},
122
{0, 1, 0, 1}, {1, 0, 1, 0},
123
},
124
{
125
{1, 0, 1, 0}, {0, 1, 0, 1},
126
{1, 1, 1, 1}, {1, 0, 1, 0},
127
{1, 0, 1, 0}, {0, 1, 0, 1},
128
{1, 1, 1, 1}, {1, 0, 1, 0},
129
},
130
{
131
{1, 0, 1, 0}, {1, 1, 1, 1},
132
{1, 1, 1, 1}, {0, 1, 0, 1},
133
{1, 0, 1, 0}, {1, 1, 1, 1},
134
{1, 1, 1, 1}, {0, 1, 0, 1},
135
},
136
{
137
{1, 1, 1, 1}, {1, 1, 1, 1},
138
{1, 1, 1, 1}, {0, 1, 0, 1},
139
{1, 1, 1, 1}, {1, 1, 1, 1},
140
{1, 1, 1, 1}, {0, 1, 0, 1},
141
},
142
{
143
{1, 1, 1, 1}, {1, 1, 1, 1},
144
{1, 1, 1, 1}, {1, 1, 1, 1},
145
{1, 1, 1, 1}, {1, 1, 1, 1},
146
{1, 1, 1, 1}, {1, 1, 1, 1},
147
}
148
};
149
150
#endif /* AVCODEC_A64TABLES_H */
151
152