Commit Graph

118 Commits

Author SHA1 Message Date
reimar a326622304 Add support for 16-bit per component YUV formats.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30152 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-12-31 22:53:25 +00:00
reimar 0ecf324ac5 Extract functions to generate yuv->rgb matrices and lookup tables into a
separate file.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30150 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-12-31 18:25:35 +00:00
reimar c4c806a9d7 Put the colourspace-related variables into a separate struct to ease
extracting the code and sharing with other vos.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30149 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-12-31 18:07:37 +00:00
reimar 8e35068138 Support all planar YUV formats in OpenGL vos.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30139 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-12-30 11:32:24 +00:00
reimar acd1630d1b Change %f to %e in generated fragment programs to avoid losing precision unnecessarily.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30078 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-12-20 14:32:34 +00:00
reimar 89a2a84868 Fix a broken indentation.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30070 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-12-19 20:45:34 +00:00
reimar 213707b9e4 Enable running fragment programs with YUV_CONVERSION_NONE
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30069 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-12-19 20:44:55 +00:00
reimar f97fd3eff0 Rename GL_* defines to CONFIG_GL_*
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30065 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-12-19 13:49:44 +00:00
reimar 140de2a9e2 Make the check for X11 and WIN32 backends for OpenGL separate.
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
2009-12-19 10:52:32 +00:00
reimar 80981cd2d0 Use a fallback to make sure the basic OpenGL functions are available instead of
initializing them which does not work well with reinitializations.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29984 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-12-09 17:50:07 +00:00
reimar c13aaf85d1 Prefer GLAPIENTRY over APIENTRY, it is the better name and used more by OpenGL headers.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29983 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-12-09 17:36:55 +00:00
reimar e64d47925a Pass all OpenGL functions through a function pointer indirection.
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
2009-12-08 23:32:51 +00:00
reimar 2661039ada Very preliminary code to allow selecting the OpenGL backend at runtime.
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
2009-12-08 06:42:46 +00:00
reimar c045f6525f Move OpenGL-related messages that have large output from MSGL_V to MSGL_DGB2.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29947 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-11-21 22:30:33 +00:00
reimar 4805ea9864 Add support for Windows OpenGL rendering onto a device instead of into a window.
Has little use except for experimenting - on Windows 9x it could be used to
render on monitors that were not managed by Windows, but that feature was
removed in newer Windows versions.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29946 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-11-21 22:27:40 +00:00
reimar 597c92ff7f Support RGB48NE format in OpenGL vos (only really useful once they are modified
to actually use GLX/WGL visuals with more than 8 bits per component if available).


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29944 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-11-21 18:59:52 +00:00
reimar bd5ec5065e Use calloc to allocate a rather large (currently 32k) array instead of
putting it on the stack, performance should not matter much here.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29938 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-11-20 23:36:16 +00:00
reimar fe3b9a88ce Also check GLX client and server strings for extensions
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29721 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-09-27 14:24:15 +00:00
diego 6e9cbdc104 whitespace cosmetics: Remove all trailing whitespace.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29305 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-05-13 02:58:57 +00:00
reimar d6cf125d94 Change getdladdr to always use dlopen, dlsym and then dlclose.
Performance is not really important and dlsym(0, ...) is
not defined while the more correct dlsym(RTLD_DEFAULT, ...)
is a GNUism (although POSIX does reserve RTLD_DEFAULT).


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29224 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-04-23 10:18:32 +00:00
diego 824abb5a65 Add missing 'void' keyword to parameterless function declarations.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@28267 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-01-05 14:48:03 +00:00
reimar b6e113841c Add experimental support for glXAllocateMemoryMESA
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@28101 b3059339-0415-0410-9bf9-f77b7e298cf2
2008-12-05 22:16:45 +00:00
reimar 0ca415447d Add support for YCBCR MESA texture format to vo_gl.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@28093 b3059339-0415-0410-9bf9-f77b7e298cf2
2008-12-05 15:36:54 +00:00
reimar a3e78418b9 Cosmetics, whitespace and "... == NULL" to "!..."
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@28070 b3059339-0415-0410-9bf9-f77b7e298cf2
2008-12-03 09:58:11 +00:00
reimar 87bee02b19 Replace some of the different inconsistent XGetGeometry uses by a
vo_x11_update_geometry function.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@27919 b3059339-0415-0410-9bf9-f77b7e298cf2
2008-11-15 17:45:55 +00:00
reimar 14eb21fce0 For fragment programs, check GL_MAX_TEXTURE_IMAGE_UNITS instead of GL_MAX_TEXTURE_UNITS.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@27899 b3059339-0415-0410-9bf9-f77b7e298cf2
2008-11-06 18:39:37 +00:00
reimar 10dc2e1429 Fix glAdjustAlignment parameter in glCreateClearTex
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@27654 b3059339-0415-0410-9bf9-f77b7e298cf2
2008-09-20 19:41:13 +00:00
reimar 0e99017da9 Change glCreateClearTex to use the same host data format as later uploads.
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
2008-09-20 17:48:01 +00:00
diego 3311a2ae9c Replace casual GPL notices by proper license headers.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@27541 b3059339-0415-0410-9bf9-f77b7e298cf2
2008-09-07 14:09:51 +00:00
reimar 6701227e16 Simplify yuv to rgb conversion matrix stuff.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@26871 b3059339-0415-0410-9bf9-f77b7e298cf2
2008-05-24 12:10:08 +00:00
reimar 5ba240c875 Cosmetics: align
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@26870 b3059339-0415-0410-9bf9-f77b7e298cf2
2008-05-24 11:31:49 +00:00
reimar 54f9e2b03d update doxygen comments
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@26869 b3059339-0415-0410-9bf9-f77b7e298cf2
2008-05-24 11:25:57 +00:00
reimar 6689fe364e Add a filter strength parameter for blurring/sharpening scalers.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@26868 b3059339-0415-0410-9bf9-f77b7e298cf2
2008-05-24 11:19:38 +00:00
reimar 056b5b9457 Use a struct instead of a huge and further growing argument list.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@26866 b3059339-0415-0410-9bf9-f77b7e298cf2
2008-05-24 11:03:00 +00:00
reimar 5979388565 Fix and simplify lscale=2 (bicub_x) scaler, produced funny
noise on ATI cards due to cdelta.y never being set.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@26227 b3059339-0415-0410-9bf9-f77b7e298cf2
2008-03-12 15:17:06 +00:00
reimar 7a6d302f42 Try harder to find OpenGL functions on Windows.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@25985 b3059339-0415-0410-9bf9-f77b7e298cf2
2008-02-11 19:37:47 +00:00
reimar 174aeba480 Allow for larger fragment programs.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@25913 b3059339-0415-0410-9bf9-f77b7e298cf2
2008-01-29 18:00:20 +00:00
reimar ae813d2b37 Fix a coefficient for lscale=5 OpenGL mode
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@25797 b3059339-0415-0410-9bf9-f77b7e298cf2
2008-01-19 14:20:56 +00:00
reimar b5186a059e Simplify and silence lots of warnings
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@25790 b3059339-0415-0410-9bf9-f77b7e298cf2
2008-01-19 11:09:33 +00:00
reimar 34565b09a6 Fix using both lscale and cscale 4
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@25788 b3059339-0415-0410-9bf9-f77b7e298cf2
2008-01-19 10:10:05 +00:00
reimar 6a6c3d8cbc Add a fragment program for 5x5 unsharp masking
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@25786 b3059339-0415-0410-9bf9-f77b7e298cf2
2008-01-18 19:05:29 +00:00
reimar 932f9595bb Remove leftover backslash
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@25785 b3059339-0415-0410-9bf9-f77b7e298cf2
2008-01-18 18:38:02 +00:00
reimar 3521950ba9 Simplify
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@25784 b3059339-0415-0410-9bf9-f77b7e298cf2
2008-01-18 18:37:18 +00:00
reimar 09e3d23298 Use the same unsharp filter template for 2D and RECT textures
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@25783 b3059339-0415-0410-9bf9-f77b7e298cf2
2008-01-18 18:34:10 +00:00
reimar da44633714 Fix OpenGL unsharp filter
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@25773 b3059339-0415-0410-9bf9-f77b7e298cf2
2008-01-16 20:36:01 +00:00
reimar 45c0df9bcb Create/allocate conversion textures before scaler textures.
Allows overriding gamma ramp texture also when using a non-trivial scaler.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@25758 b3059339-0415-0410-9bf9-f77b7e298cf2
2008-01-15 18:14:00 +00:00
reimar 1fbd767ef6 Add experimental unsharp-mask OpenGL scaler. Certainly not yet perfect.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@25757 b3059339-0415-0410-9bf9-f77b7e298cf2
2008-01-15 17:59:20 +00:00
reimar 649027b817 Add a forgotten case to create_scaler_textures, avoids an incorrect warning.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@25755 b3059339-0415-0410-9bf9-f77b7e298cf2
2008-01-15 17:51:21 +00:00
reimar 0375e5fe2b Fix typo in comment
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@24805 b3059339-0415-0410-9bf9-f77b7e298cf2
2007-10-18 12:39:59 +00:00
reimar dc804a9536 Add a bicubic scaler that needs a lot more instruction but no
extra texture lookup


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@24338 b3059339-0415-0410-9bf9-f77b7e298cf2
2007-09-04 10:46:31 +00:00