frontends/va: Add slice_count to AV1 slice_parameter

Save the number of slice in AV1 slice parameter, so that the
underlying driver (such as virgl) can handle the slice parameters
better.

Signed-off-by: Feng Jiang <jiangfeng@kylinos.cn>
Suggested-by: Sil Vilerino <sivileri@microsoft.com>
Reviewed-by: Boyuan Zhang <Boyuan.Zhang@amd.com>
Reviewed-by: Daniel Almeida <daniel.almeida@collabora.com>
Reviewed-by: Sil Vilerino <sivileri@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23386>
This commit is contained in:
Feng Jiang
2023-06-02 09:38:37 +08:00
committed by Marge Bot
parent c87d5c67d9
commit 82ee420b15
2 changed files with 4 additions and 0 deletions
+3
View File
@@ -392,6 +392,8 @@ void vlVaHandlePictureParameterBufferAV1(vlVaDriver *drv, vlVaContext *context,
else
vlVaGetReferenceFrame(drv, av1->ref_frame_map[i], &context->desc.av1.ref[i]);
}
context->desc.av1.slice_parameter.slice_count = 0;
}
void vlVaHandleSliceParameterBufferAV1(vlVaContext *context, vlVaBuffer *buf, unsigned num_slices)
@@ -409,5 +411,6 @@ void vlVaHandleSliceParameterBufferAV1(vlVaContext *context, vlVaBuffer *buf, un
context->desc.av1.slice_parameter.slice_data_row[slice_index] = av1->tile_row;
context->desc.av1.slice_parameter.slice_data_col[slice_index] = av1->tile_column;
context->desc.av1.slice_parameter.slice_data_anchor_frame_idx[slice_index] = av1->anchor_frame_idx;
context->desc.av1.slice_parameter.slice_count = slice_index + 1;
}
}
+1
View File
@@ -1377,6 +1377,7 @@ struct pipe_av1_picture_desc
uint16_t slice_data_row[256];
uint16_t slice_data_col[256];
uint8_t slice_data_anchor_frame_idx[256];
uint16_t slice_count;
} slice_parameter;
};