summaryrefslogtreecommitdiff
path: root/lib/xvmc/xvmce_proto.h
diff options
context:
space:
mode:
Diffstat (limited to 'lib/xvmc/xvmce_proto.h')
-rw-r--r--lib/xvmc/xvmce_proto.h73
1 files changed, 73 insertions, 0 deletions
diff --git a/lib/xvmc/xvmce_proto.h b/lib/xvmc/xvmce_proto.h
index 3a3989c..cdbe720 100644
--- a/lib/xvmc/xvmce_proto.h
+++ b/lib/xvmc/xvmce_proto.h
@@ -35,6 +35,8 @@
#define xvmce_QueryExtension 0
#define xvmce_QMatrixSend 1
#define xvmce_BufferStatus 2
+#define xvmce_BufferSliceInit 3
+#define xvmce_BufferSliceSend 4
/*
* Version, are we compatible?
@@ -106,4 +108,75 @@ typedef struct {
} xvmceBufferStatusReply;
#define sz_xvmceBufferStatusReply 32
+
+/*
+ *
+ */
+typedef struct {
+ CARD8 reqType;
+ CARD8 xvmceReqType; /* xvmce_BufferSliceInit */
+ CARD16 length B16;
+ CARD32 Port B32;
+ CARD32 Buffer B32;
+
+#define XVMCE_PICTURETYPE_FIELD_TOP 0x01
+#define XVMCE_PICTURETYPE_FIELD_BOTTOM 0x02
+#define XVMCE_PICTURETYPE_FRAME 0x03 /* frame, so progressive. */
+#define XVMCE_PICTURETYPE_STRUCTURE_MASK 0x03
+
+#define XVMCE_PICTURETYPE_FRAMETYPE_I 0x01 << 2
+#define XVMCE_PICTURETYPE_FRAMETYPE_P 0x02 << 2
+#define XVMCE_PICTURETYPE_FRAMETYPE_B 0x03 << 2
+#define XVMCE_PICTURETYPE_FRAMETYPE_MASK 0x03 << 2
+
+#define XVMCE_PICTURETYPE_SCAN_ZIGZAG 0x00 << 4
+#define XVMCE_PICTURETYPE_SCAN_ALTERNATE 0x01 << 4
+#define XVMCE_PICTURETYPE_SCAN_MASK 0x01 << 4
+ CARD8 PictureType;
+
+#define XVMCE_SLICEFLAGS_PREDICTION_FIELD 0x00
+#define XVMCE_SLICEFLAGS_PREDICTION_FRAME 0x01
+#define XVMCE_SLICEFLAGS_PREDICTION_MASK 0x01
+
+#define XVMCE_SLICEFLAGS_FIELD_FIRST_BOTTOM 0x00 << 1
+#define XVMCE_SLICEFLAGS_FIELD_FIRST_TOP 0x01 << 1
+#define XVMCE_SLICEFLAGS_FIELD_FIRST_MASK 0x01 << 1
+
+#define XVMCE_SLICEFLAGS_INTRA_HAS_MV 0x01 << 2
+
+#define XVMCE_SLICEFLAGS_INTRA_DC_TABLE_MASK 0x01 << 3
+
+#define XVMCE_SLICEFLAGS_INTRA_PRECISION_MASK 0x03 << 4
+
+#define XVMCE_SLICEFLAGS_QUANTIZATION_TABLE_MASK 0x01 << 6
+ CARD8 SliceFlags;
+
+ CARD8 PadByte;
+#define XVMCE_BACKWARDS_PRESENT 1
+#define XVMCE_FORWARDS_PRESENT 2
+ CARD8 ReferencesPresent;
+
+ CARD32 BackwardsReferenceBuffer B32;
+ CARD32 ForwardsReferenceBuffer B32;
+
+ CARD8 MVRange_BackwardsHorizontal;
+ CARD8 MVRange_BackwardsVertical;
+ CARD8 MVRange_ForwardsHorizontal;
+ CARD8 MVRange_ForwardsVertical;
+} xvmceBufferSliceInitReq;
+#define sz_xvmceBufferSliceInitReq 28
+
+/*
+ *
+ */
+typedef struct {
+ CARD8 reqType;
+ CARD8 xvmceReqType; /* xvmce_BufferSliceSend */
+ CARD16 length B16;
+ CARD32 Port B32;
+ CARD32 Buffer B32;
+ CARD32 SliceLength B32;
+} xvmceBufferSliceSendReq;
+#define sz_xvmceBufferSliceSendReq 16
+
#endif /* XVMCE_PROTO_H */