Index: source/libvpx/vp8/decoder/decodframe.c |
=================================================================== |
--- source/libvpx/vp8/decoder/decodframe.c (revision 179463) |
+++ source/libvpx/vp8/decoder/decodframe.c (working copy) |
@@ -828,8 +828,8 @@ |
unsigned int partition_idx; |
unsigned int fragment_idx; |
unsigned int num_token_partitions; |
- const unsigned char *first_fragment_end = pbi->fragments[0] + |
- pbi->fragment_sizes[0]; |
+ const unsigned char *first_fragment_end = pbi->fragments.ptrs[0] + |
+ pbi->fragments.sizes[0]; |
TOKEN_PARTITION multi_token_partition = |
(TOKEN_PARTITION)vp8_read_literal(&pbi->mbc[8], 2); |
@@ -839,10 +839,10 @@ |
/* Check for partitions within the fragments and unpack the fragments |
* so that each fragment pointer points to its corresponding partition. */ |
- for (fragment_idx = 0; fragment_idx < pbi->num_fragments; ++fragment_idx) |
+ for (fragment_idx = 0; fragment_idx < pbi->fragments.count; ++fragment_idx) |
{ |
- unsigned int fragment_size = pbi->fragment_sizes[fragment_idx]; |
- const unsigned char *fragment_end = pbi->fragments[fragment_idx] + |
+ unsigned int fragment_size = pbi->fragments.sizes[fragment_idx]; |
+ const unsigned char *fragment_end = pbi->fragments.ptrs[fragment_idx] + |
fragment_size; |
/* Special case for handling the first partition since we have already |
* read its size. */ |
@@ -850,16 +850,16 @@ |
{ |
/* Size of first partition + token partition sizes element */ |
ptrdiff_t ext_first_part_size = token_part_sizes - |
- pbi->fragments[0] + 3 * (num_token_partitions - 1); |
+ pbi->fragments.ptrs[0] + 3 * (num_token_partitions - 1); |
fragment_size -= (unsigned int)ext_first_part_size; |
if (fragment_size > 0) |
{ |
- pbi->fragment_sizes[0] = (unsigned int)ext_first_part_size; |
+ pbi->fragments.sizes[0] = (unsigned int)ext_first_part_size; |
/* The fragment contains an additional partition. Move to |
* next. */ |
fragment_idx++; |
- pbi->fragments[fragment_idx] = pbi->fragments[0] + |
- pbi->fragment_sizes[0]; |
+ pbi->fragments.ptrs[fragment_idx] = pbi->fragments.ptrs[0] + |
+ pbi->fragments.sizes[0]; |
} |
} |
/* Split the chunk into partitions read from the bitstream */ |
@@ -868,12 +868,12 @@ |
ptrdiff_t partition_size = read_available_partition_size( |
pbi, |
token_part_sizes, |
- pbi->fragments[fragment_idx], |
+ pbi->fragments.ptrs[fragment_idx], |
first_fragment_end, |
fragment_end, |
fragment_idx - 1, |
num_token_partitions); |
- pbi->fragment_sizes[fragment_idx] = (unsigned int)partition_size; |
+ pbi->fragments.sizes[fragment_idx] = (unsigned int)partition_size; |
fragment_size -= (unsigned int)partition_size; |
assert(fragment_idx <= num_token_partitions); |
if (fragment_size > 0) |
@@ -881,19 +881,19 @@ |
/* The fragment contains an additional partition. |
* Move to next. */ |
fragment_idx++; |
- pbi->fragments[fragment_idx] = |
- pbi->fragments[fragment_idx - 1] + partition_size; |
+ pbi->fragments.ptrs[fragment_idx] = |
+ pbi->fragments.ptrs[fragment_idx - 1] + partition_size; |
} |
} |
} |
- pbi->num_fragments = num_token_partitions + 1; |
+ pbi->fragments.count = num_token_partitions + 1; |
- for (partition_idx = 1; partition_idx < pbi->num_fragments; ++partition_idx) |
+ for (partition_idx = 1; partition_idx < pbi->fragments.count; ++partition_idx) |
{ |
if (vp8dx_start_decode(bool_decoder, |
- pbi->fragments[partition_idx], |
- pbi->fragment_sizes[partition_idx])) |
+ pbi->fragments.ptrs[partition_idx], |
+ pbi->fragments.sizes[partition_idx])) |
vpx_internal_error(&pbi->common.error, VPX_CODEC_MEM_ERROR, |
"Failed to allocate bool decoder %d", |
partition_idx); |
@@ -983,8 +983,8 @@ |
vp8_reader *const bc = & pbi->mbc[8]; |
VP8_COMMON *const pc = & pbi->common; |
MACROBLOCKD *const xd = & pbi->mb; |
- const unsigned char *data = pbi->fragments[0]; |
- const unsigned char *data_end = data + pbi->fragment_sizes[0]; |
+ const unsigned char *data = pbi->fragments.ptrs[0]; |
+ const unsigned char *data_end = data + pbi->fragments.sizes[0]; |
ptrdiff_t first_partition_length_in_bytes; |
int i, j, k, l; |