My work thus far. Contains shaders for motion compensation with 1 reference picture...
[xbmc:xbmc-antiquated.git] / sources / dvdplayer / ffmpeg / gpu / gpu_utils.h
1 #include <GL/glew.h>
2 #include <GL/glut.h>
3 #include <stdio.h>
4 #include <math.h>
5 #include <stdlib.h>
6 #include <string.h>
7 #include <stdint.h>
8 #include <malloc.h>
9 #include <fcntl.h>
10 #include <string.h>
11 #include <sys/types.h>
12 #include <unistd.h>
13
14 #ifndef GPU_UTILS_H
15 #define GPU_UTILS_H
16
17 // error codes
18 #define  ERROR_GLSL        -1
19 #define  ERROR_GLEW        -2
20 #define  ERROR_TEXTURE     -3
21 #define  ERROR_BINDFBO     -4
22 #define  ERROR_FBOTEXTURE  -5
23 #define  ERROR_PARAMS      -6
24
25 // a default draw function that will draw a single quad depending 
26 // on {screen,texture}{Height,Width}
27 extern int screenWidth, screenHeight;
28 extern float textureWidth,textureHeight, textureDepth;
29 void debug_draw_func();
30
31
32 typedef struct textureParameters {
33   GLenum texTarget;
34   GLenum texInternalFormat;
35   GLenum texFormat;
36 }textureParameters;
37
38 void initGPU(int width, int height);
39 GLuint initGPGPU(int width, int height);
40 void deinitGPGPU();
41 GLuint createTexture(int width, int height, int depth, textureParameters tp);
42 void transferTo2DTexture(int width, int height,  textureParameters tp, GLuint tex,
43                          GLenum type, void *data, int stride);
44 void transferTo3Dtexture(int width, int height, int depth, textureParameters tp,
45                          GLuint tex, GLenum type, void *data, int stride);
46 void transferFromTexture(textureParameters tp, GLuint tex, GLenum type, void *data);
47 GLuint createGLSLProgram(const char* vertFile,const char* fragFile);
48 int checkFramebufferStatus();
49 void checkGLErrors (const char *label);
50 void printProgramInfoLog(GLuint obj);
51 void printShaderInfoLog(GLuint obj);
52 void printVector (const float *p, const int N);
53 void printMatrix (const float *p, const int stride, const int height);
54 char *textFileRead(const char *fn) ;
55 int textFileWrite(char *fn, char *s);
56 #endif /* GPU_UTILS_H */