[g3dvl] rework video buffer format handling
[mesa.git] / src / gallium / include / pipe / p_video_context.h
index 512b5b22d7797f4d71c56fa2e15bf06471957851..c9e618b60800eca5ff832074b6a6edf201a4fd00 100644 (file)
@@ -62,12 +62,11 @@ struct pipe_video_context
    int (*get_param)(struct pipe_video_context *context, int param);
 
    /**
-    * Check if the given pipe_format is supported as a texture or
-    * drawing surface.
+    * Check if the given pipe_format is supported as a video buffer
     */
    boolean (*is_format_supported)(struct pipe_video_context *context,
                                   enum pipe_format format,
-                                  unsigned usage);
+                                  enum pipe_video_profile profile);
 
    /**
     * create a surface of a texture
@@ -177,7 +176,14 @@ struct pipe_video_decode_buffer
    /**
     * map the input buffer into memory before starting decoding
     */
-   void (*map)(struct pipe_video_decode_buffer *decbuf);
+   void (*begin_frame)(struct pipe_video_decode_buffer *decbuf);
+
+   /**
+    * set the quantification matrixes
+    */
+   void (*set_quant_matrix)(struct pipe_video_decode_buffer *decbuf,
+                            const uint8_t intra_matrix[64],
+                            const uint8_t non_intra_matrix[64]);
 
    /**
     * get the pointer where to put the ycbcr blocks of a component
@@ -210,7 +216,7 @@ struct pipe_video_decode_buffer
    /**
     * unmap decoder buffer before flushing
     */
-   void (*unmap)(struct pipe_video_decode_buffer *decbuf);
+   void (*end_frame)(struct pipe_video_decode_buffer *decbuf);
 };
 
 /**