diff options
author | John Koleszar <jkoleszar@google.com> | 2011-03-17 14:25:04 -0700 |
---|---|---|
committer | Code Review <code-review@webmproject.org> | 2011-03-17 14:25:04 -0700 |
commit | 8431e768c90d283c82f8d90f3e50a7700e0cfbc3 (patch) | |
tree | d80335cf60e917e77e49a9387b374363afd3106b | |
parent | de50520a8c88afa53679a2dd6c77d5be54503436 (diff) | |
parent | 9c836daf65495e753e9f29995b603b6fcf2588c2 (diff) | |
download | libvpx-8431e768c90d283c82f8d90f3e50a7700e0cfbc3.tar libvpx-8431e768c90d283c82f8d90f3e50a7700e0cfbc3.tar.gz libvpx-8431e768c90d283c82f8d90f3e50a7700e0cfbc3.tar.bz2 libvpx-8431e768c90d283c82f8d90f3e50a7700e0cfbc3.zip |
Merge "Fix "used uninitialized" warning in vp8_pack_bitstream()"
-rw-r--r-- | vp8/encoder/bitstream.c | 33 |
1 files changed, 18 insertions, 15 deletions
diff --git a/vp8/encoder/bitstream.c b/vp8/encoder/bitstream.c index 28477f41d..adbd10698 100644 --- a/vp8/encoder/bitstream.c +++ b/vp8/encoder/bitstream.c @@ -1366,6 +1366,7 @@ void vp8_pack_bitstream(VP8_COMP *cpi, unsigned char *dest, unsigned long *size) oh.show_frame = (int) pc->show_frame; oh.type = (int)pc->frame_type; oh.version = pc->version; + oh.first_partition_length_in_bytes = 0; mb_feature_data_bits = vp8_mb_feature_data_bits; cx_data += 3; @@ -1634,6 +1635,21 @@ void vp8_pack_bitstream(VP8_COMP *cpi, unsigned char *dest, unsigned long *size) vp8_stop_encode(bc); + oh.first_partition_length_in_bytes = cpi->bc.pos; + + /* update frame tag */ + { + int v = (oh.first_partition_length_in_bytes << 5) | + (oh.show_frame << 4) | + (oh.version << 1) | + oh.type; + + dest[0] = v; + dest[1] = v >> 8; + dest[2] = v >> 16; + } + + *size = VP8_HEADER_SIZE + extra_bytes_packed + cpi->bc.pos; if (pc->multi_token_partition != ONE_PARTITION) { @@ -1643,9 +1659,7 @@ void vp8_pack_bitstream(VP8_COMP *cpi, unsigned char *dest, unsigned long *size) pack_tokens_into_partitions(cpi, cx_data + bc->pos, num_part, &asize); - oh.first_partition_length_in_bytes = cpi->bc.pos; - - *size = cpi->bc.pos + VP8_HEADER_SIZE + asize + extra_bytes_packed; + *size += asize; } else { @@ -1659,19 +1673,8 @@ void vp8_pack_bitstream(VP8_COMP *cpi, unsigned char *dest, unsigned long *size) pack_tokens(&cpi->bc2, cpi->tok, cpi->tok_count); vp8_stop_encode(&cpi->bc2); - oh.first_partition_length_in_bytes = cpi->bc.pos ; - *size = cpi->bc2.pos + cpi->bc.pos + VP8_HEADER_SIZE + extra_bytes_packed; - } - { - int v = (oh.first_partition_length_in_bytes << 5) | - (oh.show_frame << 4) | - (oh.version << 1) | - oh.type; - - dest[0] = v; - dest[1] = v >> 8; - dest[2] = v >> 16; + *size += cpi->bc2.pos; } } |