mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-24 17:30:12 +01:00
radeon/vce:Add support for frame_cropping_flag of VAEncSequenceParameterBufferH264
This patch will add support for frame_cropping when the input size is not matched with aligned size. Currently vaapi driver ignores frame cropping values provided by client. This change will update SPS nalu with proper cropping values. v2: Moving default crop setting to else when enc_frame_cropping_flag is not set. Signed-off-by: Satyajit Sahu <satyajit.sahu@amd.com> Reviewed-by: Leo Liu <leo.liu@amd.com>
This commit is contained in:
parent
8becf5b46d
commit
05cc018ae6
1 changed files with 9 additions and 2 deletions
|
|
@ -81,8 +81,15 @@ static void get_pic_control_param(struct rvce_encoder *enc, struct pipe_h264_enc
|
|||
unsigned encNumMBsPerSlice;
|
||||
encNumMBsPerSlice = align(enc->base.width, 16) / 16;
|
||||
encNumMBsPerSlice *= align(enc->base.height, 16) / 16;
|
||||
enc->enc_pic.pc.enc_crop_right_offset = (align(enc->base.width, 16) - enc->base.width) >> 1;
|
||||
enc->enc_pic.pc.enc_crop_bottom_offset = (align(enc->base.height, 16) - enc->base.height) >> 1;
|
||||
if (pic->pic_ctrl.enc_frame_cropping_flag) {
|
||||
enc->enc_pic.pc.enc_crop_left_offset = pic->pic_ctrl.enc_frame_crop_left_offset;
|
||||
enc->enc_pic.pc.enc_crop_right_offset = pic->pic_ctrl.enc_frame_crop_right_offset;
|
||||
enc->enc_pic.pc.enc_crop_top_offset = pic->pic_ctrl.enc_frame_crop_top_offset;
|
||||
enc->enc_pic.pc.enc_crop_bottom_offset = pic->pic_ctrl.enc_frame_crop_bottom_offset;
|
||||
} else {
|
||||
enc->enc_pic.pc.enc_crop_right_offset = (align(enc->base.width, 16) - enc->base.width) >> 1;
|
||||
enc->enc_pic.pc.enc_crop_bottom_offset = (align(enc->base.height, 16) - enc->base.height) >> 1;
|
||||
}
|
||||
enc->enc_pic.pc.enc_num_mbs_per_slice = encNumMBsPerSlice;
|
||||
enc->enc_pic.pc.enc_b_pic_pattern = MAX2(enc->base.max_references, 1) - 1;
|
||||
enc->enc_pic.pc.enc_number_of_reference_frames = MIN2(enc->base.max_references, 2);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue