/* * Copyright (c) 2002-2008 LWJGL Project * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are * met: * * * Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * * * Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * * * Neither the name of 'LWJGL' nor the names of * its contributors may be used to endorse or promote products derived * from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ package org.lwjgl.opengl; import org.lwjgl.util.generator.*; import org.lwjgl.util.generator.opengl.*; import java.nio.DoubleBuffer; import java.nio.FloatBuffer; import java.nio.IntBuffer; import java.nio.LongBuffer; public interface NV_video_capture { /** * Accepted by the <target> parameters of BindBufferARB, BufferDataARB, * BufferSubDataARB, MapBufferARB, UnmapBufferARB, GetBufferSubDataARB, * GetBufferParameterivARB, and GetBufferPointervARB: */ int GL_VIDEO_BUFFER_NV = 0x9020; /** * Accepted by the <pname> parameter of GetBooleanv, GetIntegerv, * GetFloatv, and GetDoublev: */ int GL_VIDEO_BUFFER_BINDING_NV = 0x9021; /** * Accepted by the <frame_region> parameter of * BindVideoCaptureStreamBufferNV, and BindVideoCaptureStreamTextureNV: */ int GL_FIELD_UPPER_NV = 0x9022, GL_FIELD_LOWER_NV = 0x9023; /** Accepted by the <pname> parameter of GetVideoCaptureivNV: */ int GL_NUM_VIDEO_CAPTURE_STREAMS_NV = 0x9024, GL_NEXT_VIDEO_CAPTURE_BUFFER_STATUS_NV = 0x9025; /** * Accepted by the <pname> parameter of * GetVideoCaptureStream{i,f,d}vNV: */ int GL_LAST_VIDEO_CAPTURE_STATUS_NV = 0x9027, GL_VIDEO_BUFFER_PITCH_NV = 0x9028, GL_VIDEO_CAPTURE_FRAME_WIDTH_NV = 0x9038, GL_VIDEO_CAPTURE_FRAME_HEIGHT_NV = 0x9039, GL_VIDEO_CAPTURE_FIELD_UPPER_HEIGHT_NV = 0x903A, GL_VIDEO_CAPTURE_FIELD_LOWER_HEIGHT_NV = 0x903B, GL_VIDEO_CAPTURE_TO_422_SUPPORTED_NV = 0x9026; /** * Accepted by the <pname> parameter of * GetVideoCaptureStream{i,f,d}vNV and as the <pname> parameter of * VideoCaptureStreamParameter{i,f,d}vNV: */ int GL_VIDEO_COLOR_CONVERSION_MATRIX_NV = 0x9029, GL_VIDEO_COLOR_CONVERSION_MAX_NV = 0x902A, GL_VIDEO_COLOR_CONVERSION_MIN_NV = 0x902B, GL_VIDEO_COLOR_CONVERSION_OFFSET_NV = 0x902C, GL_VIDEO_BUFFER_INTERNAL_FORMAT_NV = 0x902D, GL_VIDEO_CAPTURE_SURFACE_ORIGIN_NV = 0x903C; /** Returned by VideoCaptureNV: */ int GL_PARTIAL_SUCCESS_NV = 0x902E; /** * Returned by VideoCaptureNV and GetVideoCaptureStream{i,f,d}vNV * when <pname> is LAST_VIDEO_CAPTURE_STATUS_NV: */ int GL_SUCCESS_NV = 0x902F, GL_FAILURE_NV = 0x9030; /** * Accepted in the <params> parameter of * VideoCaptureStreamParameter{i,f,d}vNV when <pname> is * VIDEO_BUFFER_INTERNAL_FORMAT_NV and returned by * GetVideoCaptureStream{i,f,d}vNV when <pname> is * VIDEO_BUFFER_INTERNAL_FORMAT_NV: */ int GL_YCBYCR8_422_NV = 0x9031, GL_YCBAYCR8A_4224_NV = 0x9032, GL_Z6Y10Z6CB10Z6Y10Z6CR10_422_NV = 0x9033, GL_Z6Y10Z6CB10Z6A10Z6Y10Z6CR10Z6A10_4224_NV = 0x9034, GL_Z4Y12Z4CB12Z4Y12Z4CR12_422_NV = 0x9035, GL_Z4Y12Z4CB12Z4A12Z4Y12Z4CR12Z4A12_4224_NV = 0x9036, GL_Z4Y12Z4CB12Z4CR12_444_NV = 0x9037; /* * Accepted in the attribute list of the GLX reply to the * glXEnumerateVideoCaptureDevicesNV command: */ /*int GLX_DEVICE_ID_NV = 0x20CD;*/ /** Accepted by the <attribute> parameter of NVPresentVideoUtil.glQueryContextNV: */ int GL_NUM_VIDEO_CAPTURE_SLOTS_NV = 0x20CF; /** * Accepted by the <attribute> parameter of * glQueryVideoCaptureDeviceNV: */ int GL_UNIQUE_ID_NV = 0x20CE; void glBeginVideoCaptureNV(@GLuint int video_capture_slot); void glBindVideoCaptureStreamBufferNV(@GLuint int video_capture_slot, @GLuint int stream, @GLenum int frame_region, @GLintptrARB long offset); void glBindVideoCaptureStreamTextureNV(@GLuint int video_capture_slot, @GLuint int stream, @GLenum int frame_region, @GLenum int target, @GLuint int texture); void glEndVideoCaptureNV(@GLuint int video_capture_slot); @StripPostfix("params") void glGetVideoCaptureivNV(@GLuint int video_capture_slot, @GLenum int pname, @OutParameter @Check("1") IntBuffer params); @Alternate("glGetVideoCaptureivNV") @GLreturn("params") @StripPostfix(value = "params", hasPostfix = false) void glGetVideoCaptureivNV2(@GLuint int video_capture_slot, @GLenum int pname, @OutParameter IntBuffer params); @StripPostfix("params") void glGetVideoCaptureStreamivNV(@GLuint int video_capture_slot, @GLuint int stream, @GLenum int pname, @OutParameter @Check("1") IntBuffer params); @Alternate("glGetVideoCaptureStreamivNV") @GLreturn("params") @StripPostfix(value = "params", hasPostfix = false) void glGetVideoCaptureStreamivNV2(@GLuint int video_capture_slot, @GLuint int stream, @GLenum int pname, @OutParameter IntBuffer params); @StripPostfix("params") void glGetVideoCaptureStreamfvNV(@GLuint int video_capture_slot, @GLuint int stream, @GLenum int pname, @OutParameter @Check("1") FloatBuffer params); @Alternate("glGetVideoCaptureStreamfvNV") @GLreturn("params") @StripPostfix(value = "params", hasPostfix = false) void glGetVideoCaptureStreamfvNV2(@GLuint int video_capture_slot, @GLuint int stream, @GLenum int pname, @OutParameter FloatBuffer params); @StripPostfix("params") void glGetVideoCaptureStreamdvNV(@GLuint int video_capture_slot, @GLuint int stream, @GLenum int pname, @OutParameter @Check("1") DoubleBuffer params); @Alternate("glGetVideoCaptureStreamdvNV") @GLreturn("params") @StripPostfix(value = "params", hasPostfix = false) void glGetVideoCaptureStreamdvNV2(@GLuint int video_capture_slot, @GLuint int stream, @GLenum int pname, @OutParameter DoubleBuffer params); @GLenum int glVideoCaptureNV(@GLuint int video_capture_slot, @OutParameter @Check("1") @GLuint IntBuffer sequence_num, @OutParameter @Check("1") @GLuint64EXT LongBuffer capture_time); @StripPostfix("params") void glVideoCaptureStreamParameterivNV(@GLuint int video_capture_slot, @GLuint int stream, @GLenum int pname, @Const @Check("16") IntBuffer params); @StripPostfix("params") void glVideoCaptureStreamParameterfvNV(@GLuint int video_capture_slot, @GLuint int stream, @GLenum int pname, @Const @Check("16") FloatBuffer params); @StripPostfix("params") void glVideoCaptureStreamParameterdvNV(@GLuint int video_capture_slot, @GLuint int stream, @GLenum int pname, @Const @Check("16") DoubleBuffer params); }