diff options
Diffstat (limited to 'third_party/dav1d/src/decode.c')
-rw-r--r-- | third_party/dav1d/src/decode.c | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/third_party/dav1d/src/decode.c b/third_party/dav1d/src/decode.c index b4853088e2..945ccdfc0f 100644 --- a/third_party/dav1d/src/decode.c +++ b/third_party/dav1d/src/decode.c @@ -2637,7 +2637,7 @@ static void setup_tile(Dav1dTileState *const ts, const Dav1dFrameContext *const f, const uint8_t *const data, const size_t sz, const int tile_row, const int tile_col, - const int tile_start_off) + const unsigned tile_start_off) { const int col_sb_start = f->frame_hdr->tiling.col_start_sb[tile_col]; const int col_sb128_start = col_sb_start >> !f->seq_hdr->sb128; @@ -2988,15 +2988,16 @@ int dav1d_decode_frame_init(Dav1dFrameContext *const f) { const uint8_t *const size_mul = ss_size_mul[f->cur.p.layout]; const int hbd = !!f->seq_hdr->hbd; if (c->n_fc > 1) { + const unsigned sb_step4 = f->sb_step * 4; int tile_idx = 0; for (int tile_row = 0; tile_row < f->frame_hdr->tiling.rows; tile_row++) { - int row_off = f->frame_hdr->tiling.row_start_sb[tile_row] * - f->sb_step * 4 * f->sb128w * 128; - int b_diff = (f->frame_hdr->tiling.row_start_sb[tile_row + 1] - - f->frame_hdr->tiling.row_start_sb[tile_row]) * f->sb_step * 4; + const unsigned row_off = f->frame_hdr->tiling.row_start_sb[tile_row] * + sb_step4 * f->sb128w * 128; + const unsigned b_diff = (f->frame_hdr->tiling.row_start_sb[tile_row + 1] - + f->frame_hdr->tiling.row_start_sb[tile_row]) * sb_step4; for (int tile_col = 0; tile_col < f->frame_hdr->tiling.cols; tile_col++) { f->frame_thread.tile_start_off[tile_idx++] = row_off + b_diff * - f->frame_hdr->tiling.col_start_sb[tile_col] * f->sb_step * 4; + f->frame_hdr->tiling.col_start_sb[tile_col] * sb_step4; } } |