aboutsummaryrefslogtreecommitdiff
path: root/nexgb/xvmc/xvmc.go
diff options
context:
space:
mode:
Diffstat (limited to 'nexgb/xvmc/xvmc.go')
-rw-r--r--nexgb/xvmc/xvmc.go700
1 files changed, 350 insertions, 350 deletions
diff --git a/nexgb/xvmc/xvmc.go b/nexgb/xvmc/xvmc.go
index 0ddf369..9bcb60b 100644
--- a/nexgb/xvmc/xvmc.go
+++ b/nexgb/xvmc/xvmc.go
@@ -2,7 +2,7 @@
package xvmc
/*
- This file was generated by xvmc.xml on Jun 5 2012 12:12:00am EDT.
+ This file was generated by xvmc.xml on Aug 11 2013 8:39:44pm EDT.
This file is automatically generated. Edit at your peril!
*/
@@ -41,30 +41,6 @@ func init() {
xgb.NewExtErrorFuncs["XVideo-MotionCompensation"] = make(map[int]xgb.NewErrorFun)
}
-// Skipping definition for base type 'Card8'
-
-// Skipping definition for base type 'Int16'
-
-// Skipping definition for base type 'Int32'
-
-// Skipping definition for base type 'Void'
-
-// Skipping definition for base type 'Byte'
-
-// Skipping definition for base type 'Int8'
-
-// Skipping definition for base type 'Card16'
-
-// Skipping definition for base type 'Char'
-
-// Skipping definition for base type 'Card32'
-
-// Skipping definition for base type 'Double'
-
-// Skipping definition for base type 'Bool'
-
-// Skipping definition for base type 'Float'
-
type Context uint32
func NewContextId(c *xgb.Conn) (Context, error) {
@@ -75,24 +51,24 @@ func NewContextId(c *xgb.Conn) (Context, error) {
return Context(id), nil
}
-type Surface uint32
+type Subpicture uint32
-func NewSurfaceId(c *xgb.Conn) (Surface, error) {
+func NewSubpictureId(c *xgb.Conn) (Subpicture, error) {
id, err := c.NewId()
if err != nil {
return 0, err
}
- return Surface(id), nil
+ return Subpicture(id), nil
}
-type Subpicture uint32
+type Surface uint32
-func NewSubpictureId(c *xgb.Conn) (Subpicture, error) {
+func NewSurfaceId(c *xgb.Conn) (Surface, error) {
id, err := c.NewId()
if err != nil {
return 0, err
}
- return Subpicture(id), nil
+ return Surface(id), nil
}
type SurfaceInfo struct {
@@ -198,44 +174,71 @@ func SurfaceInfoListBytes(buf []byte, list []SurfaceInfo) int {
return b
}
-// QueryVersionCookie is a cookie used only for QueryVersion requests.
-type QueryVersionCookie struct {
+// Skipping definition for base type 'Bool'
+
+// Skipping definition for base type 'Byte'
+
+// Skipping definition for base type 'Card8'
+
+// Skipping definition for base type 'Char'
+
+// Skipping definition for base type 'Void'
+
+// Skipping definition for base type 'Double'
+
+// Skipping definition for base type 'Float'
+
+// Skipping definition for base type 'Int16'
+
+// Skipping definition for base type 'Int32'
+
+// Skipping definition for base type 'Int8'
+
+// Skipping definition for base type 'Card16'
+
+// Skipping definition for base type 'Card32'
+
+// CreateContextCookie is a cookie used only for CreateContext requests.
+type CreateContextCookie struct {
*xgb.Cookie
}
-// QueryVersion sends a checked request.
-// If an error occurs, it will be returned with the reply by calling QueryVersionCookie.Reply()
-func QueryVersion(c *xgb.Conn) QueryVersionCookie {
+// CreateContext sends a checked request.
+// If an error occurs, it will be returned with the reply by calling CreateContextCookie.Reply()
+func CreateContext(c *xgb.Conn, ContextId Context, PortId xv.Port, SurfaceId Surface, Width uint16, Height uint16, Flags uint32) CreateContextCookie {
if _, ok := c.Extensions["XVIDEO-MOTIONCOMPENSATION"]; !ok {
- panic("Cannot issue request 'QueryVersion' using the uninitialized extension 'XVideo-MotionCompensation'. xvmc.Init(connObj) must be called first.")
+ panic("Cannot issue request 'CreateContext' using the uninitialized extension 'XVideo-MotionCompensation'. xvmc.Init(connObj) must be called first.")
}
cookie := c.NewCookie(true, true)
- c.NewRequest(queryVersionRequest(c), cookie)
- return QueryVersionCookie{cookie}
+ c.NewRequest(createContextRequest(c, ContextId, PortId, SurfaceId, Width, Height, Flags), cookie)
+ return CreateContextCookie{cookie}
}
-// QueryVersionUnchecked sends an unchecked request.
+// CreateContextUnchecked sends an unchecked request.
// If an error occurs, it can only be retrieved using xgb.WaitForEvent or xgb.PollForEvent.
-func QueryVersionUnchecked(c *xgb.Conn) QueryVersionCookie {
+func CreateContextUnchecked(c *xgb.Conn, ContextId Context, PortId xv.Port, SurfaceId Surface, Width uint16, Height uint16, Flags uint32) CreateContextCookie {
if _, ok := c.Extensions["XVIDEO-MOTIONCOMPENSATION"]; !ok {
- panic("Cannot issue request 'QueryVersion' using the uninitialized extension 'XVideo-MotionCompensation'. xvmc.Init(connObj) must be called first.")
+ panic("Cannot issue request 'CreateContext' using the uninitialized extension 'XVideo-MotionCompensation'. xvmc.Init(connObj) must be called first.")
}
cookie := c.NewCookie(false, true)
- c.NewRequest(queryVersionRequest(c), cookie)
- return QueryVersionCookie{cookie}
+ c.NewRequest(createContextRequest(c, ContextId, PortId, SurfaceId, Width, Height, Flags), cookie)
+ return CreateContextCookie{cookie}
}
-// QueryVersionReply represents the data returned from a QueryVersion request.
-type QueryVersionReply struct {
+// CreateContextReply represents the data returned from a CreateContext request.
+type CreateContextReply struct {
Sequence uint16 // sequence number of the request for this reply
Length uint32 // number of bytes in this reply
// padding: 1 bytes
- Major uint32
- Minor uint32
+ WidthActual uint16
+ HeightActual uint16
+ FlagsReturn uint32
+ // padding: 20 bytes
+ PrivData []uint32 // size: xgb.Pad((int(Length) * 4))
}
-// Reply blocks and returns the reply data for a QueryVersion request.
-func (cook QueryVersionCookie) Reply() (*QueryVersionReply, error) {
+// Reply blocks and returns the reply data for a CreateContext request.
+func (cook CreateContextCookie) Reply() (*CreateContextReply, error) {
buf, err := cook.Cookie.Reply()
if err != nil {
return nil, err
@@ -243,12 +246,12 @@ func (cook QueryVersionCookie) Reply() (*QueryVersionReply, error) {
if buf == nil {
return nil, nil
}
- return queryVersionReply(buf), nil
+ return createContextReply(buf), nil
}
-// queryVersionReply reads a byte slice into a QueryVersionReply value.
-func queryVersionReply(buf []byte) *QueryVersionReply {
- v := new(QueryVersionReply)
+// createContextReply reads a byte slice into a CreateContextReply value.
+func createContextReply(buf []byte) *CreateContextReply {
+ v := new(CreateContextReply)
b := 1 // skip reply determinant
b += 1 // padding
@@ -259,73 +262,107 @@ func queryVersionReply(buf []byte) *QueryVersionReply {
v.Length = xgb.Get32(buf[b:]) // 4-byte units
b += 4
- v.Major = xgb.Get32(buf[b:])
- b += 4
+ v.WidthActual = xgb.Get16(buf[b:])
+ b += 2
- v.Minor = xgb.Get32(buf[b:])
+ v.HeightActual = xgb.Get16(buf[b:])
+ b += 2
+
+ v.FlagsReturn = xgb.Get32(buf[b:])
b += 4
+ b += 20 // padding
+
+ v.PrivData = make([]uint32, v.Length)
+ for i := 0; i < int(v.Length); i++ {
+ v.PrivData[i] = xgb.Get32(buf[b:])
+ b += 4
+ }
+ b = xgb.Pad(b)
+
return v
}
-// Write request to wire for QueryVersion
-// queryVersionRequest writes a QueryVersion request to a byte slice.
-func queryVersionRequest(c *xgb.Conn) []byte {
- size := 4
+// Write request to wire for CreateContext
+// createContextRequest writes a CreateContext request to a byte slice.
+func createContextRequest(c *xgb.Conn, ContextId Context, PortId xv.Port, SurfaceId Surface, Width uint16, Height uint16, Flags uint32) []byte {
+ size := 24
b := 0
buf := make([]byte, size)
buf[b] = c.Extensions["XVIDEO-MOTIONCOMPENSATION"]
b += 1
- buf[b] = 0 // request opcode
+ buf[b] = 2 // request opcode
b += 1
xgb.Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
b += 2
+ xgb.Put32(buf[b:], uint32(ContextId))
+ b += 4
+
+ xgb.Put32(buf[b:], uint32(PortId))
+ b += 4
+
+ xgb.Put32(buf[b:], uint32(SurfaceId))
+ b += 4
+
+ xgb.Put16(buf[b:], Width)
+ b += 2
+
+ xgb.Put16(buf[b:], Height)
+ b += 2
+
+ xgb.Put32(buf[b:], Flags)
+ b += 4
+
return buf
}
-// ListSurfaceTypesCookie is a cookie used only for ListSurfaceTypes requests.
-type ListSurfaceTypesCookie struct {
+// CreateSubpictureCookie is a cookie used only for CreateSubpicture requests.
+type CreateSubpictureCookie struct {
*xgb.Cookie
}
-// ListSurfaceTypes sends a checked request.
-// If an error occurs, it will be returned with the reply by calling ListSurfaceTypesCookie.Reply()
-func ListSurfaceTypes(c *xgb.Conn, PortId xv.Port) ListSurfaceTypesCookie {
+// CreateSubpicture sends a checked request.
+// If an error occurs, it will be returned with the reply by calling CreateSubpictureCookie.Reply()
+func CreateSubpicture(c *xgb.Conn, SubpictureId Subpicture, Context Context, XvimageId uint32, Width uint16, Height uint16) CreateSubpictureCookie {
if _, ok := c.Extensions["XVIDEO-MOTIONCOMPENSATION"]; !ok {
- panic("Cannot issue request 'ListSurfaceTypes' using the uninitialized extension 'XVideo-MotionCompensation'. xvmc.Init(connObj) must be called first.")
+ panic("Cannot issue request 'CreateSubpicture' using the uninitialized extension 'XVideo-MotionCompensation'. xvmc.Init(connObj) must be called first.")
}
cookie := c.NewCookie(true, true)
- c.NewRequest(listSurfaceTypesRequest(c, PortId), cookie)
- return ListSurfaceTypesCookie{cookie}
+ c.NewRequest(createSubpictureRequest(c, SubpictureId, Context, XvimageId, Width, Height), cookie)
+ return CreateSubpictureCookie{cookie}
}
-// ListSurfaceTypesUnchecked sends an unchecked request.
+// CreateSubpictureUnchecked sends an unchecked request.
// If an error occurs, it can only be retrieved using xgb.WaitForEvent or xgb.PollForEvent.
-func ListSurfaceTypesUnchecked(c *xgb.Conn, PortId xv.Port) ListSurfaceTypesCookie {
+func CreateSubpictureUnchecked(c *xgb.Conn, SubpictureId Subpicture, Context Context, XvimageId uint32, Width uint16, Height uint16) CreateSubpictureCookie {
if _, ok := c.Extensions["XVIDEO-MOTIONCOMPENSATION"]; !ok {
- panic("Cannot issue request 'ListSurfaceTypes' using the uninitialized extension 'XVideo-MotionCompensation'. xvmc.Init(connObj) must be called first.")
+ panic("Cannot issue request 'CreateSubpicture' using the uninitialized extension 'XVideo-MotionCompensation'. xvmc.Init(connObj) must be called first.")
}
cookie := c.NewCookie(false, true)
- c.NewRequest(listSurfaceTypesRequest(c, PortId), cookie)
- return ListSurfaceTypesCookie{cookie}
+ c.NewRequest(createSubpictureRequest(c, SubpictureId, Context, XvimageId, Width, Height), cookie)
+ return CreateSubpictureCookie{cookie}
}
-// ListSurfaceTypesReply represents the data returned from a ListSurfaceTypes request.
-type ListSurfaceTypesReply struct {
+// CreateSubpictureReply represents the data returned from a CreateSubpicture request.
+type CreateSubpictureReply struct {
Sequence uint16 // sequence number of the request for this reply
Length uint32 // number of bytes in this reply
// padding: 1 bytes
- Num uint32
- // padding: 20 bytes
- Surfaces []SurfaceInfo // size: xgb.Pad((int(Num) * 24))
+ WidthActual uint16
+ HeightActual uint16
+ NumPaletteEntries uint16
+ EntryBytes uint16
+ ComponentOrder []byte // size: 4
+ // padding: 12 bytes
+ PrivData []uint32 // size: xgb.Pad((int(Length) * 4))
}
-// Reply blocks and returns the reply data for a ListSurfaceTypes request.
-func (cook ListSurfaceTypesCookie) Reply() (*ListSurfaceTypesReply, error) {
+// Reply blocks and returns the reply data for a CreateSubpicture request.
+func (cook CreateSubpictureCookie) Reply() (*CreateSubpictureReply, error) {
buf, err := cook.Cookie.Reply()
if err != nil {
return nil, err
@@ -333,12 +370,12 @@ func (cook ListSurfaceTypesCookie) Reply() (*ListSurfaceTypesReply, error) {
if buf == nil {
return nil, nil
}
- return listSurfaceTypesReply(buf), nil
+ return createSubpictureReply(buf), nil
}
-// listSurfaceTypesReply reads a byte slice into a ListSurfaceTypesReply value.
-func listSurfaceTypesReply(buf []byte) *ListSurfaceTypesReply {
- v := new(ListSurfaceTypesReply)
+// createSubpictureReply reads a byte slice into a CreateSubpictureReply value.
+func createSubpictureReply(buf []byte) *CreateSubpictureReply {
+ v := new(CreateSubpictureReply)
b := 1 // skip reply determinant
b += 1 // padding
@@ -349,80 +386,106 @@ func listSurfaceTypesReply(buf []byte) *ListSurfaceTypesReply {
v.Length = xgb.Get32(buf[b:]) // 4-byte units
b += 4
- v.Num = xgb.Get32(buf[b:])
- b += 4
+ v.WidthActual = xgb.Get16(buf[b:])
+ b += 2
- b += 20 // padding
+ v.HeightActual = xgb.Get16(buf[b:])
+ b += 2
- v.Surfaces = make([]SurfaceInfo, v.Num)
- b += SurfaceInfoReadList(buf[b:], v.Surfaces)
+ v.NumPaletteEntries = xgb.Get16(buf[b:])
+ b += 2
+
+ v.EntryBytes = xgb.Get16(buf[b:])
+ b += 2
+
+ v.ComponentOrder = make([]byte, 4)
+ copy(v.ComponentOrder[:4], buf[b:])
+ b += xgb.Pad(int(4))
+
+ b += 12 // padding
+
+ v.PrivData = make([]uint32, v.Length)
+ for i := 0; i < int(v.Length); i++ {
+ v.PrivData[i] = xgb.Get32(buf[b:])
+ b += 4
+ }
+ b = xgb.Pad(b)
return v
}
-// Write request to wire for ListSurfaceTypes
-// listSurfaceTypesRequest writes a ListSurfaceTypes request to a byte slice.
-func listSurfaceTypesRequest(c *xgb.Conn, PortId xv.Port) []byte {
- size := 8
+// Write request to wire for CreateSubpicture
+// createSubpictureRequest writes a CreateSubpicture request to a byte slice.
+func createSubpictureRequest(c *xgb.Conn, SubpictureId Subpicture, Context Context, XvimageId uint32, Width uint16, Height uint16) []byte {
+ size := 20
b := 0
buf := make([]byte, size)
buf[b] = c.Extensions["XVIDEO-MOTIONCOMPENSATION"]
b += 1
- buf[b] = 1 // request opcode
+ buf[b] = 6 // request opcode
b += 1
xgb.Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
b += 2
- xgb.Put32(buf[b:], uint32(PortId))
+ xgb.Put32(buf[b:], uint32(SubpictureId))
+ b += 4
+
+ xgb.Put32(buf[b:], uint32(Context))
+ b += 4
+
+ xgb.Put32(buf[b:], XvimageId)
b += 4
+ xgb.Put16(buf[b:], Width)
+ b += 2
+
+ xgb.Put16(buf[b:], Height)
+ b += 2
+
return buf
}
-// CreateContextCookie is a cookie used only for CreateContext requests.
-type CreateContextCookie struct {
+// CreateSurfaceCookie is a cookie used only for CreateSurface requests.
+type CreateSurfaceCookie struct {
*xgb.Cookie
}
-// CreateContext sends a checked request.
-// If an error occurs, it will be returned with the reply by calling CreateContextCookie.Reply()
-func CreateContext(c *xgb.Conn, ContextId Context, PortId xv.Port, SurfaceId Surface, Width uint16, Height uint16, Flags uint32) CreateContextCookie {
+// CreateSurface sends a checked request.
+// If an error occurs, it will be returned with the reply by calling CreateSurfaceCookie.Reply()
+func CreateSurface(c *xgb.Conn, SurfaceId Surface, ContextId Context) CreateSurfaceCookie {
if _, ok := c.Extensions["XVIDEO-MOTIONCOMPENSATION"]; !ok {
- panic("Cannot issue request 'CreateContext' using the uninitialized extension 'XVideo-MotionCompensation'. xvmc.Init(connObj) must be called first.")
+ panic("Cannot issue request 'CreateSurface' using the uninitialized extension 'XVideo-MotionCompensation'. xvmc.Init(connObj) must be called first.")
}
cookie := c.NewCookie(true, true)
- c.NewRequest(createContextRequest(c, ContextId, PortId, SurfaceId, Width, Height, Flags), cookie)
- return CreateContextCookie{cookie}
+ c.NewRequest(createSurfaceRequest(c, SurfaceId, ContextId), cookie)
+ return CreateSurfaceCookie{cookie}
}
-// CreateContextUnchecked sends an unchecked request.
+// CreateSurfaceUnchecked sends an unchecked request.
// If an error occurs, it can only be retrieved using xgb.WaitForEvent or xgb.PollForEvent.
-func CreateContextUnchecked(c *xgb.Conn, ContextId Context, PortId xv.Port, SurfaceId Surface, Width uint16, Height uint16, Flags uint32) CreateContextCookie {
+func CreateSurfaceUnchecked(c *xgb.Conn, SurfaceId Surface, ContextId Context) CreateSurfaceCookie {
if _, ok := c.Extensions["XVIDEO-MOTIONCOMPENSATION"]; !ok {
- panic("Cannot issue request 'CreateContext' using the uninitialized extension 'XVideo-MotionCompensation'. xvmc.Init(connObj) must be called first.")
+ panic("Cannot issue request 'CreateSurface' using the uninitialized extension 'XVideo-MotionCompensation'. xvmc.Init(connObj) must be called first.")
}
cookie := c.NewCookie(false, true)
- c.NewRequest(createContextRequest(c, ContextId, PortId, SurfaceId, Width, Height, Flags), cookie)
- return CreateContextCookie{cookie}
+ c.NewRequest(createSurfaceRequest(c, SurfaceId, ContextId), cookie)
+ return CreateSurfaceCookie{cookie}
}
-// CreateContextReply represents the data returned from a CreateContext request.
-type CreateContextReply struct {
+// CreateSurfaceReply represents the data returned from a CreateSurface request.
+type CreateSurfaceReply struct {
Sequence uint16 // sequence number of the request for this reply
Length uint32 // number of bytes in this reply
// padding: 1 bytes
- WidthActual uint16
- HeightActual uint16
- FlagsReturn uint32
- // padding: 20 bytes
+ // padding: 24 bytes
PrivData []uint32 // size: xgb.Pad((int(Length) * 4))
}
-// Reply blocks and returns the reply data for a CreateContext request.
-func (cook CreateContextCookie) Reply() (*CreateContextReply, error) {
+// Reply blocks and returns the reply data for a CreateSurface request.
+func (cook CreateSurfaceCookie) Reply() (*CreateSurfaceReply, error) {
buf, err := cook.Cookie.Reply()
if err != nil {
return nil, err
@@ -430,12 +493,12 @@ func (cook CreateContextCookie) Reply() (*CreateContextReply, error) {
if buf == nil {
return nil, nil
}
- return createContextReply(buf), nil
+ return createSurfaceReply(buf), nil
}
-// createContextReply reads a byte slice into a CreateContextReply value.
-func createContextReply(buf []byte) *CreateContextReply {
- v := new(CreateContextReply)
+// createSurfaceReply reads a byte slice into a CreateSurfaceReply value.
+func createSurfaceReply(buf []byte) *CreateSurfaceReply {
+ v := new(CreateSurfaceReply)
b := 1 // skip reply determinant
b += 1 // padding
@@ -446,16 +509,7 @@ func createContextReply(buf []byte) *CreateContextReply {
v.Length = xgb.Get32(buf[b:]) // 4-byte units
b += 4
- v.WidthActual = xgb.Get16(buf[b:])
- b += 2
-
- v.HeightActual = xgb.Get16(buf[b:])
- b += 2
-
- v.FlagsReturn = xgb.Get32(buf[b:])
- b += 4
-
- b += 20 // padding
+ b += 24 // padding
v.PrivData = make([]uint32, v.Length)
for i := 0; i < int(v.Length); i++ {
@@ -467,38 +521,26 @@ func createContextReply(buf []byte) *CreateContextReply {
return v
}
-// Write request to wire for CreateContext
-// createContextRequest writes a CreateContext request to a byte slice.
-func createContextRequest(c *xgb.Conn, ContextId Context, PortId xv.Port, SurfaceId Surface, Width uint16, Height uint16, Flags uint32) []byte {
- size := 24
+// Write request to wire for CreateSurface
+// createSurfaceRequest writes a CreateSurface request to a byte slice.
+func createSurfaceRequest(c *xgb.Conn, SurfaceId Surface, ContextId Context) []byte {
+ size := 12
b := 0
buf := make([]byte, size)
buf[b] = c.Extensions["XVIDEO-MOTIONCOMPENSATION"]
b += 1
- buf[b] = 2 // request opcode
+ buf[b] = 4 // request opcode
b += 1
xgb.Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
b += 2
- xgb.Put32(buf[b:], uint32(ContextId))
- b += 4
-
- xgb.Put32(buf[b:], uint32(PortId))
- b += 4
-
xgb.Put32(buf[b:], uint32(SurfaceId))
b += 4
- xgb.Put16(buf[b:], Width)
- b += 2
-
- xgb.Put16(buf[b:], Height)
- b += 2
-
- xgb.Put32(buf[b:], Flags)
+ xgb.Put32(buf[b:], uint32(ContextId))
b += 4
return buf
@@ -559,99 +601,56 @@ func destroyContextRequest(c *xgb.Conn, ContextId Context) []byte {
return buf
}
-// CreateSurfaceCookie is a cookie used only for CreateSurface requests.
-type CreateSurfaceCookie struct {
+// DestroySubpictureCookie is a cookie used only for DestroySubpicture requests.
+type DestroySubpictureCookie struct {
*xgb.Cookie
}
-// CreateSurface sends a checked request.
-// If an error occurs, it will be returned with the reply by calling CreateSurfaceCookie.Reply()
-func CreateSurface(c *xgb.Conn, SurfaceId Surface, ContextId Context) CreateSurfaceCookie {
- if _, ok := c.Extensions["XVIDEO-MOTIONCOMPENSATION"]; !ok {
- panic("Cannot issue request 'CreateSurface' using the uninitialized extension 'XVideo-MotionCompensation'. xvmc.Init(connObj) must be called first.")
- }
- cookie := c.NewCookie(true, true)
- c.NewRequest(createSurfaceRequest(c, SurfaceId, ContextId), cookie)
- return CreateSurfaceCookie{cookie}
-}
-
-// CreateSurfaceUnchecked sends an unchecked request.
+// DestroySubpicture sends an unchecked request.
// If an error occurs, it can only be retrieved using xgb.WaitForEvent or xgb.PollForEvent.
-func CreateSurfaceUnchecked(c *xgb.Conn, SurfaceId Surface, ContextId Context) CreateSurfaceCookie {
+func DestroySubpicture(c *xgb.Conn, SubpictureId Subpicture) DestroySubpictureCookie {
if _, ok := c.Extensions["XVIDEO-MOTIONCOMPENSATION"]; !ok {
- panic("Cannot issue request 'CreateSurface' using the uninitialized extension 'XVideo-MotionCompensation'. xvmc.Init(connObj) must be called first.")
+ panic("Cannot issue request 'DestroySubpicture' using the uninitialized extension 'XVideo-MotionCompensation'. xvmc.Init(connObj) must be called first.")
}
- cookie := c.NewCookie(false, true)
- c.NewRequest(createSurfaceRequest(c, SurfaceId, ContextId), cookie)
- return CreateSurfaceCookie{cookie}
-}
-
-// CreateSurfaceReply represents the data returned from a CreateSurface request.
-type CreateSurfaceReply struct {
- Sequence uint16 // sequence number of the request for this reply
- Length uint32 // number of bytes in this reply
- // padding: 1 bytes
- // padding: 24 bytes
- PrivData []uint32 // size: xgb.Pad((int(Length) * 4))
+ cookie := c.NewCookie(false, false)
+ c.NewRequest(destroySubpictureRequest(c, SubpictureId), cookie)
+ return DestroySubpictureCookie{cookie}
}
-// Reply blocks and returns the reply data for a CreateSurface request.
-func (cook CreateSurfaceCookie) Reply() (*CreateSurfaceReply, error) {
- buf, err := cook.Cookie.Reply()
- if err != nil {
- return nil, err
- }
- if buf == nil {
- return nil, nil
+// DestroySubpictureChecked sends a checked request.
+// If an error occurs, it can be retrieved using DestroySubpictureCookie.Check()
+func DestroySubpictureChecked(c *xgb.Conn, SubpictureId Subpicture) DestroySubpictureCookie {
+ if _, ok := c.Extensions["XVIDEO-MOTIONCOMPENSATION"]; !ok {
+ panic("Cannot issue request 'DestroySubpicture' using the uninitialized extension 'XVideo-MotionCompensation'. xvmc.Init(connObj) must be called first.")
}
- return createSurfaceReply(buf), nil
+ cookie := c.NewCookie(true, false)
+ c.NewRequest(destroySubpictureRequest(c, SubpictureId), cookie)
+ return DestroySubpictureCookie{cookie}
}
-// createSurfaceReply reads a byte slice into a CreateSurfaceReply value.
-func createSurfaceReply(buf []byte) *CreateSurfaceReply {
- v := new(CreateSurfaceReply)
- b := 1 // skip reply determinant
-
- b += 1 // padding
-
- v.Sequence = xgb.Get16(buf[b:])
- b += 2
-
- v.Length = xgb.Get32(buf[b:]) // 4-byte units
- b += 4
-
- b += 24 // padding
-
- v.PrivData = make([]uint32, v.Length)
- for i := 0; i < int(v.Length); i++ {
- v.PrivData[i] = xgb.Get32(buf[b:])
- b += 4
- }
- b = xgb.Pad(b)
-
- return v
+// Check returns an error if one occurred for checked requests that are not expecting a reply.
+// This cannot be called for requests expecting a reply, nor for unchecked requests.
+func (cook DestroySubpictureCookie) Check() error {
+ return cook.Cookie.Check()
}
-// Write request to wire for CreateSurface
-// createSurfaceRequest writes a CreateSurface request to a byte slice.
-func createSurfaceRequest(c *xgb.Conn, SurfaceId Surface, ContextId Context) []byte {
- size := 12
+// Write request to wire for DestroySubpicture
+// destroySubpictureRequest writes a DestroySubpicture request to a byte slice.
+func destroySubpictureRequest(c *xgb.Conn, SubpictureId Subpicture) []byte {
+ size := 8
b := 0
buf := make([]byte, size)
buf[b] = c.Extensions["XVIDEO-MOTIONCOMPENSATION"]
b += 1
- buf[b] = 4 // request opcode
+ buf[b] = 7 // request opcode
b += 1
xgb.Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
b += 2
- xgb.Put32(buf[b:], uint32(SurfaceId))
- b += 4
-
- xgb.Put32(buf[b:], uint32(ContextId))
+ xgb.Put32(buf[b:], uint32(SubpictureId))
b += 4
return buf
@@ -712,49 +711,45 @@ func destroySurfaceRequest(c *xgb.Conn, SurfaceId Surface) []byte {
return buf
}
-// CreateSubpictureCookie is a cookie used only for CreateSubpicture requests.
-type CreateSubpictureCookie struct {
+// ListSubpictureTypesCookie is a cookie used only for ListSubpictureTypes requests.
+type ListSubpictureTypesCookie struct {
*xgb.Cookie
}
-// CreateSubpicture sends a checked request.
-// If an error occurs, it will be returned with the reply by calling CreateSubpictureCookie.Reply()
-func CreateSubpicture(c *xgb.Conn, SubpictureId Subpicture, Context Context, XvimageId uint32, Width uint16, Height uint16) CreateSubpictureCookie {
+// ListSubpictureTypes sends a checked request.
+// If an error occurs, it will be returned with the reply by calling ListSubpictureTypesCookie.Reply()
+func ListSubpictureTypes(c *xgb.Conn, PortId xv.Port, SurfaceId Surface) ListSubpictureTypesCookie {
if _, ok := c.Extensions["XVIDEO-MOTIONCOMPENSATION"]; !ok {
- panic("Cannot issue request 'CreateSubpicture' using the uninitialized extension 'XVideo-MotionCompensation'. xvmc.Init(connObj) must be called first.")
+ panic("Cannot issue request 'ListSubpictureTypes' using the uninitialized extension 'XVideo-MotionCompensation'. xvmc.Init(connObj) must be called first.")
}
cookie := c.NewCookie(true, true)
- c.NewRequest(createSubpictureRequest(c, SubpictureId, Context, XvimageId, Width, Height), cookie)
- return CreateSubpictureCookie{cookie}
+ c.NewRequest(listSubpictureTypesRequest(c, PortId, SurfaceId), cookie)
+ return ListSubpictureTypesCookie{cookie}
}
-// CreateSubpictureUnchecked sends an unchecked request.
+// ListSubpictureTypesUnchecked sends an unchecked request.
// If an error occurs, it can only be retrieved using xgb.WaitForEvent or xgb.PollForEvent.
-func CreateSubpictureUnchecked(c *xgb.Conn, SubpictureId Subpicture, Context Context, XvimageId uint32, Width uint16, Height uint16) CreateSubpictureCookie {
+func ListSubpictureTypesUnchecked(c *xgb.Conn, PortId xv.Port, SurfaceId Surface) ListSubpictureTypesCookie {
if _, ok := c.Extensions["XVIDEO-MOTIONCOMPENSATION"]; !ok {
- panic("Cannot issue request 'CreateSubpicture' using the uninitialized extension 'XVideo-MotionCompensation'. xvmc.Init(connObj) must be called first.")
+ panic("Cannot issue request 'ListSubpictureTypes' using the uninitialized extension 'XVideo-MotionCompensation'. xvmc.Init(connObj) must be called first.")
}
cookie := c.NewCookie(false, true)
- c.NewRequest(createSubpictureRequest(c, SubpictureId, Context, XvimageId, Width, Height), cookie)
- return CreateSubpictureCookie{cookie}
+ c.NewRequest(listSubpictureTypesRequest(c, PortId, SurfaceId), cookie)
+ return ListSubpictureTypesCookie{cookie}
}
-// CreateSubpictureReply represents the data returned from a CreateSubpicture request.
-type CreateSubpictureReply struct {
+// ListSubpictureTypesReply represents the data returned from a ListSubpictureTypes request.
+type ListSubpictureTypesReply struct {
Sequence uint16 // sequence number of the request for this reply
Length uint32 // number of bytes in this reply
// padding: 1 bytes
- WidthActual uint16
- HeightActual uint16
- NumPaletteEntries uint16
- EntryBytes uint16
- ComponentOrder []byte // size: 4
- // padding: 12 bytes
- PrivData []uint32 // size: xgb.Pad((int(Length) * 4))
+ Num uint32
+ // padding: 20 bytes
+ Types []xv.ImageFormatInfo // size: xv.ImageFormatInfoListSize(Types)
}
-// Reply blocks and returns the reply data for a CreateSubpicture request.
-func (cook CreateSubpictureCookie) Reply() (*CreateSubpictureReply, error) {
+// Reply blocks and returns the reply data for a ListSubpictureTypes request.
+func (cook ListSubpictureTypesCookie) Reply() (*ListSubpictureTypesReply, error) {
buf, err := cook.Cookie.Reply()
if err != nil {
return nil, err
@@ -762,12 +757,12 @@ func (cook CreateSubpictureCookie) Reply() (*CreateSubpictureReply, error) {
if buf == nil {
return nil, nil
}
- return createSubpictureReply(buf), nil
+ return listSubpictureTypesReply(buf), nil
}
-// createSubpictureReply reads a byte slice into a CreateSubpictureReply value.
-func createSubpictureReply(buf []byte) *CreateSubpictureReply {
- v := new(CreateSubpictureReply)
+// listSubpictureTypesReply reads a byte slice into a ListSubpictureTypesReply value.
+func listSubpictureTypesReply(buf []byte) *ListSubpictureTypesReply {
+ v := new(ListSubpictureTypesReply)
b := 1 // skip reply determinant
b += 1 // padding
@@ -778,104 +773,118 @@ func createSubpictureReply(buf []byte) *CreateSubpictureReply {
v.Length = xgb.Get32(buf[b:]) // 4-byte units
b += 4
- v.WidthActual = xgb.Get16(buf[b:])
- b += 2
-
- v.HeightActual = xgb.Get16(buf[b:])
- b += 2
-
- v.NumPaletteEntries = xgb.Get16(buf[b:])
- b += 2
-
- v.EntryBytes = xgb.Get16(buf[b:])
- b += 2
-
- v.ComponentOrder = make([]byte, 4)
- copy(v.ComponentOrder[:4], buf[b:])
- b += xgb.Pad(int(4))
+ v.Num = xgb.Get32(buf[b:])
+ b += 4
- b += 12 // padding
+ b += 20 // padding
- v.PrivData = make([]uint32, v.Length)
- for i := 0; i < int(v.Length); i++ {
- v.PrivData[i] = xgb.Get32(buf[b:])
- b += 4
- }
- b = xgb.Pad(b)
+ v.Types = make([]xv.ImageFormatInfo, v.Num)
+ b += xv.ImageFormatInfoReadList(buf[b:], v.Types)
return v
}
-// Write request to wire for CreateSubpicture
-// createSubpictureRequest writes a CreateSubpicture request to a byte slice.
-func createSubpictureRequest(c *xgb.Conn, SubpictureId Subpicture, Context Context, XvimageId uint32, Width uint16, Height uint16) []byte {
- size := 20
+// Write request to wire for ListSubpictureTypes
+// listSubpictureTypesRequest writes a ListSubpictureTypes request to a byte slice.
+func listSubpictureTypesRequest(c *xgb.Conn, PortId xv.Port, SurfaceId Surface) []byte {
+ size := 12
b := 0
buf := make([]byte, size)
buf[b] = c.Extensions["XVIDEO-MOTIONCOMPENSATION"]
b += 1
- buf[b] = 6 // request opcode
+ buf[b] = 8 // request opcode
b += 1
xgb.Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
b += 2
- xgb.Put32(buf[b:], uint32(SubpictureId))
- b += 4
-
- xgb.Put32(buf[b:], uint32(Context))
+ xgb.Put32(buf[b:], uint32(PortId))
b += 4
- xgb.Put32(buf[b:], XvimageId)
+ xgb.Put32(buf[b:], uint32(SurfaceId))
b += 4
- xgb.Put16(buf[b:], Width)
- b += 2
-
- xgb.Put16(buf[b:], Height)
- b += 2
-
return buf
}
-// DestroySubpictureCookie is a cookie used only for DestroySubpicture requests.
-type DestroySubpictureCookie struct {
+// ListSurfaceTypesCookie is a cookie used only for ListSurfaceTypes requests.
+type ListSurfaceTypesCookie struct {
*xgb.Cookie
}
-// DestroySubpicture sends an unchecked request.
-// If an error occurs, it can only be retrieved using xgb.WaitForEvent or xgb.PollForEvent.
-func DestroySubpicture(c *xgb.Conn, SubpictureId Subpicture) DestroySubpictureCookie {
+// ListSurfaceTypes sends a checked request.
+// If an error occurs, it will be returned with the reply by calling ListSurfaceTypesCookie.Reply()
+func ListSurfaceTypes(c *xgb.Conn, PortId xv.Port) ListSurfaceTypesCookie {
if _, ok := c.Extensions["XVIDEO-MOTIONCOMPENSATION"]; !ok {
- panic("Cannot issue request 'DestroySubpicture' using the uninitialized extension 'XVideo-MotionCompensation'. xvmc.Init(connObj) must be called first.")
+ panic("Cannot issue request 'ListSurfaceTypes' using the uninitialized extension 'XVideo-MotionCompensation'. xvmc.Init(connObj) must be called first.")
}
- cookie := c.NewCookie(false, false)
- c.NewRequest(destroySubpictureRequest(c, SubpictureId), cookie)
- return DestroySubpictureCookie{cookie}
+ cookie := c.NewCookie(true, true)
+ c.NewRequest(listSurfaceTypesRequest(c, PortId), cookie)
+ return ListSurfaceTypesCookie{cookie}
}
-// DestroySubpictureChecked sends a checked request.
-// If an error occurs, it can be retrieved using DestroySubpictureCookie.Check()
-func DestroySubpictureChecked(c *xgb.Conn, SubpictureId Subpicture) DestroySubpictureCookie {
+// ListSurfaceTypesUnchecked sends an unchecked request.
+// If an error occurs, it can only be retrieved using xgb.WaitForEvent or xgb.PollForEvent.
+func ListSurfaceTypesUnchecked(c *xgb.Conn, PortId xv.Port) ListSurfaceTypesCookie {
if _, ok := c.Extensions["XVIDEO-MOTIONCOMPENSATION"]; !ok {
- panic("Cannot issue request 'DestroySubpicture' using the uninitialized extension 'XVideo-MotionCompensation'. xvmc.Init(connObj) must be called first.")
+ panic("Cannot issue request 'ListSurfaceTypes' using the uninitialized extension 'XVideo-MotionCompensation'. xvmc.Init(connObj) must be called first.")
}
- cookie := c.NewCookie(true, false)
- c.NewRequest(destroySubpictureRequest(c, SubpictureId), cookie)
- return DestroySubpictureCookie{cookie}
+ cookie := c.NewCookie(false, true)
+ c.NewRequest(listSurfaceTypesRequest(c, PortId), cookie)
+ return ListSurfaceTypesCookie{cookie}
}
-// Check returns an error if one occurred for checked requests that are not expecting a reply.
-// This cannot be called for requests expecting a reply, nor for unchecked requests.
-func (cook DestroySubpictureCookie) Check() error {
- return cook.Cookie.Check()
+// ListSurfaceTypesReply represents the data returned from a ListSurfaceTypes request.
+type ListSurfaceTypesReply struct {
+ Sequence uint16 // sequence number of the request for this reply
+ Length uint32 // number of bytes in this reply
+ // padding: 1 bytes
+ Num uint32
+ // padding: 20 bytes
+ Surfaces []SurfaceInfo // size: xgb.Pad((int(Num) * 24))
}
-// Write request to wire for DestroySubpicture
-// destroySubpictureRequest writes a DestroySubpicture request to a byte slice.
-func destroySubpictureRequest(c *xgb.Conn, SubpictureId Subpicture) []byte {
+// Reply blocks and returns the reply data for a ListSurfaceTypes request.
+func (cook ListSurfaceTypesCookie) Reply() (*ListSurfaceTypesReply, error) {
+ buf, err := cook.Cookie.Reply()
+ if err != nil {
+ return nil, err
+ }
+ if buf == nil {
+ return nil, nil
+ }
+ return listSurfaceTypesReply(buf), nil
+}
+
+// listSurfaceTypesReply reads a byte slice into a ListSurfaceTypesReply value.
+func listSurfaceTypesReply(buf []byte) *ListSurfaceTypesReply {
+ v := new(ListSurfaceTypesReply)
+ b := 1 // skip reply determinant
+
+ b += 1 // padding
+
+ v.Sequence = xgb.Get16(buf[b:])
+ b += 2
+
+ v.Length = xgb.Get32(buf[b:]) // 4-byte units
+ b += 4
+
+ v.Num = xgb.Get32(buf[b:])
+ b += 4
+
+ b += 20 // padding
+
+ v.Surfaces = make([]SurfaceInfo, v.Num)
+ b += SurfaceInfoReadList(buf[b:], v.Surfaces)
+
+ return v
+}
+
+// Write request to wire for ListSurfaceTypes
+// listSurfaceTypesRequest writes a ListSurfaceTypes request to a byte slice.
+func listSurfaceTypesRequest(c *xgb.Conn, PortId xv.Port) []byte {
size := 8
b := 0
buf := make([]byte, size)
@@ -883,57 +892,56 @@ func destroySubpictureRequest(c *xgb.Conn, SubpictureId Subpicture) []byte {
buf[b] = c.Extensions["XVIDEO-MOTIONCOMPENSATION"]
b += 1
- buf[b] = 7 // request opcode
+ buf[b] = 1 // request opcode
b += 1
xgb.Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
b += 2
- xgb.Put32(buf[b:], uint32(SubpictureId))
+ xgb.Put32(buf[b:], uint32(PortId))
b += 4
return buf
}
-// ListSubpictureTypesCookie is a cookie used only for ListSubpictureTypes requests.
-type ListSubpictureTypesCookie struct {
+// QueryVersionCookie is a cookie used only for QueryVersion requests.
+type QueryVersionCookie struct {
*xgb.Cookie
}
-// ListSubpictureTypes sends a checked request.
-// If an error occurs, it will be returned with the reply by calling ListSubpictureTypesCookie.Reply()
-func ListSubpictureTypes(c *xgb.Conn, PortId xv.Port, SurfaceId Surface) ListSubpictureTypesCookie {
+// QueryVersion sends a checked request.
+// If an error occurs, it will be returned with the reply by calling QueryVersionCookie.Reply()
+func QueryVersion(c *xgb.Conn) QueryVersionCookie {
if _, ok := c.Extensions["XVIDEO-MOTIONCOMPENSATION"]; !ok {
- panic("Cannot issue request 'ListSubpictureTypes' using the uninitialized extension 'XVideo-MotionCompensation'. xvmc.Init(connObj) must be called first.")
+ panic("Cannot issue request 'QueryVersion' using the uninitialized extension 'XVideo-MotionCompensation'. xvmc.Init(connObj) must be called first.")
}
cookie := c.NewCookie(true, true)
- c.NewRequest(listSubpictureTypesRequest(c, PortId, SurfaceId), cookie)
- return ListSubpictureTypesCookie{cookie}
+ c.NewRequest(queryVersionRequest(c), cookie)
+ return QueryVersionCookie{cookie}
}
-// ListSubpictureTypesUnchecked sends an unchecked request.
+// QueryVersionUnchecked sends an unchecked request.
// If an error occurs, it can only be retrieved using xgb.WaitForEvent or xgb.PollForEvent.
-func ListSubpictureTypesUnchecked(c *xgb.Conn, PortId xv.Port, SurfaceId Surface) ListSubpictureTypesCookie {
+func QueryVersionUnchecked(c *xgb.Conn) QueryVersionCookie {
if _, ok := c.Extensions["XVIDEO-MOTIONCOMPENSATION"]; !ok {
- panic("Cannot issue request 'ListSubpictureTypes' using the uninitialized extension 'XVideo-MotionCompensation'. xvmc.Init(connObj) must be called first.")
+ panic("Cannot issue request 'QueryVersion' using the uninitialized extension 'XVideo-MotionCompensation'. xvmc.Init(connObj) must be called first.")
}
cookie := c.NewCookie(false, true)
- c.NewRequest(listSubpictureTypesRequest(c, PortId, SurfaceId), cookie)
- return ListSubpictureTypesCookie{cookie}
+ c.NewRequest(queryVersionRequest(c), cookie)
+ return QueryVersionCookie{cookie}
}
-// ListSubpictureTypesReply represents the data returned from a ListSubpictureTypes request.
-type ListSubpictureTypesReply struct {
+// QueryVersionReply represents the data returned from a QueryVersion request.
+type QueryVersionReply struct {
Sequence uint16 // sequence number of the request for this reply
Length uint32 // number of bytes in this reply
// padding: 1 bytes
- Num uint32
- // padding: 20 bytes
- Types []xv.ImageFormatInfo // size: xv.ImageFormatInfoListSize(Types)
+ Major uint32
+ Minor uint32
}
-// Reply blocks and returns the reply data for a ListSubpictureTypes request.
-func (cook ListSubpictureTypesCookie) Reply() (*ListSubpictureTypesReply, error) {
+// Reply blocks and returns the reply data for a QueryVersion request.
+func (cook QueryVersionCookie) Reply() (*QueryVersionReply, error) {
buf, err := cook.Cookie.Reply()
if err != nil {
return nil, err
@@ -941,12 +949,12 @@ func (cook ListSubpictureTypesCookie) Reply() (*ListSubpictureTypesReply, error)
if buf == nil {
return nil, nil
}
- return listSubpictureTypesReply(buf), nil
+ return queryVersionReply(buf), nil
}
-// listSubpictureTypesReply reads a byte slice into a ListSubpictureTypesReply value.
-func listSubpictureTypesReply(buf []byte) *ListSubpictureTypesReply {
- v := new(ListSubpictureTypesReply)
+// queryVersionReply reads a byte slice into a QueryVersionReply value.
+func queryVersionReply(buf []byte) *QueryVersionReply {
+ v := new(QueryVersionReply)
b := 1 // skip reply determinant
b += 1 // padding
@@ -957,38 +965,30 @@ func listSubpictureTypesReply(buf []byte) *ListSubpictureTypesReply {
v.Length = xgb.Get32(buf[b:]) // 4-byte units
b += 4
- v.Num = xgb.Get32(buf[b:])
+ v.Major = xgb.Get32(buf[b:])
b += 4
- b += 20 // padding
-
- v.Types = make([]xv.ImageFormatInfo, v.Num)
- b += xv.ImageFormatInfoReadList(buf[b:], v.Types)
+ v.Minor = xgb.Get32(buf[b:])
+ b += 4
return v
}
-// Write request to wire for ListSubpictureTypes
-// listSubpictureTypesRequest writes a ListSubpictureTypes request to a byte slice.
-func listSubpictureTypesRequest(c *xgb.Conn, PortId xv.Port, SurfaceId Surface) []byte {
- size := 12
+// Write request to wire for QueryVersion
+// queryVersionRequest writes a QueryVersion request to a byte slice.
+func queryVersionRequest(c *xgb.Conn) []byte {
+ size := 4
b := 0
buf := make([]byte, size)
buf[b] = c.Extensions["XVIDEO-MOTIONCOMPENSATION"]
b += 1
- buf[b] = 8 // request opcode
+ buf[b] = 0 // request opcode
b += 1
xgb.Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
b += 2
- xgb.Put32(buf[b:], uint32(PortId))
- b += 4
-
- xgb.Put32(buf[b:], uint32(SurfaceId))
- b += 4
-
return buf
}