![]() |
UltraGrid
UltraGrid Low-Latency High-Resolution Transmission System
|
#include <GL/glew.h>#include <GLFW/glfw3.h>#include "spout_sender.h"#include "syphon_server.h"#include <algorithm>#include <cassert>#include <climits>#include <cmath>#include <condition_variable>#include <cstdint>#include <fstream>#include <iostream>#include <mutex>#include <queue>#include <string>#include <string_view>#include <unordered_map>#include "color.h"#include "debug.h"#include "gl_context.h"#include "host.h"#include "keyboard_control.h"#include "lib_common.h"#include "messaging.h"#include "module.h"#include "types.h"#include "utils/color_out.h"#include "utils/macros.h"#include "utils/ref_count.hpp"#include "video.h"#include "video_display.h"#include "gl_vdpau.hpp"
Go to the source code of this file.
Classes | |
| struct | state_gl |
| struct | state_gl::current_display_desc |
Macros | |
| #define | ADAPTIVE_VSYNC -1 |
| #define | BAR_GREY_COL (0.9) |
| #define | BAR_WIDTH (.01) |
| #define | BARS_BOTTOM (.8) |
| #define | BARS_TOP (.9) |
| #define | DEFAULT_WIN_NAME "Ultragrid - OpenGL Display" |
| #define | FEATURE_PRESENT(x) |
| #define | GL_DEINTERLACE_IMPOSSIBLE_MSG_ID 0x38e52705 |
| #define | GL_DISABLE_10B_OPT_PARAM_NAME "gl-disable-10b" |
| #define | GL_WINDOW_HINT_OPT_PARAM_NAME "glfw-window-hint" |
| #define | LEFT_BAR_LEFT (-.9) |
| #define | LEFT_BAR_RIGHT (LEFT_BAR_LEFT + BAR_WIDTH) |
| #define | MAGIC_GL 0x1331018e |
| #define | MAX_BUFFER_SIZE 1 |
| #define | MOD_NAME "[GL] " |
| #define | RIGHT_BAR_LEFT (LEFT_BAR_RIGHT + BAR_WIDTH) |
| #define | RIGHT_BAR_RIGHT (RIGHT_BAR_LEFT + BAR_WIDTH) |
| #define | SINGLE_BUF 0xFF |
| #define | SYSTEM_VSYNC 0xFE |
Functions | |
| ADD_TO_PARAM (GL_DISABLE_10B_OPT_PARAM_NAME, "* " GL_DISABLE_10B_OPT_PARAM_NAME "\n" " Disable 10 bit codec processing to improve performance\n") | |
| ADD_TO_PARAM (GL_WINDOW_HINT_OPT_PARAM_NAME, "* " GL_WINDOW_HINT_OPT_PARAM_NAME "=<k>=<v>[:<k2>=<v2>...]\n" " Set window hint <k> to value <v> (deprecated, use option)\n") | |
| static bool | check_rpi_pbo_quirks () |
| static bool | display_gl_check_gl_version () |
| static void | display_gl_cleanup_opengl (struct state_gl *s) |
| static void | display_gl_done (void *state) |
| static bool | display_gl_get_property (void *state, int property, void *val, size_t *len) |
| static struct video_frame * | display_gl_getf (void *state) |
| static void * | display_gl_init (struct module *parent, const char *fmt, unsigned int flags) |
| static bool | display_gl_init_opengl (struct state_gl *s) |
| static void * | display_gl_parse_fmt (struct state_gl *s, char *ptr) |
| static void | display_gl_print_depth () |
| static bool | display_gl_process_key (struct state_gl *s, long long int key) |
| static bool | display_gl_putf (void *state, struct video_frame *frame, long long timeout) |
| static bool | display_gl_reconfigure (void *state, struct video_desc desc) |
| static void | display_gl_render_last (GLFWwindow *win) |
| static void | display_gl_run (void *arg) |
| static void | display_gl_set_sync_on_vblank (int value) |
| static void | display_gl_set_window_hints (struct state_gl *s) |
| static void | draw_pause () |
| draw pause symbol (2 vertical bars) to the lefttop part of the frame | |
| static int | get_refresh_rate (enum state_gl::modeset_t modeset, GLFWmonitor *mon, double video_refresh_rate) |
| static void | gl_change_aspect (struct state_gl *s, int width, int height) |
| static void | gl_draw (double ratio, double bottom_offset, bool double_buf) |
| static void | gl_load_splashscreen (struct state_gl *s) |
| static void | gl_print_monitors (bool fullhelp) |
| static void | gl_process_frames (struct state_gl *s) |
| static void | gl_reconfigure_screen (struct state_gl *s, struct video_desc desc) |
| static void | gl_render (struct state_gl *s, char *data) |
| static void | gl_render_glsl (struct state_gl *s, char *data) |
| static void | gl_resize (GLFWwindow *win, int width, int height) |
| static void | gl_show_help (bool full) |
| static GLuint | gl_substitute_compile_link (const char *vprogram, const char *fprogram) |
| static void | glfw_close_callback (GLFWwindow *win) |
| static void | glfw_key_callback (GLFWwindow *win, int key, int scancode, int action, int mods) |
| static void | glfw_mouse_callback (GLFWwindow *win, double x, double y) |
| static void | glfw_print_error (int error_code, const char *description) |
| static void | glfw_print_video_mode (struct state_gl *s) |
| static void | glfw_resize_window (GLFWwindow *win, bool fs, int height, double aspect, double fps, double window_size_factor) |
| static void | list_hints () |
| static void | parse_hints (struct state_gl *s, bool window_hints, char *hints) |
| static void | pop_frame (struct state_gl *s, unique_lock< mutex > &lk) |
| static void | print_gamma_ramp (GLFWmonitor *monitor) |
| REGISTER_MODULE (gl, &display_gl_info, LIBRARY_CLASS_VIDEO_DISPLAY, VIDEO_DISPLAY_ABI_VERSION) | |
| static void | screenshot (struct video_frame *frame) |
| static void | set_gamma (struct state_gl *s) |
| static void | set_mac_color_space (void) |
| static bool | set_size (struct state_gl *s, const char *tok) |
| static int64_t | translate_glfw_to_ug (int key, int mods) |
| static void | upload_compressed_texture (struct state_gl *s, char *data) |
| static void | upload_texture (struct state_gl *s, char *data) |
| static bool | vdp_interop_supported () |
Variables | |
| static const char * | deinterlace_fp |
| static const struct video_display_info | display_gl_info |
| static const char * | fp_display_dxt1_yuv |
| static const char | fp_display_dxt5ycocg [] |
| static constexpr codec_t | gl_supp_codecs [] |
| unordered_map< codec_t, const char * > | glsl_programs |
| static const map< string, int > | hint_map |
| static constexpr pair< int64_t, string_view > | keybindings [] |
| static const char * | uyvy_to_rgb_fp |
| static const char * | v210_to_rgb_fp |
| static const char * | vert |
| static const char * | yuva_to_rgb_fp |
Definition in file gl.cpp.
| #define BAR_GREY_COL (0.9) |
Referenced by draw_pause().
| #define BAR_WIDTH (.01) |
| #define BARS_BOTTOM (.8) |
Referenced by draw_pause().
| #define BARS_TOP (.9) |
Referenced by draw_pause().
| #define DEFAULT_WIN_NAME "Ultragrid - OpenGL Display" |
Definition at line 87 of file gl.cpp.
Referenced by display_gl_init_opengl().
| #define FEATURE_PRESENT | ( | x | ) |
| #define GL_DISABLE_10B_OPT_PARAM_NAME "gl-disable-10b" |
Definition at line 89 of file gl.cpp.
Referenced by display_gl_get_property(), display_gl_init_opengl(), display_gl_reconfigure(), and gl_show_help().
| #define GL_WINDOW_HINT_OPT_PARAM_NAME "glfw-window-hint" |
| #define LEFT_BAR_LEFT (-.9) |
Referenced by draw_pause().
| #define LEFT_BAR_RIGHT (LEFT_BAR_LEFT + BAR_WIDTH) |
Referenced by draw_pause().
| #define MAGIC_GL 0x1331018e |
Definition at line 85 of file gl.cpp.
Referenced by display_gl_done(), display_gl_getf(), display_gl_putf(), and gl_reconfigure_screen().
| #define MAX_BUFFER_SIZE 1 |
Definition at line 91 of file gl.cpp.
Referenced by display_gl_putf().
| #define MOD_NAME "[GL] " |
Definition at line 86 of file gl.cpp.
Referenced by display_gl_check_gl_version(), display_gl_init(), display_gl_init_opengl(), display_gl_parse_fmt(), display_gl_print_depth(), display_gl_process_key(), display_gl_putf(), display_gl_reconfigure(), display_gl_set_window_hints(), gl_print_monitors(), gl_process_frames(), gl_substitute_compile_link(), glfw_key_callback(), glfw_print_video_mode(), glfw_resize_window(), print_gamma_ramp(), screenshot(), set_size(), and vdp_interop_supported().
| #define RIGHT_BAR_LEFT (LEFT_BAR_RIGHT + BAR_WIDTH) |
Referenced by draw_pause().
| #define RIGHT_BAR_RIGHT (RIGHT_BAR_LEFT + BAR_WIDTH) |
Referenced by draw_pause().
| #define SINGLE_BUF 0xFF |
Definition at line 94 of file gl.cpp.
Referenced by display_gl_init_opengl(), display_gl_parse_fmt(), gl_process_frames(), and gl_resize().
| #define SYSTEM_VSYNC 0xFE |
Definition at line 93 of file gl.cpp.
Referenced by display_gl_parse_fmt(), and display_gl_set_sync_on_vblank().
| ADD_TO_PARAM | ( | GL_DISABLE_10B_OPT_PARAM_NAME | , |
| "* " GL_DISABLE_10B_OPT_PARAM_NAME "\n" " Disable 10 bit codec processing to improve performance\n" | ) |
| ADD_TO_PARAM | ( | GL_WINDOW_HINT_OPT_PARAM_NAME | ) |
|
static |
Definition at line 1939 of file gl.cpp.
Referenced by display_gl_init().
|
static |
Definition at line 1446 of file gl.cpp.
References LOG_LEVEL_ERROR, LOG_LEVEL_INFO, log_msg(), MOD_NAME, and MSG.
Referenced by display_gl_init_opengl().

