[Libva] [Libva-intel-driver][PATCH v2 14/18] Change the type of the 2nd parameter of intel_mfc_update_hrd()

Xiang, Haihao haihao.xiang at intel.com
Thu Sep 8 14:45:01 UTC 2016


In addition, change the two caller functions as well.

v2: rebased

Signed-off-by: Xiang, Haihao <haihao.xiang at intel.com>
---
 src/gen6_mfc.c        | 2 +-
 src/gen6_mfc.h        | 4 ++--
 src/gen6_mfc_common.c | 8 +++++---
 src/gen75_mfc.c       | 2 +-
 src/gen8_mfc.c        | 9 +++++----
 5 files changed, 14 insertions(+), 11 deletions(-)

diff --git a/src/gen6_mfc.c b/src/gen6_mfc.c
index c480430..cf20e3b 100644
--- a/src/gen6_mfc.c
+++ b/src/gen6_mfc.c
@@ -1370,7 +1370,7 @@ gen6_mfc_avc_encode_picture(VADriverContextP ctx,
         gen6_mfc_run(ctx, encode_state, encoder_context);
         if (rate_control_mode == VA_RC_CBR /*|| rate_control_mode == VA_RC_VBR*/) {
             gen6_mfc_stop(ctx, encode_state, encoder_context, &current_frame_bits_size);
-            sts = intel_mfc_brc_postpack(encode_state, mfc_context, current_frame_bits_size);
+            sts = intel_mfc_brc_postpack(encode_state, encoder_context, current_frame_bits_size);
             if (sts == BRC_NO_HRD_VIOLATION) {
                 intel_mfc_hrd_context_update(encode_state, mfc_context);
                 break;
diff --git a/src/gen6_mfc.h b/src/gen6_mfc.h
index 04db6c8..a130c83 100644
--- a/src/gen6_mfc.h
+++ b/src/gen6_mfc.h
@@ -350,11 +350,11 @@ Bool gen75_mfc_context_init(VADriverContextP ctx, struct intel_encoder_context *
 
 
 extern int intel_mfc_update_hrd(struct encode_state *encode_state,
-                                struct gen6_mfc_context *mfc_context,
+                                struct intel_encoder_context *encoder_context,
                                 int frame_bits);
 
 extern int intel_mfc_brc_postpack(struct encode_state *encode_state,
-                                  struct gen6_mfc_context *mfc_context,
+                                  struct intel_encoder_context *encoder_context,
                                   int frame_bits);
 
 extern void intel_mfc_hrd_context_update(struct encode_state *encode_state,
diff --git a/src/gen6_mfc_common.c b/src/gen6_mfc_common.c
index 1641db6..a30ace2 100644
--- a/src/gen6_mfc_common.c
+++ b/src/gen6_mfc_common.c
@@ -147,9 +147,10 @@ static void intel_mfc_brc_init(struct encode_state *encode_state,
 }
 
 int intel_mfc_update_hrd(struct encode_state *encode_state,
-                         struct gen6_mfc_context *mfc_context,
+                         struct intel_encoder_context *encoder_context,
                          int frame_bits)
 {
+    struct gen6_mfc_context *mfc_context = encoder_context->mfc_context;
     double prev_bf = mfc_context->hrd.current_buffer_fullness;
 
     mfc_context->hrd.current_buffer_fullness -= frame_bits;
@@ -172,9 +173,10 @@ int intel_mfc_update_hrd(struct encode_state *encode_state,
 }
 
 int intel_mfc_brc_postpack(struct encode_state *encode_state,
-                           struct gen6_mfc_context *mfc_context,
+                           struct intel_encoder_context *encoder_context,
                            int frame_bits)
 {
+    struct gen6_mfc_context *mfc_context = encoder_context->mfc_context;
     gen6_brc_status sts = BRC_NO_HRD_VIOLATION;
     VAEncSliceParameterBufferH264 *pSliceParameter = (VAEncSliceParameterBufferH264 *)encode_state->slice_params_ext[0]->buffer; 
     int slicetype = intel_avc_enc_slice_type_fixup(pSliceParameter->slice_type);
@@ -229,7 +231,7 @@ int intel_mfc_brc_postpack(struct encode_state *encode_state,
     BRC_CLIP(qpn, 1, 51);
 
     /* checking wthether HRD compliance is still met */
-    sts = intel_mfc_update_hrd(encode_state, mfc_context, frame_bits);
+    sts = intel_mfc_update_hrd(encode_state, encoder_context, frame_bits);
 
     /* calculating QP delta as some function*/
     x = mfc_context->hrd.target_buffer_fullness - mfc_context->hrd.current_buffer_fullness;
diff --git a/src/gen75_mfc.c b/src/gen75_mfc.c
index 1ea0147..c42de38 100644
--- a/src/gen75_mfc.c
+++ b/src/gen75_mfc.c
@@ -1704,7 +1704,7 @@ gen75_mfc_avc_encode_picture(VADriverContextP ctx,
         gen75_mfc_run(ctx, encode_state, encoder_context);
         if (rate_control_mode == VA_RC_CBR /*|| rate_control_mode == VA_RC_VBR*/) {
             gen75_mfc_stop(ctx, encode_state, encoder_context, &current_frame_bits_size);
-            sts = intel_mfc_brc_postpack(encode_state, mfc_context, current_frame_bits_size);
+            sts = intel_mfc_brc_postpack(encode_state, encoder_context, current_frame_bits_size);
             if (sts == BRC_NO_HRD_VIOLATION) {
                 intel_mfc_hrd_context_update(encode_state, mfc_context);
                 break;
diff --git a/src/gen8_mfc.c b/src/gen8_mfc.c
index daef41c..9da0730 100644
--- a/src/gen8_mfc.c
+++ b/src/gen8_mfc.c
@@ -1731,7 +1731,7 @@ gen8_mfc_avc_encode_picture(VADriverContextP ctx,
         gen8_mfc_run(ctx, encode_state, encoder_context);
         if (rate_control_mode == VA_RC_CBR /*|| rate_control_mode == VA_RC_VBR*/) {
             gen8_mfc_stop(ctx, encode_state, encoder_context, &current_frame_bits_size);
-            sts = intel_mfc_brc_postpack(encode_state, mfc_context, current_frame_bits_size);
+            sts = intel_mfc_brc_postpack(encode_state, encoder_context, current_frame_bits_size);
             if (sts == BRC_NO_HRD_VIOLATION) {
                 intel_mfc_hrd_context_update(encode_state, mfc_context);
                 break;
@@ -3368,9 +3368,10 @@ static void gen8_mfc_vp8_brc_init(struct encode_state *encode_state,
 }
 
 static int gen8_mfc_vp8_brc_postpack(struct encode_state *encode_state,
-                           struct gen6_mfc_context *mfc_context,
+                           struct intel_encoder_context *encoder_context,
                            int frame_bits)
 {
+    struct gen6_mfc_context *mfc_context = encoder_context->mfc_context;
     gen6_brc_status sts = BRC_NO_HRD_VIOLATION;
     VAEncPictureParameterBufferVP8 *pic_param = (VAEncPictureParameterBufferVP8 *)encode_state->pic_param_ext->buffer;
     int is_key_frame = !pic_param->pic_flags.bits.frame_type;
@@ -3428,7 +3429,7 @@ static int gen8_mfc_vp8_brc_postpack(struct encode_state *encode_state,
     BRC_CLIP(qpn, min_qindex, max_qindex);
 
     /* checking wthether HRD compliance is still met */
-    sts = intel_mfc_update_hrd(encode_state, mfc_context, frame_bits);
+    sts = intel_mfc_update_hrd(encode_state, encoder_context, frame_bits);
 
     /* calculating QP delta as some function*/
     x = mfc_context->hrd.target_buffer_fullness - mfc_context->hrd.current_buffer_fullness;
@@ -4466,7 +4467,7 @@ gen8_mfc_vp8_encode_picture(VADriverContextP ctx,
     current_frame_bits_size = 8 * gen8_mfc_calc_vp8_coded_buffer_size(ctx, encode_state, encoder_context);
 
     if (rate_control_mode == VA_RC_CBR /*|| rate_control_mode == VA_RC_VBR*/) {
-        sts = gen8_mfc_vp8_brc_postpack(encode_state, mfc_context, current_frame_bits_size);
+        sts = gen8_mfc_vp8_brc_postpack(encode_state, encoder_context, current_frame_bits_size);
         if (sts == BRC_NO_HRD_VIOLATION) {
             gen8_mfc_vp8_hrd_context_update(encode_state, mfc_context);
         }
-- 
1.9.1



More information about the Libva mailing list