rgb_422.py :  » Game-2D-3D » PyOpenGL » PyOpenGL-3.0.1 » OpenGL » GL » APPLE » Python Open Source

Home
Python Open Source
1.3.1.2 Python
2.Ajax
3.Aspect Oriented
4.Blog
5.Build
6.Business Application
7.Chart Report
8.Content Management Systems
9.Cryptographic
10.Database
11.Development
12.Editor
13.Email
14.ERP
15.Game 2D 3D
16.GIS
17.GUI
18.IDE
19.Installer
20.IRC
21.Issue Tracker
22.Language Interface
23.Log
24.Math
25.Media Sound Audio
26.Mobile
27.Network
28.Parser
29.PDF
30.Project Management
31.RSS
32.Search
33.Security
34.Template Engines
35.Test
36.UML
37.USB Serial
38.Web Frameworks
39.Web Server
40.Web Services
41.Web Unit
42.Wiki
43.Windows
44.XML
Python Open Source » Game 2D 3D » PyOpenGL 
PyOpenGL » PyOpenGL 3.0.1 » OpenGL » GL » APPLE » rgb_422.py
'''OpenGL extension APPLE.rgb_422

This module customises the behaviour of the 
OpenGL.raw.GL.APPLE.rgb_422 to provide a more 
Python-friendly API

Overview (from thespec import 
  
  A common storage format for video data is 8-bit 422, with every four
  bytes encoding two pixels.   Within the four bytes there are two
  luminance samples, and two chrominance samples that are shared between
  both pixels.
  
  There is a previous extension, namely GL_APPLE_ycbcr_422 that provided
  transparent support for this kind of data.   However, that extension
  left the exact conversion from YCbCrtoRGBundefined.Inreality import 
  it really had always been based on the ITU-R BT.601 standard, which
  meant it was not particularly useful for dealing with high definition
  video data, which is encoded using the Rec. 709 standard.
  
  In some cases the original extension was implemented via fixed function
  hardware, but on more modern graphics processors this is done via
  a combination of 422 sampling formats and fragment shader instructions.
  
  This extension essentially exposes a "raw" 422 texture format that
  allows developers to access the raw pre-converted Y'CbCr components
  so that they have full control over the colorspace conversion.
  
  In order to avoid defining entirely new color channels within GL,
  the Y, Cb and Cr color channels within the 422 data are mapped into
  the existing green, blue and red color channels, respectively.  Developers
  must essentially write their own fragment shader to perform the desired
  color space transformation.
  
  Note: Because of the use of the packed UNSIGNED_SHORT_8_8[_REV] types, the
  correct type to use based on the layout of the data in memory (Cb Y Cr Y
  versus Y Cb Y Cr) will necessarily be sensitive to host endianness.
  
  This extension differs from theEXT_422_pixelsextensionacoupleof import 
  ways.   First, this extension defines only a single new format, while
  relying on two new type arguments to differentiate between the two
  component orderings.  Second, this extension provides no defined method
  of filtering the chroma values between adjacent pixels.   And lastly,
  the color channel assignments are slightly different, essentially to
  match more closely the rough meanings of the Y, Cb and Cr values in
  422 video data.

The official definition of this extension is available here:
http://www.opengl.org/registry/specs/APPLE/rgb_422.txt
'''
from OpenGL import platform,constants,constant,arrays
from OpenGL import extensions,wrapper
from OpenGL.GL import glget
import ctypes
from OpenGL.raw.GL.APPLE.rgb_422 import *
### END AUTOGENERATED SECTION
www.java2java.com | Contact Us
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.