|
static |
Releases resources allocated with display_gl_init_opengl. After this function, the resource references are invalid.
Definition at line 1778 of file gl.cpp.
References state_gl::fbo_id, state_gl::pbo_id, state_gl::PHandles, spout_sender_unregister(), syphon_server_unregister(), state_gl::syphon_spout, state_gl::texture_display, state_gl::texture_raw, and state_gl::window.
Referenced by display_gl_done().

|
static |
Definition at line 2108 of file gl.cpp.
References state_gl::current_frame, display_gl_cleanup_opengl(), state_gl::frame_queue, state_gl::free_frame_queue, state_gl::magic, MAGIC_GL, state, and vf_free().

|
static |
Definition at line 2054 of file gl.cpp.
References commandline_params, DEPTH8, DISPLAY_PROPERTY_BUF_PITCH, DISPLAY_PROPERTY_CODECS, DISPLAY_PROPERTY_RGB_SHIFT, DISPLAY_PROPERTY_SUPPORTED_IL_MODES, get_bits_per_component(), GL_DISABLE_10B_OPT_PARAM_NAME, gl_supp_codecs, glsl_programs, HW_VDPAU, INTERLACED_MERGED, len, PITCH_DEFAULT, PROGRESSIVE, property, SEGMENTED_FRAME, state, UG_ASSERT, and val.

