32 { 0, 0, 0, 0, 0, 0, 0, 0 },
33 { 2, 0, 0, 0, 0, 0, 0, 0 },
34 { 5, 7, 0, 0, 0, 0, 0, 0 },
35 { 5, 0, 0, 0, 0, 0, 0, 0 },
36 { 6, 0, 0, 0, 0, 0, 0, 0 },
37 { 5, 7, 5, 7, 0, 0, 0, 0 },
38 { 5, 7, 5, 0, 0, 0, 0, 0 },
39 { 5, 7, 6, 0, 0, 0, 0, 0 },
40 { 5, 5, 0, 0, 0, 0, 0, 0 },
41 { 3, 0, 0, 0, 0, 0, 0, 0 },
42 { 6, 6, 0, 0, 0, 0, 0, 0 },
43 { 2, 4, 0, 0, 0, 0, 0, 0 },
44 { 2, 4, 5, 7, 0, 0, 0, 0 },
45 { 2, 4, 5, 0, 0, 0, 0, 0 },
46 { 2, 4, 6, 0, 0, 0, 0, 0 },
47 { 2, 4, 5, 7, 5, 7, 0, 0 }
77 for (i = 0; i < 4; i++) {
91 y = ((a & 0x3F) << 1) | (b >> 7 & 1);
93 return y * 2 * avctx->
width + x * 2;
101 for (i = 0; i < 4; i++) {
111 for (i = 0; i < 4; i++) {
112 if ((mask >> 4) & (1 << (3 - i)))
114 if ((mask & 15) & (1 << (3 - i)))
123 for (i = 0; i < 4; i++) {
124 if ((mask >> 4) & (1 << (3 - i)))
126 if ((mask & 15) & (1 << (3 - i)))
127 dst[avctx->
width + i] = src[avctx->
width + i];
134 uint32_t opcode_size,
offset;
136 const uint8_t *src, *send, *opcodes;
139 i = bytestream2_get_byte(&c->
gb);
149 a = bytestream2_get_byte(&c->
gb);
150 b = bytestream2_get_byte(&c->
gb);
154 offset = (b & 0x7F) * 2;
155 j = bytestream2_get_le16(&c->
gb) +
offset;
159 if (dst + 3 * avctx->
width + 4 > dend)
162 if ((offset & 0x3F) == 0)
163 dst += avctx->
width * 3;
165 }
while (offset < j);
172 a = bytestream2_get_byte(&c->
gb);
173 b = bytestream2_get_byte(&c->
gb);
177 if ((src + 3 * avctx->
width + 4 > send) ||
178 (dst + 3 * avctx->
width + 4 > dend))
183 dst += avctx->
width * 3;
187 opcode_size = bytestream2_get_le16(&c->
gb);
198 for (i = 0; i < avctx->
height; i += 4, dst += avctx->
width * 3) {
199 for (j = 0; j < avctx->
width; j += 4, dst += 4) {
205 opcode = opcodes[x] & 15;
208 opcode = opcodes[x] >> 4;
213 offset = avctx->
width * 2;
220 color = bytestream2_get_byte(&c->
gb);
222 mask = bytestream2_get_byte(&c->
gb);
228 a = bytestream2_get_byte(&c->
gb);
229 b = bytestream2_get_byte(&c->
gb);
234 if (src + offset + avctx->
width + 4 > send)
236 mask = bytestream2_get_byte(&c->
gb);
260 code = bytestream2_get_byte(&c->
gb);
262 for (i = 0; i < 4; i++)
275 uint32_t *out = (uint32_t *)c->
pic.
data[1];
278 index = bytestream2_get_byte(&c->
gb);
279 count = bytestream2_get_byte(&c->
gb) + 1;
281 if (index + count > 256)
287 for (i = 0; i < count; i++) {
290 r = bytestream2_get_byteu(&c->
gb);
292 g = bytestream2_get_byteu(&c->
gb);
294 b = bytestream2_get_byteu(&c->
gb);
296 *out++ = 0xFF
U << 24 | r << 16 | g << 8 |
b;
301 switch (code & 0x0F) {
314 frame = bytestream2_get_byte(&c->
gb);
333 code = bytestream2_get_byteu(&c->
gb);
334 count =
FFABS(code) + 1;
336 if (dst + count > end)
339 memset(dst, bytestream2_get_byteu(&c->
gb), count);
352 for (i = 0; i < avctx->
height; i++) {
353 memcpy(dst, src, avctx->
width);
374 for (i = 0; i < 4; i++)
406 int16_t *output_samples;
408 int frames, ret, i, j, k;
418 output_samples = (int16_t *)c->
frame.
data[0];
419 for (i = 0; i < frames; i++) {
420 t = buf + 256 *
sizeof(uint16_t);
422 for (k = 0; k < 2; k++) {
423 *output_samples++ =
AV_RL16(buf + *t * 2);