Fix integer overflow issue in pack bitstream buffer computation
This CL fixes integer overflow issue identified in computation of
buffer used in pack bitstream multithreading for 32-bit builds.
BUG=aomedia:3040
Change-Id: I5d4f4bf9c5a15232b4985f570b1e2a0e5cf19363
diff --git a/av1/encoder/ethread.c b/av1/encoder/ethread.c
index ce5a672..6892d58 100644
--- a/av1/encoder/ethread.c
+++ b/av1/encoder/ethread.c
@@ -1839,7 +1839,8 @@
this_chunk_size = *remain_buf_size;
*remain_buf_size = 0;
} else {
- this_chunk_size = (max_buf_size * tg_or_tile_size) / frame_or_tg_size;
+ const uint64_t size_scale = (uint64_t)max_buf_size * tg_or_tile_size;
+ this_chunk_size = (size_t)(size_scale / frame_or_tg_size);
*remain_buf_size -= this_chunk_size;
assert(*remain_buf_size > 0);
}