+int
+va_enc_packed_type_to_idx(int packed_type);
+
+/* reserve 2 byte for internal using */
+#define CODEC_H264 0
+#define CODEC_MPEG2 1
+#define CODEC_H264_MVC 2
+
+#define H264_DELIMITER0 0x00
+#define H264_DELIMITER1 0x00
+#define H264_DELIMITER2 0x00
+#define H264_DELIMITER3 0x00
+#define H264_DELIMITER4 0x00
+
+#define MPEG2_DELIMITER0 0x00
+#define MPEG2_DELIMITER1 0x00
+#define MPEG2_DELIMITER2 0x00
+#define MPEG2_DELIMITER3 0x00
+#define MPEG2_DELIMITER4 0xb0
+
+struct i965_coded_buffer_segment
+{
+ VACodedBufferSegment base;
+ unsigned char mapped;
+ unsigned char codec;
+};
+
+#define I965_CODEDBUFFER_HEADER_SIZE ALIGN(sizeof(struct i965_coded_buffer_segment), 64)
+
+extern VAStatus i965_MapBuffer(VADriverContextP ctx,
+ VABufferID buf_id, /* in */
+ void **pbuf); /* out */
+
+extern VAStatus i965_UnmapBuffer(VADriverContextP ctx, VABufferID buf_id);
+
+extern VAStatus i965_DestroySurfaces(VADriverContextP ctx,
+ VASurfaceID *surface_list,
+ int num_surfaces);
+
+extern VAStatus i965_CreateSurfaces(VADriverContextP ctx,
+ int width,
+ int height,
+ int format,
+ int num_surfaces,
+ VASurfaceID *surfaces);
+
+#define I965_SURFACE_MEM_NATIVE 0
+#define I965_SURFACE_MEM_GEM_FLINK 1
+#define I965_SURFACE_MEM_DRM_PRIME 2
+
+void
+i965_destroy_surface_storage(struct object_surface *obj_surface);
+