/* * eglstrm_common.h * * Copyright 2016 NVIDIA Corporation. All rights reserved. * * Please refer to the NVIDIA end user license agreement (EULA) associated * with this source code for terms and conditions that govern your use of * this software. Any use, reproduction, disclosure, or distribution of * this software and related documentation outside the terms of the EULA * is strictly prohibited. * */ // // DESCRIPTION: Common EGL stream functions header file // #ifndef _EGLSTRM_COMMON_H_ #define _EGLSTRM_COMMON_H_ #include #include #include #include #include #include #include #include #include "cuda.h" #include "helper_cuda_drvapi.h" #include "cudaEGL.h" #define EXTENSION_LIST(T) \ T( PFNEGLCREATESTREAMKHRPROC, eglCreateStreamKHR ) \ T( PFNEGLDESTROYSTREAMKHRPROC, eglDestroyStreamKHR ) \ T( PFNEGLQUERYSTREAMKHRPROC, eglQueryStreamKHR ) \ T( PFNEGLQUERYSTREAMU64KHRPROC, eglQueryStreamu64KHR ) \ T( PFNEGLQUERYSTREAMTIMEKHRPROC, eglQueryStreamTimeKHR ) \ T( PFNEGLSTREAMATTRIBKHRPROC, eglStreamAttribKHR ) \ T( PFNEGLSTREAMCONSUMERACQUIREKHRPROC, eglStreamConsumerAcquireKHR ) \ T( PFNEGLSTREAMCONSUMERRELEASEKHRPROC, eglStreamConsumerReleaseKHR ) \ T( PFNEGLSTREAMCONSUMERGLTEXTUREEXTERNALKHRPROC, \ eglStreamConsumerGLTextureExternalKHR ) \ T( PFNEGLGETSTREAMFILEDESCRIPTORKHRPROC, eglGetStreamFileDescriptorKHR) \ T( PFNEGLQUERYDEVICESEXTPROC, eglQueryDevicesEXT) \ T( PFNEGLGETPLATFORMDISPLAYEXTPROC, eglGetPlatformDisplayEXT) \ T( PFNEGLQUERYDEVICEATTRIBEXTPROC, eglQueryDeviceAttribEXT) \ T( PFNEGLCREATESTREAMFROMFILEDESCRIPTORKHRPROC, eglCreateStreamFromFileDescriptorKHR) #define eglCreateStreamKHR my_eglCreateStreamKHR #define eglDestroyStreamKHR my_eglDestroyStreamKHR #define eglQueryStreamKHR my_eglQueryStreamKHR #define eglQueryStreamu64KHR my_eglQueryStreamu64KHR #define eglQueryStreamTimeKHR my_eglQueryStreamTimeKHR #define eglStreamAttribKHR my_eglStreamAttribKHR #define eglStreamConsumerAcquireKHR my_eglStreamConsumerAcquireKHR #define eglStreamConsumerReleaseKHR my_eglStreamConsumerReleaseKHR #define eglStreamConsumerGLTextureExternalKHR my_eglStreamConsumerGLTextureExternalKHR #define eglGetStreamFileDescriptorKHR my_eglGetStreamFileDescriptorKHR #define eglCreateStreamFromFileDescriptorKHR my_eglCreateStreamFromFileDescriptorKHR #define eglQueryDevicesEXT my_eglQueryDevicesEXT #define eglGetPlatformDisplayEXT my_eglGetPlatformDisplayEXT #define eglQueryDeviceAttribEXT my_eglQueryDeviceAttribEXT #define EXTLST_DECL(tx, x) tx my_ ## x = NULL; #define EXTLST_EXTERN(tx, x) extern tx my_ ## x; #define EXTLST_ENTRY(tx, x) { (extlst_fnptr_t *)&my_ ## x, #x }, #define MAX_STRING_SIZE 256 #define WIDTH 720 #define HEIGHT 480 typedef struct _TestArgs { char *infile1; char *infile2; bool isARGB; unsigned int inputWidth; unsigned int inputHeight; bool pitchLinearOutput; } TestArgs; int eglSetupExtensions(void); int EGLStreamInit(int* dev); void EGLStreamFini(void); #endif