|
static |
Definition at line 2133 of file gl.cpp.
References state_gl::current_desc, state_gl::free_frame_queue, state_gl::lock, state_gl::magic, MAGIC_GL, state, vf_alloc_desc_data(), vf_clear(), vf_free(), video_desc_eq(), and video_desc_from_frame().

|
static |
Definition at line 782 of file gl.cpp.
References state_gl::state_gl(), check_rpi_pbo_quirks(), state_gl::deint_to_string(), state_gl::deinterlace, display_gl_init_opengl(), display_gl_parse_fmt(), flags, fmt, state_gl::fs, gl_load_splashscreen(), state_gl::init_hints, keybindings, keycontrol_register_key(), LOG, LOG_LEVEL_ERROR, LOG_LEVEL_INFO, LOG_LEVEL_WARNING, log_msg(), state_gl::mod, MOD_NAME, parent, UNUSED, and state_gl::use_pbo.

|
static |
Initializes OpenGL stuff. If this function succeeds, display_gl_cleanup_opengl() needs to be called to release resources.
Definition at line 1638 of file gl.cpp.
References commandline_params, count, DEFAULT_WIN_NAME, deinterlace_fp, display_gl_check_gl_version(), display_gl_print_depth(), display_gl_render_last(), display_gl_set_window_hints(), state_gl::fbo_id, state_gl::fixed_h, state_gl::fixed_size, state_gl::fixed_w, state_gl::fs, get_codec_name(), get_commandline_param(), get_refresh_rate(), get_splashscreen(), GL_DISABLE_10B_OPT_PARAM_NAME, gl_resize(), gl_substitute_compile_link(), glfw_close_callback(), glfw_init_count, glfw_key_callback(), glfw_mouse_callback(), glfw_print_error(), glfw_print_video_mode(), glsl_programs, handle_error(), tile::height, IF_NOT_NULL_ELSE, LOG, LOG_LEVEL_ERROR, LOG_LEVEL_WARNING, log_msg(), MOD_NAME, mode, state_gl::modeset, state_gl::monitor, MSG, state_gl::NOMODESET, state_gl::noresizable, state_gl::pbo_id, state_gl::PHandle_deint, state_gl::PHandles, state_gl::pos_x, state_gl::pos_y, state_gl::req_monitor_idx, state_gl::SC_TRUE, set_gamma(), set_mac_color_space(), state_gl::show_cursor, SINGLE_BUF, state_gl::texture_display, state_gl::texture_raw, video_frame::tiles, state_gl::vdp_interop, vdp_interop_supported(), vert, vf_free(), state_gl::vsync, tile::width, and state_gl::window.
Referenced by display_gl_init().

