Commit 8fe64a3a authored by Thomas Davies's avatar Thomas Davies Committed by Yaowu Xu
Browse files

Tile groups: ensure each tile in a TG has a length.

This ensures TGs can be decoded even if the whole
frame has not been received and the frame length
is not known.

Change-Id: If24837fcc3b5c46554751be792e91100de73e8d6
parent be44c5f4
......@@ -2705,7 +2705,6 @@ static void get_tile_buffers(
for (r = 0; r < tile_rows; ++r) {
for (c = 0; c < tile_cols; ++c, ++tc) {
const int is_last = (r == tile_rows - 1) && (c == tile_cols - 1);
TileBufferDec *const buf = &tile_buffers[r][c];
hdr_offset = (tc && tc == first_tile_in_tg) ? hdr_size : 0;
......@@ -2720,9 +2719,8 @@ static void get_tile_buffers(
}
first_tile_in_tg += tc == first_tile_in_tg ? pbi->tg_size : 0;
data += hdr_offset;
get_tile_buffer(data_end, pbi->tile_size_bytes, is_last,
&pbi->common.error, &data, pbi->decrypt_cb,
pbi->decrypt_state, buf);
get_tile_buffer(data_end, pbi->tile_size_bytes, 0, &pbi->common.error,
&data, pbi->decrypt_cb, pbi->decrypt_state, buf);
}
}
#else
......
......@@ -3277,13 +3277,15 @@ static uint32_t write_tiles(AV1_COMP *const cpi, uint8_t *const dst,
for (tile_col = 0; tile_col < tile_cols; tile_col++) {
TileBufferEnc *const buf = &tile_buffers[tile_row][tile_col];
const int is_last_col = (tile_col == tile_cols - 1);
const int is_last_tile = is_last_col && is_last_row;
unsigned int tile_size;
const TOKENEXTRA *tok = tok_buffers[tile_row][tile_col];
const TOKENEXTRA *tok_end = tok + cpi->tok_count[tile_row][tile_col];
#if CONFIG_TILE_GROUPS
#if !CONFIG_TILE_GROUPS
const int is_last_tile = is_last_col && is_last_row;
#else
const int tile_idx = tile_row * tile_cols + tile_col;
// All tiles in a tile group have a length
const int is_last_tile = 0;
if (tile_count >= tg_size) {
// Copy uncompressed header
memcpy(dst + total_size, dst, uncompressed_hdr_size * sizeof(uint8_t));
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment