diff --git a/src/gallium/drivers/radeonsi/radeon_vcn_dec.c b/src/gallium/drivers/radeonsi/radeon_vcn_dec.c index a0f778c071a..a82ae64d4d8 100644 --- a/src/gallium/drivers/radeonsi/radeon_vcn_dec.c +++ b/src/gallium/drivers/radeonsi/radeon_vcn_dec.c @@ -541,7 +541,7 @@ static rvcn_dec_message_vp9_t get_vp9_msg(struct radeon_decoder *dec, prbs->seg.abs_delta = pic->picture_parameter.abs_delta; } else - memset(&prbs->seg, 0, 256); + memset(prbs->segment_data, 0, sizeof(prbs->segment_data)); result.frame_header_flags = (pic->picture_parameter.pic_fields.frame_type << RDECODE_FRAME_HDR_INFO_VP9_FRAME_TYPE_SHIFT) & diff --git a/src/gallium/drivers/radeonsi/radeon_vcn_enc.c b/src/gallium/drivers/radeonsi/radeon_vcn_enc.c index d95edf94f05..04d39041e45 100644 --- a/src/gallium/drivers/radeonsi/radeon_vcn_enc.c +++ b/src/gallium/drivers/radeonsi/radeon_vcn_enc.c @@ -1557,6 +1557,7 @@ static void *radeon_vcn_enc_encode_headers(struct radeon_encoder *enc) PIPE_MAP_WRITE | RADEON_MAP_TEMPORARY); if (!ptr) { RVID_ERR("Can't map bs buffer.\n"); + FREE(data); return NULL; } @@ -1667,15 +1668,13 @@ static void radeon_enc_get_feedback(struct pipe_video_codec *encoder, void *feed struct radeon_encoder *enc = (struct radeon_encoder *)encoder; struct rvid_buffer *fb = feedback; - if (size) { - uint32_t *ptr = enc->ws->buffer_map(enc->ws, fb->res->buf, &enc->cs, - PIPE_MAP_READ_WRITE | RADEON_MAP_TEMPORARY); - if (ptr[1]) - *size = ptr[6] - ptr[8]; - else - *size = 0; - enc->ws->buffer_unmap(enc->ws, fb->res->buf); - } + uint32_t *ptr = enc->ws->buffer_map(enc->ws, fb->res->buf, &enc->cs, + PIPE_MAP_READ_WRITE | RADEON_MAP_TEMPORARY); + if (ptr[1]) + *size = ptr[6] - ptr[8]; + else + *size = 0; + enc->ws->buffer_unmap(enc->ws, fb->res->buf); metadata->present_metadata = PIPE_VIDEO_FEEDBACK_METADATA_TYPE_CODEC_UNIT_LOCATION; diff --git a/src/gallium/drivers/radeonsi/radeon_vcn_enc_1_2.c b/src/gallium/drivers/radeonsi/radeon_vcn_enc_1_2.c index cbff3889fe1..7ee2cf831f8 100644 --- a/src/gallium/drivers/radeonsi/radeon_vcn_enc_1_2.c +++ b/src/gallium/drivers/radeonsi/radeon_vcn_enc_1_2.c @@ -230,12 +230,7 @@ unsigned int radeon_enc_write_sps(struct radeon_encoder *enc, uint8_t nal_byte, radeon_enc_code_fixed_bits(enc, sps->gaps_in_frame_num_value_allowed_flag, 1); radeon_enc_code_ue(enc, (pic->session_init.aligned_picture_width / 16 - 1)); radeon_enc_code_ue(enc, (pic->session_init.aligned_picture_height / 16 - 1)); - bool frame_mbs_only_flag = true; - radeon_enc_code_fixed_bits(enc, frame_mbs_only_flag ? 0x1 : 0x0, 1); - - if (!frame_mbs_only_flag) - radeon_enc_code_fixed_bits(enc, 0x0, 1); /* mb_adaptive_frame_field_flag */ - + radeon_enc_code_fixed_bits(enc, 0x1, 1); /* frame_mbs_only_flag */ radeon_enc_code_fixed_bits(enc, 0x1, 1); /* direct_8x8_inference_flag */ radeon_enc_code_fixed_bits(enc, sps->enc_frame_cropping_flag, 1);