radeon/vce: set flag based on dual instance enablement
authorBoyuan Zhang <boyuan.zhang@amd.com>
Mon, 15 Aug 2016 14:36:14 +0000 (10:36 -0400)
committerLeo Liu <leo.liu@amd.com>
Fri, 19 Aug 2016 14:36:44 +0000 (10:36 -0400)
Set the flag on when dual instance encoding is supported,
otherwise set it to off.

Signed-off-by: Boyuan Zhang <boyuan.zhang@amd.com>
src/gallium/drivers/radeon/radeon_vce_52.c

index 136f0801e4c561a08a4c9cc7d507c06d188a2d44..5db01fe5240bf3e9aa75222d8a4f342b22d482d6 100644 (file)
@@ -158,13 +158,15 @@ void radeon_vce_52_get_param(struct rvce_encoder *enc, struct pipe_h264_enc_pict
        enc->enc_pic.ref_idx_l0 = pic->ref_idx_l0;
        enc->enc_pic.ref_idx_l1 = pic->ref_idx_l1;
        enc->enc_pic.not_referenced = pic->not_referenced;
-       enc->enc_pic.addrmode_arraymode_disrdo_distwoinstants = pic->ref_pic_mode;
+       if (enc->dual_inst)
+               enc->enc_pic.addrmode_arraymode_disrdo_distwoinstants = 0x00000201;
+       else
+               enc->enc_pic.addrmode_arraymode_disrdo_distwoinstants = 0x01000201;
        enc->enc_pic.is_idr = pic->is_idr;
 }
 
 static void create(struct rvce_encoder *enc)
 {
-       enc->enc_pic.addrmode_arraymode_disrdo_distwoinstants = 0x00000201;
        enc->task_info(enc, 0x00000000, 0, 0, 0);
 
        RVCE_BEGIN(0x01000001); // create cmd