OSDN Git Service

Add the configure attributes of EncMaxRefs for GEN9 HEVC encoder
[android-x86/hardware-intel-common-vaapi.git] / src / gen9_hevc_encoder.h
index c8c568d..3114f26 100644 (file)
@@ -317,6 +317,11 @@ struct gen9_hevc_brc_context {
     struct i965_gpe_context gpe_contexts[GEN9_HEVC_ENC_BRC_NUM];
 };
 
+struct gen9_hevc_slice_map {
+    unsigned char slice_id;
+    unsigned char reserved[3];
+};
+
 // PAK paramerters
 #define GEN9_HEVC_ENC_BRC_PIC_STATE_SIZE      (128)
 #define GEN9_HEVC_ENC_BRC_PAK_STATISTCS_SIZE  (32)
@@ -335,6 +340,9 @@ struct gen9_hevc_brc_context {
 #define GEN9_MAX_REF_SURFACES                    8
 #define GEN9_MAX_MV_TEMPORAL_BUFFERS             (GEN9_MAX_REF_SURFACES + 1)
 
+#define GEN9_HEVC_NUM_MAX_REF_L0  3
+#define GEN9_HEVC_NUM_MAX_REF_L1  1
+
 enum GEN9_HEVC_ENC_SURFACE_TYPE {
     GEN9_HEVC_ENC_SURFACE_RECON = 0,
     GEN9_HEVC_ENC_SURFACE_SOURCE = 1
@@ -428,8 +436,8 @@ struct gen9_hevc_encoder_state {
     int pak_obj_size;
     int cu_record_size;
     int pic_state_size;
-    int slice_batch_offset[NUM_SLICES];
-    int slice_start_lcu[NUM_SLICES];
+    int slice_batch_offset[I965_MAX_NUM_SLICE];
+    int slice_start_lcu[I965_MAX_NUM_SLICE];
 
     struct hevc_encode_status_buffer status_buffer;
     enum HEVC_TU_MODE tu_mode;
@@ -476,6 +484,7 @@ struct gen9_hevc_encoder_state {
     unsigned int parallel_brc;
 
     unsigned int num_roi;
+    unsigned int roi_value_is_qp_delta;
     unsigned int max_delta_qp;
     unsigned int min_delta_qp;
     struct intel_roi roi[MAX_HEVC_MAX_NUM_ROI];