diff --git a/.pick_status.json b/.pick_status.json index 4989216b977..82c4be2fa97 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -584,7 +584,7 @@ "description": "frontends/va: Store slice types for H264 decode", "nominated": true, "nomination_type": 0, - "resolution": 0, + "resolution": 1, "main_sha": null, "because_sha": null, "notes": null diff --git a/src/gallium/frontends/va/picture_h264.c b/src/gallium/frontends/va/picture_h264.c index 62d94b51db5..f5e99fd795c 100644 --- a/src/gallium/frontends/va/picture_h264.c +++ b/src/gallium/frontends/va/picture_h264.c @@ -186,6 +186,7 @@ void vlVaHandleSliceParameterBufferH264(vlVaContext *context, vlVaBuffer *buf) assert(context->desc.h264.slice_count < max_pipe_h264_slices); context->desc.h264.slice_parameter.slice_info_present = true; + context->desc.h264.slice_parameter.slice_type[context->desc.h264.slice_count] = h264->slice_type; context->desc.h264.slice_parameter.slice_data_size[context->desc.h264.slice_count] = h264->slice_data_size; context->desc.h264.slice_parameter.slice_data_offset[context->desc.h264.slice_count] = h264->slice_data_offset; diff --git a/src/gallium/include/pipe/p_video_state.h b/src/gallium/include/pipe/p_video_state.h index ccebd5310f4..671823b37ae 100644 --- a/src/gallium/include/pipe/p_video_state.h +++ b/src/gallium/include/pipe/p_video_state.h @@ -411,6 +411,7 @@ struct pipe_h264_picture_desc { bool slice_info_present; uint32_t slice_count; + uint8_t slice_type[128]; uint32_t slice_data_size[128]; uint32_t slice_data_offset[128]; enum pipe_slice_buffer_placement_type slice_data_flag[128];