|
static |
Definition at line 692 of file gl.cpp.
References state_gl::deinterlace, state_gl::fixed_size, state_gl::force, state_gl::fs, state_gl::gamma, gl_show_help(), INIT_NOERR, list_hints(), LOG, LOG_LEVEL_ERROR, LOG_LEVEL_WARNING, log_msg(), MOD_NAME, state_gl::MODESET, state_gl::modeset, state_gl::MODESET_SIZE_ONLY, state_gl::noresizable, state_gl::on, parse_hints(), state_gl::req_monitor_idx, state_gl::SC_TRUE, set_size(), state_gl::show_cursor, SINGLE_BUF, state_gl::syphon_spout_srv_name, SYSTEM_VSYNC, state_gl::use_pbo, val, state_gl::video_aspect, state_gl::vsync, and state_gl::window_hints.
Referenced by display_gl_init().

|
static |
Definition at line 1461 of file gl.cpp.
References LOG, LOG_LEVEL_INFO, and MOD_NAME.
Referenced by display_gl_init_opengl().
|
static |
Definition at line 1353 of file gl.cpp.
References state_gl::aspect, state_gl::current_frame, state_gl::deint_to_string(), state_gl::deinterlace, exit_uv(), state_gl::fs, get_refresh_rate(), glfw_print_video_mode(), glfw_resize_window(), K_ALT, K_CTRL_DOWN, K_CTRL_UP, key, LOG, LOG_LEVEL_NOTICE, MOD_NAME, mode, state_gl::modeset, state_gl::monitor, MSG, state_gl::NOMODESET, state_gl::off, state_gl::on, state_gl::paused, state_gl::SC_TRUE, screenshot(), set_gamma(), state_gl::show_cursor, verbose_msg, state_gl::window, and state_gl::window_size_factor.
Referenced by gl_process_frames(), and glfw_key_callback().

|
static |
Definition at line 2154 of file gl.cpp.
References frame, state_gl::frame_consumed_cv, state_gl::frame_queue, state_gl::free_frame_queue, state_gl::lock, LOG, LOG_LEVEL_INFO, state_gl::magic, MAGIC_GL, MAX_BUFFER_SIZE, MOD_NAME, state_gl::new_frame_ready_cv, state_gl::paused, PUTF_BLOCKING, PUTF_DISCARD, PUTF_NONBLOCK, state, vf_recycle(), and state_gl::window.
Referenced by display_gl_render_last().

