aom: Pass obu ext to init_large_scale_tile_obu_header

From 49c02efb61e1aaf2108c704c7f542d0343069f16 Mon Sep 17 00:00:00 2001
From: Wan-Teh Chang <[EMAIL REDACTED]>
Date: Thu, 13 Jun 2024 15:18:39 -0700
Subject: [PATCH] Pass obu ext to init_large_scale_tile_obu_header

Pass obu_extension_header to init_large_scale_tile_obu_header(), so that
it can pass the correct obu_extension argument (instead of the
placeholder value 0) to av1_write_obu_header().

Change-Id: I1d70b3bafa9264c02d3d8818b6f60d3aae4c639e
---
 av1/encoder/bitstream.c | 16 +++++++++-------
 1 file changed, 9 insertions(+), 7 deletions(-)

diff --git a/av1/encoder/bitstream.c b/av1/encoder/bitstream.c
index 7c02eeb42..a2497571e 100644
--- a/av1/encoder/bitstream.c
+++ b/av1/encoder/bitstream.c
@@ -3558,7 +3558,7 @@ typedef struct {
 // Initialize OBU header for large scale tile case.
 static uint32_t init_large_scale_tile_obu_header(
     AV1_COMP *const cpi, uint8_t **data, struct aom_write_bit_buffer *saved_wb,
-    LargeTileFrameOBU *lst_obu) {
+    uint8_t obu_extension_header, LargeTileFrameOBU *lst_obu) {
   AV1LevelParams *const level_params = &cpi->ppi->level_params;
   CurrentFrame *const current_frame = &cpi->common.current_frame;
   // For large_scale_tile case, we always have only one tile group, so it can
@@ -3566,7 +3566,8 @@ static uint32_t init_large_scale_tile_obu_header(
   const OBU_TYPE obu_type = OBU_FRAME;
   lst_obu->tg_hdr_size = av1_write_obu_header(
       level_params, &cpi->frame_header_count, obu_type,
-      cpi->common.seq_params->has_nonzero_operating_point_idc, 0, *data);
+      cpi->common.seq_params->has_nonzero_operating_point_idc,
+      obu_extension_header, *data);
   *data += lst_obu->tg_hdr_size;
 
   const uint32_t frame_header_size =
@@ -3724,7 +3725,8 @@ static void write_large_scale_tile_obu(
 // Packs information in the obu header for large scale tiles.
 static INLINE uint32_t pack_large_scale_tiles_in_tg_obus(
     AV1_COMP *const cpi, uint8_t *const dst,
-    struct aom_write_bit_buffer *saved_wb, int *const largest_tile_id) {
+    struct aom_write_bit_buffer *saved_wb, uint8_t obu_extension_header,
+    int *const largest_tile_id) {
   AV1_COMMON *const cm = &cpi->common;
   const CommonTileParams *const tiles = &cm->tiles;
   uint32_t total_size = 0;
@@ -3735,8 +3737,8 @@ static INLINE uint32_t pack_large_scale_tiles_in_tg_obus(
 
   LargeTileFrameOBU lst_obu;
 
-  total_size +=
-      init_large_scale_tile_obu_header(cpi, &data, saved_wb, &lst_obu);
+  total_size += init_large_scale_tile_obu_header(
+      cpi, &data, saved_wb, obu_extension_header, &lst_obu);
 
   write_large_scale_tile_obu(cpi, dst, &lst_obu, largest_tile_id, &total_size,
                              have_tiles, &max_tile_size, &max_tile_col_size);
@@ -4128,8 +4130,8 @@ static uint32_t write_tiles_in_tg_obus(AV1_COMP *const cpi, uint8_t *const dst,
   }
 
   if (tiles->large_scale)
-    return pack_large_scale_tiles_in_tg_obus(cpi, dst, saved_wb,
-                                             largest_tile_id);
+    return pack_large_scale_tiles_in_tg_obus(
+        cpi, dst, saved_wb, obu_extension_header, largest_tile_id);
 
   return pack_tiles_in_tg_obus(cpi, dst, saved_wb, obu_extension_header,
                                fh_info, largest_tile_id);