summaryrefslogtreecommitdiffstats
path: root/libvo/gl_common.h
Commit message (Collapse)AuthorAgeFilesLines
* libvo: remove title argument from struct vo_driver.configwm42011-12-061-1/+1
| | | | | | | | | | This affects only the "new" VO API. The config() title argument was barely used, and it's hardcoded to "MPlayer" in vf_vo.c. The X11 and the Cocoa GUI backends, which are the only ones properly supporting window titles, ignored this argument. Remove the title argument. Add the vo_get_window_title function. All GUI VOs are supposed to use it for the window title.
* vo_gl: add native mac osx Cocoa backend for vo_glStefano Pigozzi2011-11-261-0/+1
| | | | | | | | | Add native Cocoa code to display an OpenGL window. Some of the code is based on the OpenGL parts of vo_corevideo but I took the time to remove old code based on Carbon. There is autodetection in the configure script but you can use --enable[disable]-cocoa to enable[disable] this.
* vo_gl: fix 10 bit with Mesa drivers (Intel/Nouveau on Linux)wm42011-11-251-2/+5
| | | | | | | | | | | | | | | | | | The GL_LUMINANCE16 texture format had only 8 bit precision on Mesa based drivers. This caused heavy degradation of the image when playing formats with more than 8 bits per pixel, such as 10 bit h264. Use GL_R16 instead, which at least Mesa and Nvidia drivers actually implement as 16 bit textures. Since sampling from this texture format doesn't return anything meaningful in the other color components (unlike luminance textures), the shader code has to be slightly changed. GL_R16 requires the GL_ARB_texture_rg extension. Check for it, and fall back to the old texture format if it's not available. The low precision of the GL_LUMINANCE16 format has just been fixed in upstream Mesa, but it'll take a while before that fix is available in distros.
* vo_gl: implement screenshotswm42011-11-251-0/+2
|
* vo_gl: remove support for nvidia register combiners (yuv=1)wm42011-10-241-59/+1
| | | | | | | | | | | | | The register combiner color conversion is broken and seems to use a slightly incorrect color matrix (the image looks gray-ish). Completely remove all code related to nVidia register combiners. Unless you have an ancient nVidia GPU, there's no reason to prefer register combiners over fragment shaders. Users with ancient GPUs without fragment shader support can just use -vo xv. Passing yuv=1 (register combiners) as sub option will print a warning and use yuv=2 (fragment shaders) instead.
* vo_gl: remove mesa-buffer suboptionwm42011-10-241-3/+0
| | | | | | | This option enabled using Mesa specific functions, which have never been widely supported, and were removed from Mesa in 2010. http://cgit.freedesktop.org/mesa/mesa/commit/?id=cb2a66fd0c095fe03be5aaf88c8d48f5867425d3
* vo_gl: move window creation functions from vo_gl.c into gl_common.cwm42011-10-241-0/+2
| | | | | | | Now all windowing specific code is in gl_common.c. init_mpglcontext() used to set dummy callbacks for non-optional windowing callbacks. Remove these, as they only lead to confusion.
* vo_gl: convert to new API, clean up codewm42011-10-241-146/+166
| | | | | | | Reformat vo_gl.c, gl_common.c, gl_common.h. Remove all global variables and move them into a context struct (the Windows and SDL backends still refer to global_vo though). Change vo_gl.c to use the "new" VO API.
* vo_gl: Support 9- and 10-bit YUV input for OpenGL VOsreimar2011-07-061-0/+14
| | | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@33502 b3059339-0415-0410-9bf9-f77b7e298cf2 Fix clear/border color of chroma texture for 9- and 10-bit formats. Avoids pink borders for those formats. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@33504 b3059339-0415-0410-9bf9-f77b7e298cf2
* vo_gl: Request GL_LUMINANCE16 for 16-bit YUV inputreimar2011-06-291-0/+3
| | | | | | | Request GL_LUMINANCE16 as internal format for > 8 bit YUV formats. Have yet to find a system that actually provides that though. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@33453 b3059339-0415-0410-9bf9-f77b7e298cf2
* vo_gl: add helper macros to build the yuv conversion type numberreimar2010-11-021-0/+3
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@31742 b3059339-0415-0410-9bf9-f77b7e298cf2
* gl_common.h: Add () around macro arguments.reimar2010-11-021-3/+3
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@31741 b3059339-0415-0410-9bf9-f77b7e298cf2
* vo_gl: Add initial stereo supportreimar2010-11-021-0/+9
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@31633 b3059339-0415-0410-9bf9-f77b7e298cf2
* vo_gl, csputils: dual-license under LGPL v2.1reimar2010-11-021-0/+5
| | | | | | | | | | | | Dual-license gl_common and vo_gl under the LGPL v2.1 or later as an alternative to the GPL license. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@31375 b3059339-0415-0410-9bf9-f77b7e298cf2 Allow LGPL for csputils as well, they were previously part of gl_common and are still an important part of it. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@31376 b3059339-0415-0410-9bf9-f77b7e298cf2
* Merge svn changes up to r31133Uoti Urpala2010-05-071-4/+0
|\
| * Avoid duplicating the GL/gl.h include.reimar2010-04-301-4/+0
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@31107 b3059339-0415-0410-9bf9-f77b7e298cf2
* | Merge svn changes up to r31097Uoti Urpala2010-04-261-0/+5
|\|
| * Support for auto-selecting the OpenGL backend.reimar2010-04-251-0/+1
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@31086 b3059339-0415-0410-9bf9-f77b7e298cf2
| * Missing gl.h include for SDL backend.reimar2010-04-241-0/+3
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@31070 b3059339-0415-0410-9bf9-f77b7e298cf2
| * First steps to support -vo gl with SDL-based Window handling.reimar2010-04-241-0/+1
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@31062 b3059339-0415-0410-9bf9-f77b7e298cf2
* | Merge svn changes up to r31033Uoti Urpala2010-04-261-0/+9
|\|
| * Add some fallback OpenGL defines to fix compilation on Windows.reimar2010-04-071-0/+9
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@31027 b3059339-0415-0410-9bf9-f77b7e298cf2
* | Merge svn changes up to r31020Uoti Urpala2010-04-261-0/+1
|\|
| * Factor out the YUV->RGB conversion auto-selection and alsoreimar2010-04-041-0/+1
| | | | | | | | | | | | | | | | enable auto-selection of ATI fragment shaders since they should do accurate conversions now. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@31006 b3059339-0415-0410-9bf9-f77b7e298cf2
* | Merge svn changes up to r31004Uoti Urpala2010-04-261-79/+84
|\|
| * Implement OpenGL-based YUV to RGB version for Radeon 9200 classreimar2010-04-031-0/+5
| | | | | | | | | | | | | | cards on OS X. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30993 b3059339-0415-0410-9bf9-f77b7e298cf2
| * Add mpgl prefix to all OpenGL-related function pointers.reimar2010-04-031-79/+79
| | | | | | | | | | | | | | | | | | This is necessary because at least the GetString symbol causes clashes on PPC OSX 10.4, causing -vo gl to always crash. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30987 b3059339-0415-0410-9bf9-f77b7e298cf2
* | Merge svn changes up to r30185Uoti Urpala2010-01-081-0/+11
|\|
| * Add pointers to a few more standard OpenGL functions to ease future extensions.reimar2010-01-031-0/+11
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30179 b3059339-0415-0410-9bf9-f77b7e298cf2
* | Merge svn changes up to r30165Uoti Urpala2010-01-081-7/+5
|\|
| * Extract functions to generate yuv->rgb matrices and lookup tables into areimar2009-12-311-10/+1
| | | | | | | | | | | | | | separate file. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30150 b3059339-0415-0410-9bf9-f77b7e298cf2
| * Put the colourspace-related variables into a separate struct to easereimar2009-12-311-3/+8
| | | | | | | | | | | | | | extracting the code and sharing with other vos. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30149 b3059339-0415-0410-9bf9-f77b7e298cf2
| * Support all planar YUV formats in OpenGL vos.reimar2009-12-301-0/+2
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30139 b3059339-0415-0410-9bf9-f77b7e298cf2
* | Merge svn changes up to r30104Uoti Urpala2009-12-301-0/+3
|\| | | | | | | Ignore the broken correct-pts change in r30100.
| * Define GL_GENERATE_MIPMAP ourselves if necessary.reimar2009-12-191-0/+3
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30074 b3059339-0415-0410-9bf9-f77b7e298cf2
* | Merge svn changes up to r30065Uoti Urpala2009-12-291-6/+6
|\|
| * Rename GL_* defines to CONFIG_GL_*reimar2009-12-191-6/+6
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30065 b3059339-0415-0410-9bf9-f77b7e298cf2
| * Make the check for X11 and WIN32 backends for OpenGL separate.reimar2009-12-191-3/+3
| | | | | | | | | | | | This fixes compilation on Windows with X11 but no GLX available. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30063 b3059339-0415-0410-9bf9-f77b7e298cf2
* | Merge svn changes up to r30055Uoti Urpala2009-12-181-51/+110
|\|
| * Prefer GLAPIENTRY over APIENTRY, it is the better name and used more by ↵reimar2009-12-091-73/+73
| | | | | | | | | | | | OpenGL headers. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29983 b3059339-0415-0410-9bf9-f77b7e298cf2
| * Pass all OpenGL functions through a function pointer indirection.reimar2009-12-081-0/+41
| | | | | | | | | | | | | | | | This still needs more work, but should allow supporting e.g. GLX-OpenGL and Win32-OpenGL with a single binary. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29981 b3059339-0415-0410-9bf9-f77b7e298cf2
| * Very preliminary code to allow selecting the OpenGL backend at runtime.reimar2009-12-081-18/+34
| | | | | | | | | | | | | | | | | | Works in the currently supported cases for only Win32 and only X11, the mixed case is not working yet though. But applied anyway since the code is slightly less messy than the current one. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29980 b3059339-0415-0410-9bf9-f77b7e298cf2
| * whitespace cosmetics: Remove all trailing whitespace.diego2009-05-131-2/+2
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29305 b3059339-0415-0410-9bf9-f77b7e298cf2
* | Remove trailing whitespace from most filesUoti Urpala2009-07-071-2/+2
| |
* | Merge svn changes up to r28537Uoti Urpala2009-02-121-0/+18
|\|
| * Add standard license headers, unify header formatting.diego2009-02-081-0/+18
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@28481 b3059339-0415-0410-9bf9-f77b7e298cf2
* | Merge svn changes up to r28149Uoti Urpala2008-12-141-0/+3
|\|
| * 100l, forgot setting GL_UNPACK_CLIENT_STORAGE_APPLE for mesa-buffer mode.reimar2008-12-061-0/+3
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@28104 b3059339-0415-0410-9bf9-f77b7e298cf2
* | Merge svn changes up to r28103Uoti Urpala2008-12-061-0/+11
|\|
| * Add experimental support for glXAllocateMemoryMESAreimar2008-12-051-0/+2
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@28101 b3059339-0415-0410-9bf9-f77b7e298cf2
| * Add support for YCBCR MESA texture format to vo_gl.reimar2008-12-051-0/+9
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@28093 b3059339-0415-0410-9bf9-f77b7e298cf2
* | Merge svn changes up to r27899Uoti Urpala2008-11-061-2/+32
|\|
| * For fragment programs, check GL_MAX_TEXTURE_IMAGE_UNITS instead of ↵reimar2008-11-061-0/+3
| | | | | | | | | | | | GL_MAX_TEXTURE_UNITS. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@27899 b3059339-0415-0410-9bf9-f77b7e298cf2
| * Change OpenGL support to work on unmodified MinGW64reimar2008-11-021-2/+29
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@27879 b3059339-0415-0410-9bf9-f77b7e298cf2
* | Merge svn changes up to r27682Uoti Urpala2008-10-021-1/+1
|\| | | | | | | | | | | | | | | | | Addition of the "outdir" suboption to vo_png in svn was reverted before merging. Conflicts: command.c mplayer.c
| * Change glCreateClearTex to use the same host data format as later uploads.reimar2008-09-201-1/+1
| | | | | | | | | | | | | | This fixes at least some of the massive performance problems the ATI drivers have. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@27653 b3059339-0415-0410-9bf9-f77b7e298cf2
* | Merge svn changes up to r27347Uoti Urpala2008-07-251-0/+2
|\| | | | | | | | | | | | | | | | | | | | | Conflicts: libvo/x11_common.c libvo/x11_common.h Rename the vo_gl macro "vo_border()" to "vo_gl_border" as it conflicts with the global variable "vo_border"; done in the merge commit because uses of the macro needed changes anyway to resolve conflicts.
| * Enable runtime border/window decorations-toggling for Linux gl and gl2 vos.reimar2008-07-221-0/+2
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@27338 b3059339-0415-0410-9bf9-f77b7e298cf2
* | Merge svn changes up to r26979Uoti Urpala2008-06-041-5/+16
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Most of the conflicts are trivial. Conflicts: Makefile cfg-mplayer.h input/input.c libmenu/vf_menu.c libmpcodecs/dec_video.c libmpcodecs/vf_expand.c libmpcodecs/vf_vo.c libmpdemux/demux_mkv.c libmpdemux/demuxer.c libmpdemux/demuxer.h libvo/vo_directfb2.c libvo/vo_gl.c libvo/vo_winvidix.c libvo/vo_xv.c libvo/vo_xvidix.c libvo/vo_xvmc.c libvo/x11_common.c mplayer.c osdep/timer-linux.c stream/cache2.c
| * Add a filter strength parameter for blurring/sharpening scalers.reimar2008-05-241-0/+1
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@26868 b3059339-0415-0410-9bf9-f77b7e298cf2
| * Forgotten changes to gl_common.hreimar2008-05-241-5/+15
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@26867 b3059339-0415-0410-9bf9-f77b7e298cf2
* | vo_gl[2]: Rename conflicting vo_ontop macroUoti Urpala2008-04-231-2/+2
|/ | | | | | | | Rename the vo_ontop() macro to vo_gl_ontop(). It caused problems with other changes because it conflicts with a global variable name (gl2 actually called vo_ontop() as a function and used vo_ontop as an int - this only worked because vo_ontop was defined as a function-like macro and use without parentheses didn't trigger replacement).
* #include config.h before all other headers.diego2008-03-141-1/+1
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@26235 b3059339-0415-0410-9bf9-f77b7e298cf2
* This header uses parts of stdint.h, so #include it.diego2008-03-071-0/+1
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@26195 b3059339-0415-0410-9bf9-f77b7e298cf2
* Add missing header #includes to fix 'make checkheaders'.diego2008-03-071-