28 #define BITSTREAM_READER_LE
39 const unsigned char *src_end,
40 unsigned char *
dst,
int dst_size)
48 for (i = 0, sz = 0; i < 64 && sz < dst_size; i++) {
52 sz +=
FFABS(code_table[i]);
57 for (i = 0; i < 64 && dst_size > 0; i++) {
61 if (src_end - src < 1)
63 memset(dst, *src++,
FFMIN(len, dst_size));
65 if (src_end - src < len)
67 memcpy(dst, src,
FFMIN(len, dst_size));
77 const unsigned char *src,
78 const unsigned char *src_end,
84 unsigned char block[8 * 8];
86 if (src_end - src < 1)
93 for (b = 0; b < 8; b++) {
94 memcpy(dst, &block[b * 8], 8);
100 for (i = 0; i < 8; i++) {
101 for (b = 0; b < 8; b++)
111 if (src_end - src < len + 8 * bits)
116 for (b = 0; b < 8; b++) {
117 for (i = 0; i < 8; i++)
118 dst[i] = color_table[
get_bits(&gb, bits)];
127 const unsigned char *src,
128 const unsigned char *src_end,
133 if (src_end - src < 8 * 8)
136 for (i = 0; i < 8; i++) {
146 const unsigned char *src,
147 const unsigned char *src_end,
153 if (src_end - src < 2)
156 offset = ((pos >> 3) & 7) * seq->
frame.
linesize[0] + (pos & 7);
158 }
while (!(pos & 0x80));
165 const unsigned char *data_end = data + data_size;
175 palette = (uint32_t *)seq->
frame.
data[1];
176 if (data_end - data < 256 * 3)
178 for (i = 0; i < 256; i++) {
179 for (j = 0; j < 3; j++, data++)
180 c[j] = (*data << 2) | (*data >> 4);
181 palette[i] = 0xFF
U << 24 |
AV_RB24(c);
187 if (data_end - data < 128)
190 for (y = 0; y < 128; y += 8)
191 for (x = 0; x < 256; x += 8) {
226 void *
data,
int *got_frame,
230 int buf_size = avpkt->
size;
261 .
name =
"tiertexseqvideo",