Comparing the size values with subtraction requires casting. Sort in
descending order.
(a < b) - (a > b)
If a is greater, this is 0 - 1 = -1
If the values are equal, this is 0 - 0 = 0
If b is greater, this is 1 - 0 = 1
Change-Id: I5c20fd10fbc97c391c6858235c44d25d7db57f0e
// sorts in descending order
static int compare_tile_buffers(const void *a, const void *b) {
- const TileBuffer *const buf1 = (const TileBuffer *)a;
- const TileBuffer *const buf2 = (const TileBuffer *)b;
- return (int)((int64_t)buf2->size - buf1->size);
+ const TileBuffer *const buf_a = (const TileBuffer *)a;
+ const TileBuffer *const buf_b = (const TileBuffer *)b;
+ return (buf_a->size < buf_b->size) - (buf_a->size > buf_b->size);
}
static const uint8_t *decode_tiles_mt(VP9Decoder *pbi, const uint8_t *data,