Lines Matching refs:gb

57 static int decode_copy(GetByteContext *gb, uint8_t *frame, int width, int height)
61 if (bytestream2_get_buffer(gb, frame, size) != size)
66 static int decode_tsw1(GetByteContext *gb, uint8_t *frame, int width, int height)
75 segments = bytestream2_get_le32(gb);
76 offset = bytestream2_get_le32(gb);
83 if (bytestream2_get_bytes_left(gb) < 2)
86 bitbuf = bytestream2_get_le16u(gb);
92 v = bytestream2_get_le16(gb);
100 *frame++ = bytestream2_get_byte(gb);
101 *frame++ = bytestream2_get_byte(gb);
109 static int decode_dsw1(GetByteContext *gb, uint8_t *frame, int width, int height)
116 segments = bytestream2_get_le16(gb);
118 if (bytestream2_get_bytes_left(gb) < 2)
121 bitbuf = bytestream2_get_le16u(gb);
127 v = bytestream2_get_le16(gb);
135 frame += bytestream2_get_le16(gb);
137 *frame++ = bytestream2_get_byte(gb);
138 *frame++ = bytestream2_get_byte(gb);
146 static int decode_dds1(GetByteContext *gb, uint8_t *frame, int width, int height)
155 segments = bytestream2_get_le16(gb);
157 if (bytestream2_get_bytes_left(gb) < 2)
160 bitbuf = bytestream2_get_le16u(gb);
165 v = bytestream2_get_le16(gb);
177 v = bytestream2_get_le16(gb)*2;
185 frame[width] = frame[width + 1] = bytestream2_get_byte(gb);
188 frame[width] = frame[width + 1] = bytestream2_get_byte(gb);
197 static int decode_bdlt(GetByteContext *gb, uint8_t *frame, int width, int height)
202 count = bytestream2_get_le16(gb);
206 lines = bytestream2_get_le16(gb);
211 if (bytestream2_get_bytes_left(gb) < 1)
215 segments = bytestream2_get_byteu(gb);
217 if (frame - line_ptr <= bytestream2_peek_byte(gb))
219 line_ptr += bytestream2_get_byte(gb);
220 count = (int8_t)bytestream2_get_byte(gb);
224 if (bytestream2_get_buffer(gb, line_ptr, count) != count)
230 memset(line_ptr, bytestream2_get_byte(gb), count);
239 static int decode_wdlt(GetByteContext *gb, uint8_t *frame, int width, int height)
246 lines = bytestream2_get_le16(gb);
251 if (bytestream2_get_bytes_left(gb) < 2)
253 segments = bytestream2_get_le16u(gb);
261 segments = bytestream2_get_le16(gb);
268 segments = bytestream2_get_le16(gb);
276 if (frame - line_ptr <= bytestream2_peek_byte(gb))
278 line_ptr += bytestream2_get_byte(gb);
279 count = (int8_t)bytestream2_get_byte(gb);
283 if (bytestream2_get_buffer(gb, line_ptr, count * 2) != count * 2)
290 v = bytestream2_get_le16(gb);
300 static int decode_tdlt(GetByteContext *gb, uint8_t *frame, int width, int height)
303 uint32_t segments = bytestream2_get_le32(gb);
307 if (bytestream2_get_bytes_left(gb) < 2)
309 copy = bytestream2_get_byteu(gb) * 2;
310 skip = bytestream2_get_byteu(gb) * 2;
312 bytestream2_get_bytes_left(gb) < copy)
315 bytestream2_get_buffer(gb, frame, copy);
322 static int decode_blck(GetByteContext *gb, uint8_t *frame, int width, int height)
329 typedef int (*chunk_decoder)(GetByteContext *gb, uint8_t *frame, int width, int height);
344 GetByteContext gb;
355 bytestream2_init(&gb, avpkt->data, avpkt->size);
356 while (bytestream2_get_bytes_left(&gb) > 0) {
357 if (bytestream2_get_bytes_left(&gb) < 12)
359 bytestream2_skip(&gb, 4);
360 chunk_size = bytestream2_get_le32(&gb);
361 chunk_type = bytestream2_get_le32(&gb);
367 s->pal[i] = bytestream2_get_be24(&gb) << 2;
372 if (decoder[chunk_type - 2](&gb, s->frame_buf, avctx->width, avctx->height)) {