summaryrefslogtreecommitdiff
path: root/libavcodec/cbs_av1_syntax_template.c
diff options
context:
space:
mode:
authorMark Thompson <sw@jkqxz.net>2020-08-31 22:00:57 +0100
committerMark Thompson <sw@jkqxz.net>2020-09-02 00:00:57 +0100
commit2a19232c1996fee52a3f4201fa379001627dcc89 (patch)
tree34b8fd71de9c5c2742c1625075dd4285a70487d2 /libavcodec/cbs_av1_syntax_template.c
parentcf6af829c2db8a8c55f49526f73e37b9da772c30 (diff)
cbs_av1: Fill tile width/height values when uniform_tile_spacing_flag is set
They are not explicitly in the bitstream in this case, but it is helpful to be able to use these values without always needing to check the flag beforehand.
Diffstat (limited to 'libavcodec/cbs_av1_syntax_template.c')
-rw-r--r--libavcodec/cbs_av1_syntax_template.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/libavcodec/cbs_av1_syntax_template.c b/libavcodec/cbs_av1_syntax_template.c
index 19b82bc3f8..2d2e240e3e 100644
--- a/libavcodec/cbs_av1_syntax_template.c
+++ b/libavcodec/cbs_av1_syntax_template.c
@@ -636,6 +636,15 @@ static int FUNC(tile_info)(CodedBitstreamContext *ctx, RWContext *rw,
current->tile_rows_log2;
current->tile_rows = (sb_rows + tile_height_sb - 1) / tile_height_sb;
+ for (i = 0; i < current->tile_cols - 1; i++)
+ infer(width_in_sbs_minus_1[i], tile_width_sb - 1);
+ infer(width_in_sbs_minus_1[i],
+ sb_cols - (current->tile_cols - 1) * tile_width_sb - 1);
+ for (i = 0; i < current->tile_rows - 1; i++)
+ infer(height_in_sbs_minus_1[i], tile_height_sb - 1);
+ infer(height_in_sbs_minus_1[i],
+ sb_rows - (current->tile_rows - 1) * tile_height_sb - 1);
+
} else {
int widest_tile_sb, start_sb, size_sb, max_width, max_height;