#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
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_ */