Remove two unnecessary/incorrect uint32_t casts In av1_write_uleb_obu_size(), it is incorrect to cast obu_payload_size to uint32_t. If obu_payload_size is greater than UINT32_MAX, the uint32_t cast will truncate its value. Pass obu_payload_size to aom_uleb_encode() and it will return an error if obu_payload_size is greater than UINT32_MAX. In av1_write_metadata_obu(), it is not necessary to cast the return value to uint32_t. Change-Id: Ida23bfe50da5841c5331978d75c4fee1ec61843a
diff --git a/av1/encoder/bitstream.c b/av1/encoder/bitstream.c index d0d1820..44cb43b 100644 --- a/av1/encoder/bitstream.c +++ b/av1/encoder/bitstream.c
@@ -3405,10 +3405,8 @@ uint8_t *dest) { const size_t offset = obu_header_size; size_t coded_obu_size = 0; - const uint32_t obu_size = (uint32_t)obu_payload_size; - assert(obu_size == obu_payload_size); - if (aom_uleb_encode(obu_size, sizeof(obu_size), dest + offset, + if (aom_uleb_encode(obu_payload_size, sizeof(uint32_t), dest + offset, &coded_obu_size) != 0) { return AOM_CODEC_ERROR; } @@ -4144,7 +4142,7 @@ memcpy(dst + coded_metadata_size, metadata->payload, metadata->sz); // Add trailing bits. dst[coded_metadata_size + metadata->sz] = 0x80; - return (uint32_t)(coded_metadata_size + metadata->sz + 1); + return coded_metadata_size + metadata->sz + 1; } static size_t av1_write_metadata_array(AV1_COMP *const cpi, uint8_t *dst) {