Lines Matching defs:header
310 * there was an error while decoding the header */
316 struct frame_header header;
317 uint8_t header_buffer[128] = { 0 }; /* logical maximum size of the header */
320 header.header_size = ((s->buf[0] >> 5) | (s->buf[0] << 3)) & 0x7f;
323 av_log(s->avctx, AV_LOG_ERROR, "invalid header size (%d)\n", s->buf[0]);
327 if (header.header_size + 1 > s->size) {
332 /* unscramble the header bytes with a XOR operation */
333 for (i = 1; i < header.header_size; i++)
336 header.compression = header_buffer[0];
337 header.deltaset = header_buffer[1];
338 header.vectable = header_buffer[2];
339 header.ysize = AV_RL16(&header_buffer[3]);
340 header.xsize = AV_RL16(&header_buffer[5]);
341 header.checksum = AV_RL16(&header_buffer[7]);
342 header.version = header_buffer[9];
343 header.header_type = header_buffer[10];
344 header.flags = header_buffer[11];
345 header.control = header_buffer[12];
348 if (header.version >= 2)
350 if (header.header_type > 3)
352 av_log(s->avctx, AV_LOG_ERROR, "invalid header type (%d)\n", header.header_type);
354 } else if ((header.header_type == 2) || (header.header_type == 3)) {
355 s->flags = header.flags;
365 /* FIXME header.width, height, xoffset and yoffset aren't initialized */
368 s->w = header.xsize;
369 s->h = header.ysize;
370 if (header.header_type < 2) {
379 if (header.compression >= 17) {
380 av_log(s->avctx, AV_LOG_ERROR, "invalid compression type (%d)\n", header.compression);
384 if ((header.deltaset != s->last_deltaset) ||
385 (header.vectable != s->last_vectable))
386 select_delta_tables(s, header.deltaset);
388 if ((header.compression & 1) && header.header_type)
391 if (header.vectable > 0 && header.vectable < 4)
392 sel_vector_table = tables[header.vectable - 1];
394 av_log(s->avctx, AV_LOG_ERROR, "invalid vector table id (%d)\n", header.vectable);
399 if (compression_types[header.compression].algorithm == ALGO_RGB24H) {
432 if ((header.deltaset != s->last_deltaset) || (header.vectable != s->last_vectable))
434 if (compression_types[header.compression].algorithm == ALGO_RGB24H)
444 s->mb_change_bits = s->buf + header.header_size;
448 if (s->avctx->width * s->avctx->height / 2048 + header.header_size > s->size)
457 s->last_deltaset = header.deltaset;
458 s->last_vectable = header.vectable;
459 s->compression = header.compression;
460 s->block_width = compression_types[header.compression].block_width;
461 s->block_height = compression_types[header.compression].block_height;
462 s->block_type = compression_types[header.compression].block_type;
473 return header.header_size;