OSDN Git Service

ENC: add MFX pipeline for AVC encoder
[android-x86/hardware-intel-common-vaapi.git] / src / gen6_mfd.h
index 31f7957..f499803 100644 (file)
 #include <drm.h>
 #include <i915_drm.h>
 #include <intel_bufmgr.h>
-
-struct gen6_avc_surface
-{
-    dri_bo *dmv_top;
-    dri_bo *dmv_bottom;
-    int dmv_bottom_flag;
-};
+#include "i965_decoder.h"
 
 #define GEN6_VC1_I_PICTURE              0
 #define GEN6_VC1_P_PICTURE              1
@@ -58,52 +52,27 @@ struct gen6_vc1_surface
     int picture_type;
 };
 
-#define MAX_MFX_REFERENCE_SURFACES        16
 struct hw_context;
 
 struct gen6_mfd_context
 {
     struct hw_context base;
 
-    struct {
-        VASurfaceID surface_id;
-        int frame_store_id;
-    } reference_surface[MAX_MFX_REFERENCE_SURFACES];
-
-    struct {
-        dri_bo *bo;
-        int valid;
-    } post_deblocking_output;
-
-    struct {
-        dri_bo *bo;
-        int valid;
-    } pre_deblocking_output;
-
-    struct {
-        dri_bo *bo;
-        int valid;
-    } intra_row_store_scratch_buffer;
-
-    struct {
-        dri_bo *bo;
-        int valid;
-    } deblocking_filter_row_store_scratch_buffer;
-
-    struct {
-        dri_bo *bo;
-        int valid;
-    } bsd_mpc_row_store_scratch_buffer;
-
-    struct {
-        dri_bo *bo;
-        int valid;
-    } mpr_row_store_scratch_buffer;
-
-    struct {
-        dri_bo *bo;
-        int valid;
-    } bitplane_read_buffer;
+    union {
+        VAIQMatrixBufferMPEG2 mpeg2;
+    } iq_matrix;
+
+    GenFrameStoreContext fs_ctx;
+    GenFrameStore       reference_surface[MAX_GEN_REFERENCE_FRAMES];
+    GenBuffer           post_deblocking_output;
+    GenBuffer           pre_deblocking_output;
+    GenBuffer           intra_row_store_scratch_buffer;
+    GenBuffer           deblocking_filter_row_store_scratch_buffer;
+    GenBuffer           bsd_mpc_row_store_scratch_buffer;
+    GenBuffer           mpr_row_store_scratch_buffer;
+    GenBuffer           bitplane_read_buffer;
+
+    int                 wa_mpeg2_slice_vertical_position;
 };
 
 #endif /* _GEN6_MFD_H_ */