From 1de2cc648b1ba5313ae1a360050a92f165eddaf3 Mon Sep 17 00:00:00 2001 From: David Rosca Date: Sun, 18 Aug 2024 17:57:07 +0200 Subject: [PATCH] frontends/omx: Adjust to encoding changes Reviewed-by: Ruijing Dong Reviewed-By: Sil Vilerino Part-of: --- src/gallium/frontends/omx/vid_enc_common.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/gallium/frontends/omx/vid_enc_common.c b/src/gallium/frontends/omx/vid_enc_common.c index dfaa33018ac..5014bedbeb8 100644 --- a/src/gallium/frontends/omx/vid_enc_common.c +++ b/src/gallium/frontends/omx/vid_enc_common.c @@ -307,12 +307,22 @@ void enc_ControlPicture_common(vid_enc_PrivateType * priv, struct pipe_h264_enc_ picture->enable_vui = (picture->rate_ctrl[0].frame_rate_num != 0); enc_GetPictureParamPreset(picture); + uint8_t ref_idx = (priv->frame_num + 1) % 2; picture->header_flags.value = 0; if (picture->picture_type == PIPE_H2645_ENC_PICTURE_TYPE_IDR) { picture->header_flags.sps = 1; picture->header_flags.pps = 1; + picture->ref_list0[0] = PIPE_H2645_LIST_REF_INVALID_ENTRY; + } else { + picture->ref_list0[0] = ref_idx; } picture->header_flags.aud = 1; + picture->slice.frame_num = priv->frame_num; + picture->slice.pic_order_cnt_lsb = priv->pic_order_cnt % 16; + picture->dpb_size = 2; + picture->dpb_curr_pic = priv->frame_num % 2; + picture->dpb[picture->dpb_curr_pic].frame_idx = priv->frame_num; + picture->dpb[ref_idx].frame_idx = priv->ref_idx_l0; } static void *create_compute_state(struct pipe_context *pipe,