| @@ -1976,6 +1976,7 @@ static int FUNC(pps) (CodedBitstreamContext *ctx, RWContext *rw, · 1975 unmodified lines |
| 1976 | else | 1976 | else |
| 1977 | infer(pps_tile_idx_delta_present_flag, 0); | 1977 | infer(pps_tile_idx_delta_present_flag, 0); |
| 1978 | for (i = 0; i < current->pps_num_slices_in_pic_minus1; i++) { | 1978 | for (i = 0; i < current->pps_num_slices_in_pic_minus1; i++) { |
| | 1979 | current->slice_top_left_tile_idx[i] = tile_idx; |
| 1979 | tile_x = tile_idx % current->num_tile_columns; | 1980 | tile_x = tile_idx % current->num_tile_columns; |
| 1980 | tile_y = tile_idx / current->num_tile_columns; | 1981 | tile_y = tile_idx / current->num_tile_columns; |
| 1981 | if (tile_x != current->num_tile_columns - 1) { | 1982 | if (tile_x != current->num_tile_columns - 1) { |
| @@ -2058,6 +2059,8 @@ static int FUNC(pps) (CodedBitstreamContext *ctx, RWContext *rw, · 76 unmodified lines |
| 2058 | } | 2059 | } |
| 2059 | num_slices_in_tile = j; | 2060 | num_slices_in_tile = j; |
| 2060 | } | 2061 | } |
| | 2062 | for (int k = 0; k < num_slices_in_tile; k++) |
| | 2063 | current->slice_top_left_tile_idx[i + k] = tile_idx; |
| 2061 | i += num_slices_in_tile - 1; | 2064 | i += num_slices_in_tile - 1; |
| 2062 | } else { | 2065 | } else { |
| 2063 | uint16_t height = 0; | 2066 | uint16_t height = 0; |
| @@ -2101,6 +2104,7 @@ static int FUNC(pps) (CodedBitstreamContext *ctx, RWContext *rw, · 37 unmodified lines |
| 2101 | if (i == current->pps_num_slices_in_pic_minus1) { | 2104 | if (i == current->pps_num_slices_in_pic_minus1) { |
| 2102 | uint16_t height = 0; | 2105 | uint16_t height = 0; |
| 2103 | | 2106 | |
| | 2107 | current->slice_top_left_tile_idx[i] = tile_idx; |
| 2104 | tile_x = tile_idx % current->num_tile_columns; | 2108 | tile_x = tile_idx % current->num_tile_columns; |
| 2105 | tile_y = tile_idx / current->num_tile_columns; | 2109 | tile_y = tile_idx / current->num_tile_columns; |
| 2106 | if (tile_y >= current->num_tile_rows) | 2110 | if (tile_y >= current->num_tile_rows) |