diff --git a/src/gallium/frontends/va/picture_av1_enc.c b/src/gallium/frontends/va/picture_av1_enc.c index a669625104b..ae504eee2c5 100644 --- a/src/gallium/frontends/va/picture_av1_enc.c +++ b/src/gallium/frontends/va/picture_av1_enc.c @@ -734,12 +734,21 @@ static void av1_frame_header(vlVaContext *context, struct vl_vlc *vlc) av1->use_ref_frame_mvs = 0; else av1->use_ref_frame_mvs = av1_f(vlc, 1); - - if (av1->disable_cdf_update) - av1->disable_frame_end_update_cdf = 1; - else - av1->disable_frame_end_update_cdf = av1_f(vlc, 1); } + + if (av1->disable_cdf_update) + av1->disable_frame_end_update_cdf = 1; + else + av1->disable_frame_end_update_cdf = av1_f(vlc, 1); + + /* tile_info() + * trying to keep uniform_tile_spacing_flag + * if the tile rows and columns are not within the range + * of HW capability, it will need to redo the tiling + * according to the limixation. + */ + + av1->uniform_tile_spacing = av1_f(vlc, 1); } VAStatus diff --git a/src/gallium/include/pipe/p_video_state.h b/src/gallium/include/pipe/p_video_state.h index f8a5fcf07e1..cb4381f2f5c 100644 --- a/src/gallium/include/pipe/p_video_state.h +++ b/src/gallium/include/pipe/p_video_state.h @@ -1003,6 +1003,7 @@ struct pipe_av1_enc_picture_desc uint32_t reduced_tx_set:1; uint32_t skip_mode_present:1; uint32_t long_term_reference:1; + uint32_t uniform_tile_spacing:1; }; struct pipe_enc_quality_modes quality_modes; struct pipe_enc_intra_refresh intra_refresh;