[Mesa-dev] [PATCH] radeon/vcn: Handle crop parameters for encoder

Liu, Leo Leo.Liu at amd.com
Thu Jan 2 20:35:17 UTC 2020


The mesa process has switched to using merge requests.

-----Original Message-----
From: mesa-dev <mesa-dev-bounces at lists.freedesktop.org> On Behalf Of Satyajit Sahu
Sent: Tuesday, December 24, 2019 4:39 AM
To: mesa-dev at lists.freedesktop.org
Cc: Sharma, Deepak <Deepak.Sharma at amd.com>; Sahu, Satyajit <Satyajit.Sahu at amd.com>
Subject: [Mesa-dev] [PATCH] radeon/vcn: Handle crop parameters for encoder

Set proper cropping parameter if frame cropping is enabled

Signed-off-by: Satyajit Sahu <satyajit.sahu at amd.com>

diff --git a/src/gallium/drivers/radeon/radeon_vcn_enc.c b/src/gallium/drivers/radeon/radeon_vcn_enc.c
index aa9182f273b..0bcce867327 100644
--- a/src/gallium/drivers/radeon/radeon_vcn_enc.c
+++ b/src/gallium/drivers/radeon/radeon_vcn_enc.c
@@ -52,10 +52,17 @@ static void radeon_vcn_enc_get_param(struct radeon_encoder *enc, struct pipe_pic
       enc->enc_pic.ref_idx_l1 = pic->ref_idx_l1;
       enc->enc_pic.not_referenced = pic->not_referenced;
       enc->enc_pic.is_idr = (pic->picture_type == PIPE_H264_ENC_PICTURE_TYPE_IDR);
-      enc->enc_pic.crop_left = 0;
-      enc->enc_pic.crop_right = (align(enc->base.width, 16) - enc->base.width) / 2;
-      enc->enc_pic.crop_top = 0;
-      enc->enc_pic.crop_bottom = (align(enc->base.height, 16) - enc->base.height) / 2;
+      if (pic->pic_ctrl.enc_frame_cropping_flag) {
+          enc->enc_pic.crop_left = pic->pic_ctrl.enc_frame_crop_left_offset;
+          enc->enc_pic.crop_right = pic->pic_ctrl.enc_frame_crop_right_offset;
+          enc->enc_pic.crop_top = pic->pic_ctrl.enc_frame_crop_top_offset;
+          enc->enc_pic.crop_bottom = pic->pic_ctrl.enc_frame_crop_bottom_offset;
+      } else {
+          enc->enc_pic.crop_left = 0;
+          enc->enc_pic.crop_right = (align(enc->base.width, 16) - enc->base.width) / 2;
+          enc->enc_pic.crop_top = 0;
+          enc->enc_pic.crop_bottom = (align(enc->base.height, 16) - enc->base.height) / 2;
+      }
       enc->enc_pic.rc_layer_init.target_bit_rate = pic->rate_ctrl.target_bitrate;
       enc->enc_pic.rc_layer_init.peak_bit_rate = pic->rate_ctrl.peak_bitrate;
       enc->enc_pic.rc_layer_init.frame_rate_num = pic->rate_ctrl.frame_rate_num;
-- 
2.17.1

_______________________________________________
mesa-dev mailing list
mesa-dev at lists.freedesktop.org
https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.freedesktop.org%2Fmailman%2Flistinfo%2Fmesa-dev&data=02%7C01%7Cleo.liu%40amd.com%7Cebe0ab52bd1948be95b108d788552cd2%7C3dd8961fe4884e608e11a82d994e183d%7C0%7C0%7C637127771729035994&sdata=8APh%2FJucqePZPxtib0Wg5spsKYysUtAlzR6W34muOcc%3D&reserved=0


More information about the mesa-dev mailing list