ycbcr_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 » ycbcr_422.py
'''OpenGL extension APPLE.ycbcr_422

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

Overview (from thespec import 
  
  This extension provides a method for GL to read, store and optionally
  process textures that are defined in Y'CbCr 422 video formats.  This
  extension supports the two common Y'CbCr 422 video formats (known by
  QuickTime FourCC as '2vuy' and 'yuvs'). These formats represent one of the
  most common 16 bit Y'CbCr formats in both standard and reverse byte
  ordering. From a client stand point these can be assumed to be decoded
  immediately (even though the implementation is free to optimize the data
  storage and keep it in the native format) and otherwise function as any
  other texture format.  The texture command <internalformat> parameter
  normally be should be specified as RGB, since Y'CbCr is just a form of RGB
  data.  This extension can be supported with either hardware or software
  decoding and it is up to the specific implementation to determine which is
  used.
  
  A new <format> is added, YCBCR_422_APPLE.  Additionally, to handle the
  difference in pixel size and byte ordering for 422 video, the pixel storage
  operations treat YCBCR_422_APPLE as a 2 component format using
  the UNSIGNED_SHORT_8_8_APPLE or UNSIGNED_SHORT_8_8_REV_APPLE <type>.
  
  The '2vuy' or k2vuyPixelFormat pixel format is an 8-bit 4:2:2 Component
  Y'CbCr format. Each 16 bit pixel is represented by an unsigned eight bit
  luminance component and two unsigned eight bit chroma components. Each pair
  of pixels shares a common set of chroma values. The components are ordered
  in memory; Cb, Y0, Cr, Y1. The luminance components have a range of [16,
  235], while the chroma value has a range of [16, 240]. This is consistent
  with the CCIR601 spec. This format is fairly prevalent on both Mac and Win32
  platforms. The equivalent Microsoft fourCC is OUYVYO.  This format is
  supported with the UNSIGNED_SHORT_8_8_REV_APPLE type for pixel storage
  operations.
  
  The 'yuvs' or kYUVSPixelFormat is an 8-bit 4:2:2 Component Y'CbCr format.
  Identical to the k2vuyPixelFormat except each 16 bit word has been byte
  swapped. This results in a component ordering of; Y0, Cb, Y1, Cr. This is
  most prevalent yuv 4:2:2 format on both Mac and Win32 platforms. The
  equivalent Microsoft fourCC is 'YUY2'.  This format is supported with the
  UNSIGNED_SHORT_8_8_APPLE type for pixel storage operations.

The official definition of this extension is available here:
http://www.opengl.org/registry/specs/APPLE/ycbcr_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.ycbcr_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.