summaryrefslogtreecommitdiffstats
path: root/src/gallium/include
diff options
context:
space:
mode:
authorChristian König <[email protected]>2011-08-12 13:29:00 +0200
committerChristian König <[email protected]>2011-08-26 12:10:34 +0200
commit2e62b30826679e9d5e1a783dc19baabec4fc8dfa (patch)
treeacb12f684ea4e1f95937c4c35f5cde4ca4e3f4db /src/gallium/include
parent835ea8480f656ba4076e30813eb8c85965017266 (diff)
g3dvl: Rework the decoder interface part 5/5
Make setting the quant matrixes a generic interface. Also removes setting the quant matrix from the XvMC interface Signed-off-by: Christian König <[email protected]> Reviewed-by: Younes Manton <[email protected]>
Diffstat (limited to 'src/gallium/include')
-rw-r--r--src/gallium/include/pipe/p_video_decoder.h3
-rw-r--r--src/gallium/include/pipe/p_video_state.h14
2 files changed, 15 insertions, 2 deletions
diff --git a/src/gallium/include/pipe/p_video_decoder.h b/src/gallium/include/pipe/p_video_decoder.h
index c7f5877858d..2aa4001c179 100644
--- a/src/gallium/include/pipe/p_video_decoder.h
+++ b/src/gallium/include/pipe/p_video_decoder.h
@@ -84,8 +84,7 @@ struct pipe_video_decoder
* set the quantification matrixes
*/
void (*set_quant_matrix)(struct pipe_video_decoder *decoder,
- const uint8_t intra_matrix[64],
- const uint8_t non_intra_matrix[64]);
+ const struct pipe_quant_matrix *matrix);
/**
* set target where video data is decoded to
diff --git a/src/gallium/include/pipe/p_video_state.h b/src/gallium/include/pipe/p_video_state.h
index 8e68f27cbdb..8166ac76b63 100644
--- a/src/gallium/include/pipe/p_video_state.h
+++ b/src/gallium/include/pipe/p_video_state.h
@@ -100,6 +100,11 @@ struct pipe_picture_desc
enum pipe_video_profile profile;
};
+struct pipe_quant_matrix
+{
+ enum pipe_video_codec codec;
+};
+
struct pipe_macroblock
{
enum pipe_video_codec codec;
@@ -116,9 +121,18 @@ struct pipe_mpeg12_picture_desc
unsigned alternate_scan;
unsigned intra_vlc_format;
unsigned concealment_motion_vectors;
+ unsigned intra_dc_precision;
unsigned f_code[2][2];
};
+struct pipe_mpeg12_quant_matrix
+{
+ struct pipe_quant_matrix base;
+
+ const uint8_t *intra_matrix;
+ const uint8_t *non_intra_matrix;
+};
+
struct pipe_mpeg12_macroblock
{
struct pipe_macroblock base;