GLREADVIDEOPIXELSSUN(3gl)GLREADVIDEOPIXELSSUN(3gl)NAME
glReadVideoPixelsSUN - read a block of post-convolved, filtered pixels
C SPECIFICATION
void glReadVideoPixelsSUN( GLint x,
GLint y,
GLsizei width,
GLsizei height,
GLenum format,
GLenum type,
GLvoid *pixels )
PARAMETERS
x, y Specify the window coordinates of the first pixel that is read
from the frame buffer. This location is the lower left corner of
a rectangular block of pixels.
width, height
Specify the dimensions of the pixel rectangle. width and height
of one correspond to a single pixel.
format
Specifies the format of the pixel data. The following symbolic
values are accepted: GL_RGB, GL_BGR, GL_BGRA, GL_RGB_DEGAMMA_SUN,
GL_BGR_DEGAMMA_SUN, and GL_BGRA_DEGAMMA_SUN
type Specifies the data type of the pixel data. The following are
accepted: GL_UNSIGNED_BYTE and GL_UNSIGNED_INT_8_8_8_8_REV
pixels
Returns the pixel data.
DESCRIPTION
glReadVideoPixelsSUN uses the video read-back path available on
XVR-4000 to read the post-convolved pixel data starting with the pixel
at location (x, y) into client memory starting at location pixels.
Which buffer to read the video data from, can be specified with glRead‐
Buffer call. Currently all front buffers, i.e., GL_LEFT, GL_FRONT,
GL_FRONT_LEFT, GL_RIGHT, GL_FRONT_RIGHT are supported. The returned
pixel format can be GL_RGB, GL_BGR or GL_BGRA. By default glRead‐
VideoPixelsSUN returns gamma-corrected pixels. To get non-gamma cor‐
rected pixels glReadVideoPixelsSUN supports corresponding degamma for‐
mats: GL_RGB_DEGAMMA_SUN, GL_BGR_DEGAMMA_SUN and GL_BGRA_DEGAMMA_SUN.
When these degamma formats are used glReadVideoPixelsSUN does degamma
before returning the pixels. The type of the pixels returned can be
GL_UNSIGNED_BYTE or GL_UNSIGNED_INT_8_8_8_8_REV. Type
GL_UNSIGNED_INT_8_8_8_8_REV can only be used with format GL_BGRA or
GL_BGRA_DEGAMMA_SUN. The alpha value returned for format GL_BGRA or
GL_BGRA_DEGAMMA_SUN is always 1. The size of the pixel rectangle is
specified using width and height arguments.
glReadVideoPixelsSUN returns values from each pixel with lower left
corner at (x + i, y + j) for 0≤i<width and 0≤j<height. Pixels are
returned in row order from the lowest to the highest row, left to right
in each row.
glReadVideoPixelsSUN does not read from back buffers, pbuffer or any
other auxiliary buffers. Pixel operations such as glPixelMap, glPixel‐
Transfer, glPixelStore, and glPixelZoom will have no affect on glRead‐
VideoPixelsSUN.
NOTES Values for pixels that lie outside the window connected to the
current GL context are undefined.
If an error is generated, no change is made to the contents of pixels.
ERRORS
GL_INVALID_ENUM is generated if format or type is not an accepted
value.
GL_INVALID_VALUE is generated if either width or height is negative.
GL_INVALID_OPERATION is generated if the current read buffer is not one
of GL_LEFT, GL_FRONT, GL_FRONT_LEFT, GL_RIGHT, GL_FRONT_RIGHT.
GL_INVALID_OPERATION is generated if the type is
GL_UNSIGNED_INT_8_8_8_8_REV and the format is not GL_BGRA.
GL_INVALID_OPERATION is generated if glReadVideoPixelsSUN is executed
between the execution of glBegin and the corresponding execution of
glEnd.
GL_INVALID_OPERATION is generated if glReadVideoPixelsSUN is executed
on any other frame buffer that doesn't support this extension.
SEE ALSO
glReadSamplesSUN, glWriteSamplesSUN, glReadPixels
13 Aug 02 GLREADVIDEOPIXELSSUN(3gl)