-- This file was automatically generated.
{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
module Graphics.GL.Ext.NV.VideoCapture (
  -- * Extension Support
    gl_NV_video_capture

  -- * GL_NV_video_capture
  , glBeginVideoCaptureNV
  , glBindVideoCaptureStreamBufferNV
  , glBindVideoCaptureStreamTextureNV
  , glEndVideoCaptureNV
  , glGetVideoCaptureStreamdvNV
  , glGetVideoCaptureStreamfvNV
  , glGetVideoCaptureStreamivNV
  , glGetVideoCaptureivNV
  , glVideoCaptureNV
  , glVideoCaptureStreamParameterdvNV
  , glVideoCaptureStreamParameterfvNV
  , glVideoCaptureStreamParameterivNV
  , pattern GL_FAILURE_NV
  , pattern GL_FIELD_LOWER_NV
  , pattern GL_FIELD_UPPER_NV
  , pattern GL_LAST_VIDEO_CAPTURE_STATUS_NV
  , pattern GL_NEXT_VIDEO_CAPTURE_BUFFER_STATUS_NV
  , pattern GL_NUM_VIDEO_CAPTURE_STREAMS_NV
  , pattern GL_PARTIAL_SUCCESS_NV
  , pattern GL_SUCCESS_NV
  , pattern GL_VIDEO_BUFFER_BINDING_NV
  , pattern GL_VIDEO_BUFFER_INTERNAL_FORMAT_NV
  , pattern GL_VIDEO_BUFFER_NV
  , pattern GL_VIDEO_BUFFER_PITCH_NV
  , pattern GL_VIDEO_CAPTURE_FIELD_LOWER_HEIGHT_NV
  , pattern GL_VIDEO_CAPTURE_FIELD_UPPER_HEIGHT_NV
  , pattern GL_VIDEO_CAPTURE_FRAME_HEIGHT_NV
  , pattern GL_VIDEO_CAPTURE_FRAME_WIDTH_NV
  , pattern GL_VIDEO_CAPTURE_SURFACE_ORIGIN_NV
  , pattern GL_VIDEO_CAPTURE_TO_422_SUPPORTED_NV
  , pattern GL_VIDEO_COLOR_CONVERSION_MATRIX_NV
  , pattern GL_VIDEO_COLOR_CONVERSION_MAX_NV
  , pattern GL_VIDEO_COLOR_CONVERSION_MIN_NV
  , pattern GL_VIDEO_COLOR_CONVERSION_OFFSET_NV
  , pattern GL_YCBAYCR8A_4224_NV
  , pattern GL_YCBYCR8_422_NV
  , pattern GL_Z4Y12Z4CB12Z4A12Z4Y12Z4CR12Z4A12_4224_NV
  , pattern GL_Z4Y12Z4CB12Z4CR12_444_NV
  , pattern GL_Z4Y12Z4CB12Z4Y12Z4CR12_422_NV
  , pattern GL_Z6Y10Z6CB10Z6A10Z6Y10Z6CR10Z6A10_4224_NV
  , pattern GL_Z6Y10Z6CB10Z6Y10Z6CR10_422_NV
) where

import Control.Monad.IO.Class
import Data.Set
import Foreign.Ptr
import Graphics.GL.Internal.FFI
import Graphics.GL.Internal.Proc
import Graphics.GL.Types
import System.IO.Unsafe

-- | Checks that the <https://cvs.khronos.org/svn/repos/ogl/trunk/doc/registry/public/specs/NV/video_capture.txt GL_NV_video_capture> extension is available.

gl_NV_video_capture :: Bool
gl_NV_video_capture :: Bool
gl_NV_video_capture = [Char] -> Set [Char] -> Bool
forall a. Ord a => a -> Set a -> Bool
member "GL_NV_video_capture" Set [Char]
extensions
{-# NOINLINE gl_NV_video_capture #-}

-- | Usage: @'glBeginVideoCaptureNV' video_capture_slot@


glBeginVideoCaptureNV :: MonadIO m => GLuint -> m ()
glBeginVideoCaptureNV :: GLuint -> m ()
glBeginVideoCaptureNV = FunPtr (GLuint -> IO ()) -> GLuint -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLuint -> IO ()) -> GLuint -> m ()
ffiuintIOV FunPtr (GLuint -> IO ())
glBeginVideoCaptureNVFunPtr

glBeginVideoCaptureNVFunPtr :: FunPtr (GLuint -> IO ())
glBeginVideoCaptureNVFunPtr :: FunPtr (GLuint -> IO ())
glBeginVideoCaptureNVFunPtr = IO (FunPtr (GLuint -> IO ())) -> FunPtr (GLuint -> IO ())
forall a. IO a -> a
unsafePerformIO ([Char] -> IO (FunPtr (GLuint -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glBeginVideoCaptureNV")

{-# NOINLINE glBeginVideoCaptureNVFunPtr #-}

-- | Usage: @'glBindVideoCaptureStreamBufferNV' video_capture_slot stream frame_region offset@
--
-- The parameter @offset@ is a @BufferOffsetARB@.


glBindVideoCaptureStreamBufferNV :: MonadIO m => GLuint -> GLuint -> GLenum -> GLintptrARB -> m ()
glBindVideoCaptureStreamBufferNV :: GLuint -> GLuint -> GLuint -> GLintptrARB -> m ()
glBindVideoCaptureStreamBufferNV = FunPtr (GLuint -> GLuint -> GLuint -> GLintptrARB -> IO ())
-> GLuint -> GLuint -> GLuint -> GLintptrARB -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLuint -> GLuint -> GLuint -> GLintptrARB -> IO ())
-> GLuint -> GLuint -> GLuint -> GLintptrARB -> m ()
ffiuintuintenumintptrARBIOV FunPtr (GLuint -> GLuint -> GLuint -> GLintptrARB -> IO ())
glBindVideoCaptureStreamBufferNVFunPtr

glBindVideoCaptureStreamBufferNVFunPtr :: FunPtr (GLuint -> GLuint -> GLenum -> GLintptrARB -> IO ())
glBindVideoCaptureStreamBufferNVFunPtr :: FunPtr (GLuint -> GLuint -> GLuint -> GLintptrARB -> IO ())
glBindVideoCaptureStreamBufferNVFunPtr = IO (FunPtr (GLuint -> GLuint -> GLuint -> GLintptrARB -> IO ()))
-> FunPtr (GLuint -> GLuint -> GLuint -> GLintptrARB -> IO ())
forall a. IO a -> a
unsafePerformIO ([Char]
-> IO (FunPtr (GLuint -> GLuint -> GLuint -> GLintptrARB -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glBindVideoCaptureStreamBufferNV")

{-# NOINLINE glBindVideoCaptureStreamBufferNVFunPtr #-}

-- | Usage: @'glBindVideoCaptureStreamTextureNV' video_capture_slot stream frame_region target texture@


glBindVideoCaptureStreamTextureNV :: MonadIO m => GLuint -> GLuint -> GLenum -> GLenum -> GLuint -> m ()
glBindVideoCaptureStreamTextureNV :: GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> m ()
glBindVideoCaptureStreamTextureNV = FunPtr (GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ())
-> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ())
-> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> m ()
ffiuintuintenumenumuintIOV FunPtr (GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ())
glBindVideoCaptureStreamTextureNVFunPtr

glBindVideoCaptureStreamTextureNVFunPtr :: FunPtr (GLuint -> GLuint -> GLenum -> GLenum -> GLuint -> IO ())
glBindVideoCaptureStreamTextureNVFunPtr :: FunPtr (GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ())
glBindVideoCaptureStreamTextureNVFunPtr = IO
  (FunPtr (GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ()))
-> FunPtr (GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ())
forall a. IO a -> a
unsafePerformIO ([Char]
-> IO
     (FunPtr (GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glBindVideoCaptureStreamTextureNV")

{-# NOINLINE glBindVideoCaptureStreamTextureNVFunPtr #-}

-- | Usage: @'glEndVideoCaptureNV' video_capture_slot@


glEndVideoCaptureNV :: MonadIO m => GLuint -> m ()
glEndVideoCaptureNV :: GLuint -> m ()
glEndVideoCaptureNV = FunPtr (GLuint -> IO ()) -> GLuint -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLuint -> IO ()) -> GLuint -> m ()
ffiuintIOV FunPtr (GLuint -> IO ())
glEndVideoCaptureNVFunPtr

glEndVideoCaptureNVFunPtr :: FunPtr (GLuint -> IO ())
glEndVideoCaptureNVFunPtr :: FunPtr (GLuint -> IO ())
glEndVideoCaptureNVFunPtr = IO (FunPtr (GLuint -> IO ())) -> FunPtr (GLuint -> IO ())
forall a. IO a -> a
unsafePerformIO ([Char] -> IO (FunPtr (GLuint -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glEndVideoCaptureNV")

{-# NOINLINE glEndVideoCaptureNVFunPtr #-}

-- | Usage: @'glGetVideoCaptureStreamdvNV' video_capture_slot stream pname params@
--
-- The length of @params@ should be @COMPSIZE(pname)@.


glGetVideoCaptureStreamdvNV :: MonadIO m => GLuint -> GLuint -> GLenum -> Ptr GLdouble -> m ()
glGetVideoCaptureStreamdvNV :: GLuint -> GLuint -> GLuint -> Ptr GLdouble -> m ()
glGetVideoCaptureStreamdvNV = FunPtr (GLuint -> GLuint -> GLuint -> Ptr GLdouble -> IO ())
-> GLuint -> GLuint -> GLuint -> Ptr GLdouble -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLuint -> GLuint -> GLuint -> Ptr GLdouble -> IO ())
-> GLuint -> GLuint -> GLuint -> Ptr GLdouble -> m ()
ffiuintuintenumPtrdoubleIOV FunPtr (GLuint -> GLuint -> GLuint -> Ptr GLdouble -> IO ())
glGetVideoCaptureStreamdvNVFunPtr

glGetVideoCaptureStreamdvNVFunPtr :: FunPtr (GLuint -> GLuint -> GLenum -> Ptr GLdouble -> IO ())
glGetVideoCaptureStreamdvNVFunPtr :: FunPtr (GLuint -> GLuint -> GLuint -> Ptr GLdouble -> IO ())
glGetVideoCaptureStreamdvNVFunPtr = IO (FunPtr (GLuint -> GLuint -> GLuint -> Ptr GLdouble -> IO ()))
-> FunPtr (GLuint -> GLuint -> GLuint -> Ptr GLdouble -> IO ())
forall a. IO a -> a
unsafePerformIO ([Char]
-> IO
     (FunPtr (GLuint -> GLuint -> GLuint -> Ptr GLdouble -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glGetVideoCaptureStreamdvNV")

{-# NOINLINE glGetVideoCaptureStreamdvNVFunPtr #-}

-- | Usage: @'glGetVideoCaptureStreamfvNV' video_capture_slot stream pname params@
--
-- The length of @params@ should be @COMPSIZE(pname)@.


glGetVideoCaptureStreamfvNV :: MonadIO m => GLuint -> GLuint -> GLenum -> Ptr GLfloat -> m ()
glGetVideoCaptureStreamfvNV :: GLuint -> GLuint -> GLuint -> Ptr GLfloat -> m ()
glGetVideoCaptureStreamfvNV = FunPtr (GLuint -> GLuint -> GLuint -> Ptr GLfloat -> IO ())
-> GLuint -> GLuint -> GLuint -> Ptr GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLuint -> GLuint -> GLuint -> Ptr GLfloat -> IO ())
-> GLuint -> GLuint -> GLuint -> Ptr GLfloat -> m ()
ffiuintuintenumPtrfloatIOV FunPtr (GLuint -> GLuint -> GLuint -> Ptr GLfloat -> IO ())
glGetVideoCaptureStreamfvNVFunPtr

glGetVideoCaptureStreamfvNVFunPtr :: FunPtr (GLuint -> GLuint -> GLenum -> Ptr GLfloat -> IO ())
glGetVideoCaptureStreamfvNVFunPtr :: FunPtr (GLuint -> GLuint -> GLuint -> Ptr GLfloat -> IO ())
glGetVideoCaptureStreamfvNVFunPtr = IO (FunPtr (GLuint -> GLuint -> GLuint -> Ptr GLfloat -> IO ()))
-> FunPtr (GLuint -> GLuint -> GLuint -> Ptr GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO ([Char]
-> IO (FunPtr (GLuint -> GLuint -> GLuint -> Ptr GLfloat -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glGetVideoCaptureStreamfvNV")

{-# NOINLINE glGetVideoCaptureStreamfvNVFunPtr #-}

-- | Usage: @'glGetVideoCaptureStreamivNV' video_capture_slot stream pname params@
--
-- The length of @params@ should be @COMPSIZE(pname)@.


glGetVideoCaptureStreamivNV :: MonadIO m => GLuint -> GLuint -> GLenum -> Ptr GLint -> m ()
glGetVideoCaptureStreamivNV :: GLuint -> GLuint -> GLuint -> Ptr GLint -> m ()
glGetVideoCaptureStreamivNV = FunPtr (GLuint -> GLuint -> GLuint -> Ptr GLint -> IO ())
-> GLuint -> GLuint -> GLuint -> Ptr GLint -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLuint -> GLuint -> GLuint -> Ptr GLint -> IO ())
-> GLuint -> GLuint -> GLuint -> Ptr GLint -> m ()
ffiuintuintenumPtrintIOV FunPtr (GLuint -> GLuint -> GLuint -> Ptr GLint -> IO ())
glGetVideoCaptureStreamivNVFunPtr

glGetVideoCaptureStreamivNVFunPtr :: FunPtr (GLuint -> GLuint -> GLenum -> Ptr GLint -> IO ())
glGetVideoCaptureStreamivNVFunPtr :: FunPtr (GLuint -> GLuint -> GLuint -> Ptr GLint -> IO ())
glGetVideoCaptureStreamivNVFunPtr = IO (FunPtr (GLuint -> GLuint -> GLuint -> Ptr GLint -> IO ()))
-> FunPtr (GLuint -> GLuint -> GLuint -> Ptr GLint -> IO ())
forall a. IO a -> a
unsafePerformIO ([Char]
-> IO (FunPtr (GLuint -> GLuint -> GLuint -> Ptr GLint -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glGetVideoCaptureStreamivNV")

{-# NOINLINE glGetVideoCaptureStreamivNVFunPtr #-}

-- | Usage: @'glGetVideoCaptureivNV' video_capture_slot pname params@
--
-- The length of @params@ should be @COMPSIZE(pname)@.


glGetVideoCaptureivNV :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()
glGetVideoCaptureivNV :: GLuint -> GLuint -> Ptr GLint -> m ()
glGetVideoCaptureivNV = FunPtr (GLuint -> GLuint -> Ptr GLint -> IO ())
-> GLuint -> GLuint -> Ptr GLint -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLuint -> GLuint -> Ptr GLint -> IO ())
-> GLuint -> GLuint -> Ptr GLint -> m ()
ffiuintenumPtrintIOV FunPtr (GLuint -> GLuint -> Ptr GLint -> IO ())
glGetVideoCaptureivNVFunPtr

glGetVideoCaptureivNVFunPtr :: FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ())
glGetVideoCaptureivNVFunPtr :: FunPtr (GLuint -> GLuint -> Ptr GLint -> IO ())
glGetVideoCaptureivNVFunPtr = IO (FunPtr (GLuint -> GLuint -> Ptr GLint -> IO ()))
-> FunPtr (GLuint -> GLuint -> Ptr GLint -> IO ())
forall a. IO a -> a
unsafePerformIO ([Char] -> IO (FunPtr (GLuint -> GLuint -> Ptr GLint -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glGetVideoCaptureivNV")

{-# NOINLINE glGetVideoCaptureivNVFunPtr #-}

-- | Usage: @'glVideoCaptureNV' video_capture_slot sequence_num capture_time@


glVideoCaptureNV :: MonadIO m => GLuint -> Ptr GLuint -> Ptr GLuint64EXT -> m GLenum
glVideoCaptureNV :: GLuint -> Ptr GLuint -> Ptr GLuint64EXT -> m GLuint
glVideoCaptureNV = FunPtr (GLuint -> Ptr GLuint -> Ptr GLuint64EXT -> IO GLuint)
-> GLuint -> Ptr GLuint -> Ptr GLuint64EXT -> m GLuint
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLuint -> Ptr GLuint -> Ptr GLuint64EXT -> IO GLuint)
-> GLuint -> Ptr GLuint -> Ptr GLuint64EXT -> m GLuint
ffiuintPtruintPtruint64EXTIOenum FunPtr (GLuint -> Ptr GLuint -> Ptr GLuint64EXT -> IO GLuint)
glVideoCaptureNVFunPtr

glVideoCaptureNVFunPtr :: FunPtr (GLuint -> Ptr GLuint -> Ptr GLuint64EXT -> IO GLenum)
glVideoCaptureNVFunPtr :: FunPtr (GLuint -> Ptr GLuint -> Ptr GLuint64EXT -> IO GLuint)
glVideoCaptureNVFunPtr = IO (FunPtr (GLuint -> Ptr GLuint -> Ptr GLuint64EXT -> IO GLuint))
-> FunPtr (GLuint -> Ptr GLuint -> Ptr GLuint64EXT -> IO GLuint)
forall a. IO a -> a
unsafePerformIO ([Char]
-> IO
     (FunPtr (GLuint -> Ptr GLuint -> Ptr GLuint64EXT -> IO GLuint))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glVideoCaptureNV")

{-# NOINLINE glVideoCaptureNVFunPtr #-}

-- | Usage: @'glVideoCaptureStreamParameterdvNV' video_capture_slot stream pname params@
--
-- The length of @params@ should be @COMPSIZE(pname)@.


glVideoCaptureStreamParameterdvNV :: MonadIO m => GLuint -> GLuint -> GLenum -> Ptr GLdouble -> m ()
glVideoCaptureStreamParameterdvNV :: GLuint -> GLuint -> GLuint -> Ptr GLdouble -> m ()
glVideoCaptureStreamParameterdvNV = FunPtr (GLuint -> GLuint -> GLuint -> Ptr GLdouble -> IO ())
-> GLuint -> GLuint -> GLuint -> Ptr GLdouble -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLuint -> GLuint -> GLuint -> Ptr GLdouble -> IO ())
-> GLuint -> GLuint -> GLuint -> Ptr GLdouble -> m ()
ffiuintuintenumPtrdoubleIOV FunPtr (GLuint -> GLuint -> GLuint -> Ptr GLdouble -> IO ())
glVideoCaptureStreamParameterdvNVFunPtr

glVideoCaptureStreamParameterdvNVFunPtr :: FunPtr (GLuint -> GLuint -> GLenum -> Ptr GLdouble -> IO ())
glVideoCaptureStreamParameterdvNVFunPtr :: FunPtr (GLuint -> GLuint -> GLuint -> Ptr GLdouble -> IO ())
glVideoCaptureStreamParameterdvNVFunPtr = IO (FunPtr (GLuint -> GLuint -> GLuint -> Ptr GLdouble -> IO ()))
-> FunPtr (GLuint -> GLuint -> GLuint -> Ptr GLdouble -> IO ())
forall a. IO a -> a
unsafePerformIO ([Char]
-> IO
     (FunPtr (GLuint -> GLuint -> GLuint -> Ptr GLdouble -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glVideoCaptureStreamParameterdvNV")

{-# NOINLINE glVideoCaptureStreamParameterdvNVFunPtr #-}

-- | Usage: @'glVideoCaptureStreamParameterfvNV' video_capture_slot stream pname params@
--
-- The length of @params@ should be @COMPSIZE(pname)@.


glVideoCaptureStreamParameterfvNV :: MonadIO m => GLuint -> GLuint -> GLenum -> Ptr GLfloat -> m ()
glVideoCaptureStreamParameterfvNV :: GLuint -> GLuint -> GLuint -> Ptr GLfloat -> m ()
glVideoCaptureStreamParameterfvNV = FunPtr (GLuint -> GLuint -> GLuint -> Ptr GLfloat -> IO ())
-> GLuint -> GLuint -> GLuint -> Ptr GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLuint -> GLuint -> GLuint -> Ptr GLfloat -> IO ())
-> GLuint -> GLuint -> GLuint -> Ptr GLfloat -> m ()
ffiuintuintenumPtrfloatIOV FunPtr (GLuint -> GLuint -> GLuint -> Ptr GLfloat -> IO ())
glVideoCaptureStreamParameterfvNVFunPtr

glVideoCaptureStreamParameterfvNVFunPtr :: FunPtr (GLuint -> GLuint -> GLenum -> Ptr GLfloat -> IO ())
glVideoCaptureStreamParameterfvNVFunPtr :: FunPtr (GLuint -> GLuint -> GLuint -> Ptr GLfloat -> IO ())
glVideoCaptureStreamParameterfvNVFunPtr = IO (FunPtr (GLuint -> GLuint -> GLuint -> Ptr GLfloat -> IO ()))
-> FunPtr (GLuint -> GLuint -> GLuint -> Ptr GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO ([Char]
-> IO (FunPtr (GLuint -> GLuint -> GLuint -> Ptr GLfloat -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glVideoCaptureStreamParameterfvNV")

{-# NOINLINE glVideoCaptureStreamParameterfvNVFunPtr #-}

-- | Usage: @'glVideoCaptureStreamParameterivNV' video_capture_slot stream pname params@
--
-- The length of @params@ should be @COMPSIZE(pname)@.


glVideoCaptureStreamParameterivNV :: MonadIO m => GLuint -> GLuint -> GLenum -> Ptr GLint -> m ()
glVideoCaptureStreamParameterivNV :: GLuint -> GLuint -> GLuint -> Ptr GLint -> m ()
glVideoCaptureStreamParameterivNV = FunPtr (GLuint -> GLuint -> GLuint -> Ptr GLint -> IO ())
-> GLuint -> GLuint -> GLuint -> Ptr GLint -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLuint -> GLuint -> GLuint -> Ptr GLint -> IO ())
-> GLuint -> GLuint -> GLuint -> Ptr GLint -> m ()
ffiuintuintenumPtrintIOV FunPtr (GLuint -> GLuint -> GLuint -> Ptr GLint -> IO ())
glVideoCaptureStreamParameterivNVFunPtr

glVideoCaptureStreamParameterivNVFunPtr :: FunPtr (GLuint -> GLuint -> GLenum -> Ptr GLint -> IO ())
glVideoCaptureStreamParameterivNVFunPtr :: FunPtr (GLuint -> GLuint -> GLuint -> Ptr GLint -> IO ())
glVideoCaptureStreamParameterivNVFunPtr = IO (FunPtr (GLuint -> GLuint -> GLuint -> Ptr GLint -> IO ()))
-> FunPtr (GLuint -> GLuint -> GLuint -> Ptr GLint -> IO ())
forall a. IO a -> a
unsafePerformIO ([Char]
-> IO (FunPtr (GLuint -> GLuint -> GLuint -> Ptr GLint -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glVideoCaptureStreamParameterivNV")

{-# NOINLINE glVideoCaptureStreamParameterivNVFunPtr #-}

pattern $bGL_FAILURE_NV :: a
$mGL_FAILURE_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_FAILURE_NV = 0x9030

pattern $bGL_FIELD_LOWER_NV :: a
$mGL_FIELD_LOWER_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_FIELD_LOWER_NV = 0x9023

pattern $bGL_FIELD_UPPER_NV :: a
$mGL_FIELD_UPPER_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_FIELD_UPPER_NV = 0x9022

pattern $bGL_LAST_VIDEO_CAPTURE_STATUS_NV :: a
$mGL_LAST_VIDEO_CAPTURE_STATUS_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_LAST_VIDEO_CAPTURE_STATUS_NV = 0x9027

pattern $bGL_NEXT_VIDEO_CAPTURE_BUFFER_STATUS_NV :: a
$mGL_NEXT_VIDEO_CAPTURE_BUFFER_STATUS_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_NEXT_VIDEO_CAPTURE_BUFFER_STATUS_NV = 0x9025

pattern $bGL_NUM_VIDEO_CAPTURE_STREAMS_NV :: a
$mGL_NUM_VIDEO_CAPTURE_STREAMS_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_NUM_VIDEO_CAPTURE_STREAMS_NV = 0x9024

pattern $bGL_PARTIAL_SUCCESS_NV :: a
$mGL_PARTIAL_SUCCESS_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_PARTIAL_SUCCESS_NV = 0x902E

pattern $bGL_SUCCESS_NV :: a
$mGL_SUCCESS_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_SUCCESS_NV = 0x902F

pattern $bGL_VIDEO_BUFFER_BINDING_NV :: a
$mGL_VIDEO_BUFFER_BINDING_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_VIDEO_BUFFER_BINDING_NV = 0x9021

pattern $bGL_VIDEO_BUFFER_INTERNAL_FORMAT_NV :: a
$mGL_VIDEO_BUFFER_INTERNAL_FORMAT_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_VIDEO_BUFFER_INTERNAL_FORMAT_NV = 0x902D

pattern $bGL_VIDEO_BUFFER_NV :: a
$mGL_VIDEO_BUFFER_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_VIDEO_BUFFER_NV = 0x9020

pattern $bGL_VIDEO_BUFFER_PITCH_NV :: a
$mGL_VIDEO_BUFFER_PITCH_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_VIDEO_BUFFER_PITCH_NV = 0x9028

pattern $bGL_VIDEO_CAPTURE_FIELD_LOWER_HEIGHT_NV :: a
$mGL_VIDEO_CAPTURE_FIELD_LOWER_HEIGHT_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_VIDEO_CAPTURE_FIELD_LOWER_HEIGHT_NV = 0x903B

pattern $bGL_VIDEO_CAPTURE_FIELD_UPPER_HEIGHT_NV :: a
$mGL_VIDEO_CAPTURE_FIELD_UPPER_HEIGHT_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_VIDEO_CAPTURE_FIELD_UPPER_HEIGHT_NV = 0x903A

pattern $bGL_VIDEO_CAPTURE_FRAME_HEIGHT_NV :: a
$mGL_VIDEO_CAPTURE_FRAME_HEIGHT_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_VIDEO_CAPTURE_FRAME_HEIGHT_NV = 0x9039

pattern $bGL_VIDEO_CAPTURE_FRAME_WIDTH_NV :: a
$mGL_VIDEO_CAPTURE_FRAME_WIDTH_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_VIDEO_CAPTURE_FRAME_WIDTH_NV = 0x9038

pattern $bGL_VIDEO_CAPTURE_SURFACE_ORIGIN_NV :: a
$mGL_VIDEO_CAPTURE_SURFACE_ORIGIN_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_VIDEO_CAPTURE_SURFACE_ORIGIN_NV = 0x903C

pattern $bGL_VIDEO_CAPTURE_TO_422_SUPPORTED_NV :: a
$mGL_VIDEO_CAPTURE_TO_422_SUPPORTED_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_VIDEO_CAPTURE_TO_422_SUPPORTED_NV = 0x9026

pattern $bGL_VIDEO_COLOR_CONVERSION_MATRIX_NV :: a
$mGL_VIDEO_COLOR_CONVERSION_MATRIX_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_VIDEO_COLOR_CONVERSION_MATRIX_NV = 0x9029

pattern $bGL_VIDEO_COLOR_CONVERSION_MAX_NV :: a
$mGL_VIDEO_COLOR_CONVERSION_MAX_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_VIDEO_COLOR_CONVERSION_MAX_NV = 0x902A

pattern $bGL_VIDEO_COLOR_CONVERSION_MIN_NV :: a
$mGL_VIDEO_COLOR_CONVERSION_MIN_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_VIDEO_COLOR_CONVERSION_MIN_NV = 0x902B

pattern $bGL_VIDEO_COLOR_CONVERSION_OFFSET_NV :: a
$mGL_VIDEO_COLOR_CONVERSION_OFFSET_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_VIDEO_COLOR_CONVERSION_OFFSET_NV = 0x902C

pattern $bGL_YCBAYCR8A_4224_NV :: a
$mGL_YCBAYCR8A_4224_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_YCBAYCR8A_4224_NV = 0x9032

pattern $bGL_YCBYCR8_422_NV :: a
$mGL_YCBYCR8_422_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_YCBYCR8_422_NV = 0x9031

pattern $bGL_Z4Y12Z4CB12Z4A12Z4Y12Z4CR12Z4A12_4224_NV :: a
$mGL_Z4Y12Z4CB12Z4A12Z4Y12Z4CR12Z4A12_4224_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_Z4Y12Z4CB12Z4A12Z4Y12Z4CR12Z4A12_4224_NV = 0x9036

pattern $bGL_Z4Y12Z4CB12Z4CR12_444_NV :: a
$mGL_Z4Y12Z4CB12Z4CR12_444_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_Z4Y12Z4CB12Z4CR12_444_NV = 0x9037

pattern $bGL_Z4Y12Z4CB12Z4Y12Z4CR12_422_NV :: a
$mGL_Z4Y12Z4CB12Z4Y12Z4CR12_422_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_Z4Y12Z4CB12Z4Y12Z4CR12_422_NV = 0x9035

pattern $bGL_Z6Y10Z6CB10Z6A10Z6Y10Z6CR10Z6A10_4224_NV :: a
$mGL_Z6Y10Z6CB10Z6A10Z6Y10Z6CR10Z6A10_4224_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_Z6Y10Z6CB10Z6A10Z6Y10Z6CR10Z6A10_4224_NV = 0x9034

pattern $bGL_Z6Y10Z6CB10Z6Y10Z6CR10_422_NV :: a
$mGL_Z6Y10Z6CB10Z6Y10Z6CR10_422_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_Z6Y10Z6CB10Z6Y10Z6CR10_422_NV = 0x9033