Commit Graph

66 Commits

Author SHA1 Message Date
reimar f06aa83a83 Add pointers to a few more standard OpenGL functions to ease future extensions.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30179 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-01-03 12:55:09 +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 763402d423 Define GL_GENERATE_MIPMAP ourselves if necessary.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30074 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-12-19 21:07:42 +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 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
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
diego befc528297 Add standard license headers, unify header formatting.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@28481 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-02-08 03:27:30 +00:00
reimar 39f24a83c7 100l, forgot setting GL_UNPACK_CLIENT_STORAGE_APPLE for mesa-buffer mode.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@28104 b3059339-0415-0410-9bf9-f77b7e298cf2
2008-12-06 06:18:57 +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 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 c9f2a3636c Change OpenGL support to work on unmodified MinGW64
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@27879 b3059339-0415-0410-9bf9-f77b7e298cf2
2008-11-02 16:37:45 +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
reimar 983800b76f Enable runtime border/window decorations-toggling for Linux gl and gl2 vos.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@27338 b3059339-0415-0410-9bf9-f77b7e298cf2
2008-07-22 18:46:07 +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 dbe3c2994a Forgotten changes to gl_common.h
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@26867 b3059339-0415-0410-9bf9-f77b7e298cf2
2008-05-24 11:04:18 +00:00
diego 37ea342f85 #include config.h before all other headers.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@26235 b3059339-0415-0410-9bf9-f77b7e298cf2
2008-03-14 16:46:13 +00:00
diego c5001347c2 This header uses parts of stdint.h, so #include it.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@26195 b3059339-0415-0410-9bf9-f77b7e298cf2
2008-03-07 20:25:26 +00:00
diego d04df10807 Add missing header #includes to fix 'make checkheaders'.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@26194 b3059339-0415-0410-9bf9-f77b7e298cf2
2008-03-07 20:07:15 +00:00
diego 8efb2fa21c Add MPLAYER_ prefix to multiple inclusion guards.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@26061 b3059339-0415-0410-9bf9-f77b7e298cf2
2008-02-22 09:09:46 +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 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
diego fba0b66ff9 Add explanatory comments to the #endif part of multiple inclusion guards.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@25563 b3059339-0415-0410-9bf9-f77b7e298cf2
2007-12-31 16:15:50 +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
diego 3e9e4acd8d Do not use leading underscores in multiple inclusion guards, they are reserved.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@23709 b3059339-0415-0410-9bf9-f77b7e298cf2
2007-07-02 22:34:45 +00:00
reimar d32650a87c forgotten lscale=2 part for gl_common.h
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@22509 b3059339-0415-0410-9bf9-f77b7e298cf2
2007-03-11 15:32:48 +00:00
reimar 4f6a65ef4e Avoid void * arithmetic
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@21217 b3059339-0415-0410-9bf9-f77b7e298cf2
2006-11-25 13:34:55 +00:00
reimar e799a08925 Support for 16 bit ppms
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@18966 b3059339-0415-0410-9bf9-f77b7e298cf2
2006-07-08 19:23:26 +00:00
reimar 497b2f561e Add yuv to rgb conversion using a 3D lookup texture
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@18656 b3059339-0415-0410-9bf9-f77b7e298cf2
2006-06-08 19:02:56 +00:00
reimar 2a61cc675b loadGPUProgram function to load fragment program with error checking and statistics
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@18654 b3059339-0415-0410-9bf9-f77b7e298cf2
2006-06-08 18:50:11 +00:00
reimar 1b0b329dd7 Add bicubic texture scaling
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@18623 b3059339-0415-0410-9bf9-f77b7e298cf2
2006-06-07 14:07:32 +00:00
reimar 0965bcee43 Reworked YUV2RGB fragment program setup in preparation for upcoming patches
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@18620 b3059339-0415-0410-9bf9-f77b7e298cf2
2006-06-07 13:24:54 +00:00
reimar a0a494e6f2 add (currently unused) lookup for glTexImage3D
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@18579 b3059339-0415-0410-9bf9-f77b7e298cf2
2006-06-05 11:26:33 +00:00
reimar 19935f69bd minor fixes: get rid of pointless inline attributes and some additional checks
fo ppm reading


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@18176 b3059339-0415-0410-9bf9-f77b7e298cf2
2006-04-21 18:46:17 +00:00
reimar 1c45f83cac Better fallback for APIENTRY when compiling for Windows
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@17689 b3059339-0415-0410-9bf9-f77b7e298cf2
2006-02-26 09:47:17 +00:00
reimar d18baca45c workaround for gl.h variants that do not define APIENTRY
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@17669 b3059339-0415-0410-9bf9-f77b7e298cf2
2006-02-23 10:18:10 +00:00
rathann e7db4ccf1a Patch by Stefan Huehner / stefan % huehner ! org \
patch replaces '()' for the correct '(void)' in function
declarations/prototypes which have no parameters. The '()' syntax tell
thats there is a variable list of arguments, so that the compiler cannot
check this. The extra CFLAG '-Wstrict-declarations' shows those cases.

Comments about a similar patch applied to ffmpeg:

That in C++ these mean the same, but in ANSI C the semantics are
different; function() is an (obsolete) K&R C style forward declaration,
it basically means that the function can have any number and any types
of parameters, effectively completely preventing the compiler from doing
any sort of type checking. -- Erik Slagter

Defining functions with unspecified arguments is allowed but bad.
With arguments unspecified the compiler can't report an error/warning
if the function is called with incorrect arguments. -- Måns Rullgård


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@17567 b3059339-0415-0410-9bf9-f77b7e298cf2
2006-02-09 14:08:03 +00:00
reimar 2a15e8beb8 support negative stride (flipping) in vo_gl.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@17221 b3059339-0415-0410-9bf9-f77b7e298cf2
2005-12-18 12:04:08 +00:00
reimar 6b9f08f720 Get rid of most #ifdefs
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@17117 b3059339-0415-0410-9bf9-f77b7e298cf2
2005-12-06 22:23:06 +00:00
reimar 1b6809f326 More consistent and sane types. Also avoids some gcc 4 warnings.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@16880 b3059339-0415-0410-9bf9-f77b7e298cf2
2005-10-31 13:56:16 +00:00
reimar d28ad7d31d Support for ATI specific YUV->RGB conversion.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@16626 b3059339-0415-0410-9bf9-f77b7e298cf2
2005-10-01 12:49:28 +00:00
reimar 9f24b5c71f Add missing GL_REGISTER_COMBINERS_NV define
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@16609 b3059339-0415-0410-9bf9-f77b7e298cf2
2005-09-27 08:33:33 +00:00
reimar 7a3909684e fix/improve code doxumentation. Also group gl_common functions in several
doxygen modules


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@16596 b3059339-0415-0410-9bf9-f77b7e298cf2
2005-09-25 16:41:28 +00:00
reimar d29c9ddf19 support loading a texture from a PPM file
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@16593 b3059339-0415-0410-9bf9-f77b7e298cf2
2005-09-25 16:30:00 +00:00
reimar d16d2c3e32 Support rectangular texture in fragment programs
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@16587 b3059339-0415-0410-9bf9-f77b7e298cf2
2005-09-25 16:07:54 +00:00