Add the common BRC API to avoid the duplicated code
[platform/upstream/libva-intel-driver.git] / src / gen6_mfc.h
index ba72a9a..d458d10 100644 (file)
@@ -66,24 +66,6 @@ struct encode_state;
 
 #define CMD_LEN_IN_OWORD        4
 
-#define BRC_CLIP(x, min, max) \
-{ \
-    x = ((x > (max)) ? (max) : ((x < (min)) ? (min) : x)); \
-}
-
-#define BRC_P_B_QP_DIFF 4
-#define BRC_I_P_QP_DIFF 2
-#define BRC_I_B_QP_DIFF (BRC_I_P_QP_DIFF + BRC_P_B_QP_DIFF)
-
-#define BRC_PWEIGHT 0.6  /* weight if P slice with comparison to I slice */
-#define BRC_BWEIGHT 0.25 /* weight if B slice with comparison to I slice */
-
-#define BRC_QP_MAX_CHANGE 5 /* maximum qp modification */
-#define BRC_CY 0.1 /* weight for */
-#define BRC_CX_UNDERFLOW 5.
-#define BRC_CX_OVERFLOW -4.
-
-#define BRC_PI_0_5 1.5707963267948966192313216916398
 
 typedef enum _gen6_brc_status
 {
@@ -246,9 +228,26 @@ VAStatus gen6_mfc_pipeline(VADriverContextP ctx,
                            struct encode_state *encode_state,
                            struct intel_encoder_context *encoder_context);
 void gen6_mfc_context_destroy(void *context);
-void gen6_mfc_brc_prepare(struct encode_state *encode_state,
-                          struct intel_encoder_context *encoder_context);
 
 extern
 Bool gen75_mfc_context_init(VADriverContextP ctx, struct intel_encoder_context *encoder_context);
+
+
+extern int intel_mfc_update_hrd(struct encode_state *encode_state,
+                               struct gen6_mfc_context *mfc_context,
+                               int frame_bits);
+
+extern int intel_mfc_brc_postpack(struct encode_state *encode_state,
+                                 struct gen6_mfc_context *mfc_context,
+                                 int frame_bits);
+
+extern void intel_mfc_hrd_context_update(struct encode_state *encode_state,
+                               struct gen6_mfc_context *mfc_context);
+
+extern int intel_mfc_interlace_check(VADriverContextP ctx,
+                   struct encode_state *encode_state,
+                   struct intel_encoder_context *encoder_context);
+
+extern void intel_mfc_brc_prepare(struct encode_state *encode_state,
+                          struct intel_encoder_context *encoder_context);
 #endif /* _GEN6_MFC_BCS_H_ */