|
static |
This function just sets new video description.
Definition at line 871 of file gl.cpp.
References video_desc::color_spec, state_gl::current_desc, state_gl::deinterlace, desc, get_bits_per_component(), GL_DISABLE_10B_OPT_PARAM_NAME, gl_supp_codecs, INTERLACED_MERGED, video_desc::interlacing, LOG, LOG_LEVEL_WARNING, MOD_NAME, state_gl::off, and state.
Referenced by gl_load_splashscreen().

|
static |
Definition at line 1469 of file gl.cpp.
References display_gl_putf(), and PUTF_NONBLOCK.
Referenced by display_gl_init_opengl().

|
static |
Definition at line 1799 of file gl.cpp.
References gl_process_frames(), and state_gl::window.

|
static |
Definition at line 940 of file gl.cpp.
References SYSTEM_VSYNC.
Referenced by gl_reconfigure_screen().
|
static |
Definition at line 1548 of file gl.cpp.
References get_commandline_param(), GL_WINDOW_HINT_OPT_PARAM_NAME, key, LOG, LOG_LEVEL_ERROR, MOD_NAME, state_gl::noresizable, val, and state_gl::window_hints.
Referenced by display_gl_init_opengl().

|
static |
draw pause symbol (2 vertical bars) to the lefttop part of the frame
Definition at line 1184 of file gl.cpp.
References BAR_GREY_COL, BARS_BOTTOM, BARS_TOP, gl_check_error, LEFT_BAR_LEFT, LEFT_BAR_RIGHT, RIGHT_BAR_LEFT, and RIGHT_BAR_RIGHT.
Referenced by gl_process_frames().
|
static |
Definition at line 897 of file gl.cpp.
References mode, state_gl::MODESET, state_gl::modeset, state_gl::MODESET_SIZE_ONLY, state_gl::NOMODESET, and round().
Referenced by display_gl_init_opengl(), display_gl_process_key(), and glfw_resize_window().

|
static |
Definition at line 1812 of file gl.cpp.
References state_gl::aspect.
Referenced by gl_reconfigure_screen(), and gl_resize().
|
static |
Definition at line 2012 of file gl.cpp.
References gl_check_error.
Referenced by gl_process_frames().
|
static |
Definition at line 589 of file gl.cpp.
References display_gl_reconfigure(), frame, state_gl::frame_queue, get_splashscreen(), and video_desc_from_frame().
Referenced by display_gl_init().

|
static |
Definition at line 477 of file gl.cpp.
References count, glfw_init_count, LOG, LOG_LEVEL_ERROR, MOD_NAME, and TBOLD.
Referenced by gl_show_help().
|
static |
Definition at line 1222 of file gl.cpp.
References state_gl::aspect, check_message(), state_gl::current_frame, state_gl::cursor_shown_from, tile::data, state_gl::deinterlace, display_gl_process_key(), draw_pause(), state_gl::dxt_height, state_gl::force, frame, state_gl::frame_queue, state_gl::free_frame_queue, free_message(), gl_draw(), gl_reconfigure_screen(), gl_render(), tile::height, INTERLACED_MERGED, key, state_gl::lock, LOG_LEVEL_DEBUG, LOG_LEVEL_VERBOSE, LOG_LEVEL_WARNING, log_msg(), min, state_gl::mod, MOD_NAME, msg, state_gl::new_frame_ready_cv, new_response(), state_gl::on, state_gl::paused, state_gl::PHandle_deint, pop_frame(), RESPONSE_BAD_REQUEST, RESPONSE_OK, state_gl::SC_AUTOHIDE, state_gl::show_cursor, SINGLE_BUF, spout_sender_sendframe(), swap(), syphon_server_publish(), state_gl::syphon_spout, state_gl::texture_display, video_frame::tiles, vf_recycle(), video_desc_eq(), video_desc_from_frame(), state_gl::vsync, tile::width, and state_gl::window.
Referenced by display_gl_run().

