Factor out type definitions (GenFrameStore, GenBuffer).
authorGwenole Beauchesne <gwenole.beauchesne@intel.com>
Mon, 30 Jan 2012 10:05:17 +0000 (11:05 +0100)
committerGwenole Beauchesne <gwenole.beauchesne@intel.com>
Wed, 1 Feb 2012 22:56:35 +0000 (23:56 +0100)
Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
src/Makefile.am
src/gen6_mfd.h
src/gen7_mfd.h
src/i965_decoder.h [new file with mode: 0644]
src/i965_media_h264.h

index 7a8de4d..f472655 100644 (file)
@@ -76,6 +76,7 @@ source_h = \
        i965_avc_bsd.h          \
        i965_avc_hw_scoreboard.h\
        i965_avc_ildb.h         \
+       i965_decoder.h          \
        i965_defines.h          \
        i965_drv_video.h        \
        i965_encoder.h          \
index 46bb0e4..bf06a00 100644 (file)
@@ -33,6 +33,7 @@
 #include <drm.h>
 #include <i915_drm.h>
 #include <intel_bufmgr.h>
+#include "i965_decoder.h"
 
 struct gen6_avc_surface
 {
@@ -58,7 +59,6 @@ struct gen6_vc1_surface
     int picture_type;
 };
 
-#define MAX_MFX_REFERENCE_SURFACES        16
 struct hw_context;
 
 struct gen6_mfd_context
@@ -69,45 +69,14 @@ struct gen6_mfd_context
         VAIQMatrixBufferMPEG2 mpeg2;
     } iq_matrix;
 
-    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;
+    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;
 };
 
 #endif /* _GEN6_MFD_H_ */
index 088dbda..08658f4 100644 (file)
@@ -33,6 +33,7 @@
 #include <drm.h>
 #include <i915_drm.h>
 #include <intel_bufmgr.h>
+#include "i965_decoder.h"
 
 struct gen7_avc_surface
 {
@@ -58,7 +59,6 @@ struct gen7_vc1_surface
     int picture_type;
 };
 
-#define MAX_MFX_REFERENCE_SURFACES        16
 struct hw_context;
 
 struct gen7_mfd_context
@@ -69,45 +69,14 @@ struct gen7_mfd_context
         VAIQMatrixBufferMPEG2 mpeg2;
     } iq_matrix;
 
-    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;
+    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;
 };
 
 #endif /* _GEN7_MFD_H_ */
diff --git a/src/i965_decoder.h b/src/i965_decoder.h
new file mode 100644 (file)
index 0000000..0e69e14
--- /dev/null
@@ -0,0 +1,46 @@
+/*
+ * Copyright (C) 2012 Intel Corporation
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the
+ * "Software"), to deal in the Software without restriction, including
+ * without limitation the rights to use, copy, modify, merge, publish,
+ * distribute, sub license, and/or sell copies of the Software, and to
+ * permit persons to whom the Software is furnished to do so, subject to
+ * the following conditions:
+ *
+ * The above copyright notice and this permission notice (including the
+ * next paragraph) shall be included in all copies or substantial portions
+ * of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
+ * IN NO EVENT SHALL PRECISION INSIGHT AND/OR ITS SUPPLIERS BE LIABLE FOR
+ * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+ * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+ * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ */
+
+#ifndef I965_DECODER_H
+#define I965_DECODER_H
+
+#include <stdint.h>
+#include <va/va.h>
+#include <intel_bufmgr.h>
+
+#define MAX_GEN_REFERENCE_FRAMES 16
+
+typedef struct gen_frame_store GenFrameStore;
+struct gen_frame_store {
+    VASurfaceID surface_id;
+    int         frame_store_id;
+};
+
+typedef struct gen_buffer GenBuffer;
+struct gen_buffer {
+    dri_bo     *bo;
+    int         valid;
+};
+
+#endif /* I965_DECODER_H */
index 8a8dc8e..490213c 100644 (file)
@@ -4,6 +4,7 @@
 #include "i965_avc_bsd.h"
 #include "i965_avc_hw_scoreboard.h"
 #include "i965_avc_ildb.h"
+#include "i965_decoder.h"
 
 struct decode_state;
 struct i965_media_context;
@@ -60,10 +61,7 @@ struct i965_h264_context
     struct i965_avc_hw_scoreboard_context avc_hw_scoreboard_context;
     struct i965_avc_ildb_context avc_ildb_context;
 
-    struct {
-        VASurfaceID surface_id;
-        int frame_store_id;
-    } fsid_list[16];
+    GenFrameStore fsid_list[MAX_GEN_REFERENCE_FRAMES];
 
     struct i965_kernel avc_kernels[NUM_H264_AVC_KERNELS];
     struct intel_batchbuffer *batch;