1
0
mirror of https://github.com/mpv-player/mpv synced 2024-12-25 16:33:02 +00:00
mpv/video
wm4 eb83ee4a4a vo_opengl: add our own copy of OpenGL headers
gl_headers.h is basically header_fixes.h done consequently. It contains
all OpenGL defines (and some typedefs) we need. We don't include GL
headers provided by the system anymore.

Some care has to be taken by certain windowing APIs including all of
gl.h anyway. Then the definitions could clash. Fortunately, redefining
preprocessor symbols to the same content is allowed and ignored. Also,
redefining typedefs to the same thing is allowed in C11. Apparently the
latter is not allowed in C99, so there is an imperfect attempt to avoid
the typedefs if required API symbols are apparently present already.

The nost risky part about this are the standard typedefs and GLAPIENTRY.
The latter is different only on win32 (and at least consistently so).
The typedefs are mostly based on stdint.h typedefs, which khrplatform.h
clumsily emulates on platforms which don't have it. The biggest
difference is that we define GLsizeiptr directly to ptrdiff_t, instead
of checking for the _WIN64 symbol and defining it to long or long long.

This also typedefs GLsync to __GLsync, just like the khronos headers.
Although symbols prefixed with __ are implementation reserved, khronos
also violates this rule, and having the same definition as khronos will
avoid problems on duplicate definitions.

We can simplify the build scripts too. The ios-gl check seems a bit
wrong now (what we really want to test for is EAGLContext), but I can't
test and thus can't improve it.

cuda_dynamic.h redefined two GL symbols; just include the new headers
directly instead.
2017-04-07 15:09:27 +02:00
..
decode vd_lavc: fix return value in receive_frame() 2017-04-07 12:24:26 +02:00
filter vf_lavfi, af_lavfi: remove unused/deprecated include 2017-04-05 16:12:47 +02:00
out vo_opengl: add our own copy of OpenGL headers 2017-04-07 15:09:27 +02:00
csputils.c Remove compatibility things 2016-12-07 19:53:11 +01:00
csputils.h demux: expose demuxer colorimetry metadata to player 2016-11-08 19:16:26 +01:00
fmt-conversion.c Remove compatibility things 2016-12-07 19:53:11 +01:00
fmt-conversion.h
gpu_memcpy.c Fix misspellings 2016-06-26 13:47:21 +02:00
gpu_memcpy.h
hwdec.c vd_lavc, vaapi: move hw device creation to generic code 2017-02-20 08:39:55 +01:00
hwdec.h video: fix a typo in a comment 2017-03-23 11:16:02 +01:00
image_writer.c image_writer: make it work with libavcodec's jpg encoder 2017-04-02 17:21:42 +02:00
image_writer.h screenshot: change details of --screenshot-format handling 2017-03-18 15:03:05 +01:00
img_format.c img_format: stop setting some fields to dummy values for hwaccel formats 2017-02-21 10:35:38 +01:00
img_format.h vo_opengl: hwdec_cuda: Support P016 output surfaces 2016-11-22 20:19:58 +01:00
img_fourcc.h
mp_image_pool.c mp_image_tool: guard hw downloading against allocation failures 2017-02-07 17:06:20 +01:00
mp_image_pool.h vaapi: use libavutil functions for copying hw surfaces to memory 2017-01-12 13:58:28 +01:00
mp_image.c mp_image: for hwaccel, use underlying fmt in mp_image_params_guess_csp() 2017-02-21 10:34:26 +01:00
mp_image.h lavfi: use mp_image to store the filter pad format 2017-02-20 13:15:50 +01:00
sws_utils.c build: replace some FFmpeg API checks with version checks 2017-01-24 08:11:42 +01:00
sws_utils.h
vaapi.c vd_lavc, vaapi: move hw device creation to generic code 2017-02-20 08:39:55 +01:00
vaapi.h vd_lavc, vaapi: move hw device creation to generic code 2017-02-20 08:39:55 +01:00
vdpau_functions.inc
vdpau_mixer.c
vdpau_mixer.h
vdpau.c vdpau: support new vdpau libavcodec decode API 2017-03-23 11:14:11 +01:00
vdpau.h vdpau: support new vdpau libavcodec decode API 2017-03-23 11:14:11 +01:00
vt.c vo_opengl: hwdec_osx: use new format setup function 2017-02-17 17:08:37 +01:00
vt.h videotoolbox: add reverse format mapping function 2017-02-17 13:51:03 +01:00