|
static |
This function does the actual reconfiguration of GL state.
This function must be called only from GL thread.
Definition at line 976 of file gl.cpp.
References state_gl::aspect, video_desc::color_spec, state_gl::current_program, desc, display_gl_set_sync_on_vblank(), DXT1, DXT1_YUV, DXT5, state_gl::dxt_height, state_gl::fixed_size, video_desc::fps, state_gl::fs, gl_change_aspect(), gl_check_error, glfw_resize_window(), video_desc::height, HW_VDPAU, LOG_LEVEL_INFO, log_msg(), state_gl::magic, MAGIC_GL, state_gl::pbo_id, state_gl::PHandle_deint, state_gl::PHandles, R10k, RG48, RGB, RGBA, round(), state_gl::scratchpad, spout_sender_register(), syphon_server_register(), state_gl::syphon_spout, state_gl::syphon_spout_srv_name, state_gl::texture_display, state_gl::texture_raw, UYVY, v210, vc_get_linesize(), state_gl::video_aspect, state_gl::vsync, video_desc::width, state_gl::window, state_gl::window_size_factor, and Y416.
Referenced by gl_process_frames().

|
static |
Definition at line 1161 of file gl.cpp.
References state_gl::current_program, gl_check_error, gl_render_glsl(), and upload_texture().
Referenced by gl_process_frames().

|
static |
Definition at line 1960 of file gl.cpp.
References state_gl::current_program, state_gl::fbo_id, gl_check_error, state_gl::texture_display, state_gl::texture_raw, and upload_texture().
Referenced by gl_render().

|
static |
Definition at line 1833 of file gl.cpp.
References debug_msg, gl_change_aspect(), and SINGLE_BUF.
Referenced by display_gl_init_opengl().

|
static |
Show help
Definition at line 522 of file gl.cpp.
References FEATURE_PRESENT, get_keycode_name(), GL_DISABLE_10B_OPT_PARAM_NAME, gl_print_monitors(), keybindings, SBOLD, SRED, SUNDERLINE, and TBOLD.
Referenced by display_gl_parse_fmt().

|
static |
Definition at line 1515 of file gl.cpp.
References B_CB, G_CB, G_CR, get_commandline_param(), glsl_compile_link(), KB_2020, KB_709, KB_P3, KR_2020, KR_709, KR_P3, LOG, LOG_LEVEL_WARNING, MOD_NAME, R_CR, vprogram, and Y_LIMIT_INV.
Referenced by display_gl_init_opengl().

|
static |
Definition at line 2047 of file gl.cpp.
References exit_uv().
Referenced by display_gl_init_opengl().

|
static |
Definition at line 1412 of file gl.cpp.
References display_gl_process_key(), get_keycode_name(), get_root_module(), key, keycontrol_send_key(), LOG_LEVEL_VERBOSE, LOG_LEVEL_WARNING, log_msg(), MAX_KEYCODE_NAME_LEN, MOD_NAME, name, and translate_glfw_to_ug().
Referenced by display_gl_init_opengl().

|
static |
Definition at line 1435 of file gl.cpp.
References state_gl::SC_AUTOHIDE.
Referenced by display_gl_init_opengl().
|
static |
Definition at line 1497 of file gl.cpp.
References description, LOG, and LOG_LEVEL_ERROR.
Referenced by display_gl_init_opengl().
|
static |
Definition at line 889 of file gl.cpp.
References state_gl::fs, LOG, LOG_LEVEL_NOTICE, MOD_NAME, mode, state_gl::modeset, and state_gl::monitor.
Referenced by display_gl_init_opengl(), and display_gl_process_key().
|
static |
Definition at line 915 of file gl.cpp.
References state_gl::aspect, state_gl::fs, get_refresh_rate(), LOG_LEVEL_VERBOSE, log_msg(), MOD_NAME, mode, state_gl::NOMODESET, round(), and state_gl::window_size_factor.
Referenced by display_gl_process_key(), and gl_reconfigure_screen().

|
static |
Definition at line 665 of file gl.cpp.
References color_printf(), hint_map, and TBOLD.
Referenced by display_gl_parse_fmt().

|
static |
| window_hints | true for window hints, otherwise init hints |
Definition at line 636 of file gl.cpp.
References hint_map, state_gl::init_hints, key, MSG, val, and state_gl::window_hints.
Referenced by display_gl_parse_fmt().
|
static |
Definition at line 1175 of file gl.cpp.
References state_gl::frame_consumed_cv, and state_gl::frame_queue.
Referenced by gl_process_frames().
|
static |
Definition at line 1582 of file gl.cpp.
References LOG, LOG_LEVEL_ERROR, LOG_LEVEL_VERBOSE, and MOD_NAME.
Referenced by set_gamma().
| REGISTER_MODULE | ( | gl | , |
| & | display_gl_info, | ||
| LIBRARY_CLASS_VIDEO_DISPLAY | , | ||
| VIDEO_DISPLAY_ABI_VERSION | ) |
|
static |
Definition at line 947 of file gl.cpp.
References frame, LOG_LEVEL_ERROR, LOG_LEVEL_NOTICE, log_msg(), MOD_NAME, name, and save_video_frame_as_pnm().
Referenced by display_gl_process_key().

|
static |
Definition at line 1599 of file gl.cpp.
References state_gl::gamma, log_level, LOG_LEVEL_VERBOSE, state_gl::monitor, and print_gamma_ramp().
Referenced by display_gl_init_opengl(), and display_gl_process_key().

|
static |
[mac specific] Sets user-specified color space.
Definition at line 1505 of file gl.cpp.
References get_commandline_param().
Referenced by display_gl_init_opengl().

|
static |
Definition at line 596 of file gl.cpp.
References state_gl::fixed_h, state_gl::fixed_size, state_gl::fixed_w, LOG_LEVEL_ERROR, LOG_LEVEL_WARNING, log_msg(), MOD_NAME, state_gl::pos_x, state_gl::pos_y, and state_gl::window_size_factor.
Referenced by display_gl_parse_fmt().

|
static |
Definition at line 1325 of file gl.cpp.
References K_ALT, K_CTRL, K_CTRL_DOWN, K_CTRL_UP, K_DOWN, K_LEFT, K_PGDOWN, K_PGUP, K_RIGHT, K_UP, and key.
Referenced by glfw_key_callback().
|
static |
Definition at line 1847 of file gl.cpp.
References DXT1, DXT1_YUV, DXT5, and state_gl::dxt_height.
Referenced by upload_texture().
|
static |
swaps bytes and removes 256B padding
Definition at line 1875 of file gl.cpp.
References DEBUG_TIMER_START, DEBUG_TIMER_STOP, DXT1, DXT1_YUV, DXT5, HW_VDPAU, OPTIMIZED_FOR, state_gl::pbo_id, R10k, RG48, RGB, state_gl::scratchpad, type, upload_compressed_texture(), state_gl::use_pbo, UYVY, v210, vc_get_linesize(), and Y416.
Referenced by gl_render(), and gl_render_glsl().

|
static |
Definition at line 1610 of file gl.cpp.
References DEBUG, get_commandline_param(), LOG_LEVEL_VERBOSE, LOG_LEVEL_WARNING, log_msg(), MOD_NAME, and MSG.
Referenced by display_gl_init_opengl().

|
static |
Definition at line 127 of file gl.cpp.
Referenced by display_gl_init_opengl().
|
static |
Definition at line 2198 of file gl.cpp.
|
static |
Definition at line 283 of file gl.cpp.
Referenced by dxt_decoder_create().
|
static |
Definition at line 310 of file gl.cpp.
Referenced by dxt_decoder_create(), and dxt_display_init().
|
staticconstexpr |
| unordered_map<codec_t, const char *> glsl_programs |
Definition at line 329 of file gl.cpp.
Referenced by display_gl_get_property(), and display_gl_init_opengl().
|
static |
Definition at line 627 of file gl.cpp.
Referenced by list_hints(), and parse_hints().
|
staticconstexpr |
Definition at line 337 of file gl.cpp.
Referenced by display_gl_init(), and gl_show_help().
|
static |
|
static |
with courtesy of https://stackoverflow.com/questions/20317882/how-can-i-correctly-unpack-a-v210-video-frame-using-glsl adapted to GLSL 1.1 with help of https://stackoverflow.com/questions/5879403/opengl-texture-coordinates-in-pixel-space/5879551#5879551
|
static |
Definition at line 302 of file gl.cpp.
Referenced by display_gl_init_opengl().
|
static |