|
libmpv
20200718-git-96cdf53
development library for the MPV media player
|
Looking for a C++ dev? I'm looking for work. Hire me!
|
|
Go to the documentation of this file.
16 #ifndef MPV_CLIENT_API_RENDER_H_
17 #define MPV_CLIENT_API_RENDER_H_
418 #define MPV_RENDER_PARAM_DRM_OSD_SIZE MPV_RENDER_PARAM_DRM_DRAW_SURFACE_SIZE
455 #define MPV_RENDER_API_TYPE_OPENGL "opengl"
457 #define MPV_RENDER_API_TYPE_SW "sw"
@ MPV_RENDER_PARAM_SKIP_RENDERING
Use to skip rendering in mpv_render_context_render().
@ MPV_RENDER_PARAM_DRM_DRAW_SURFACE_SIZE
DRM draw surface size, contains draw surface dimensions.
@ MPV_RENDER_PARAM_ADVANCED_CONTROL
Better control about rendering and enabling some advanced features.
struct mpv_render_frame_info mpv_render_frame_info
Information about the next video frame that will be rendered.
struct mpv_render_context mpv_render_context
Opaque context, returned by mpv_render_context_create().
int64_t target_time
Absolute time at which the frame is supposed to be displayed.
uint64_t mpv_render_context_update(mpv_render_context *ctx)
The API user is supposed to call this when the update callback was invoked (like all mpv_render_* fun...
@ MPV_RENDER_PARAM_WL_DISPLAY
Wayland display, sometimes used for hwdec.
@ MPV_RENDER_PARAM_SW_FORMAT
MPV_RENDER_API_TYPE_SW only: rendering target surface pixel format, mandatory.
mpv_render_param_type
Parameters for mpv_render_param (which is used in a few places such as mpv_render_context_create().
@ MPV_RENDER_PARAM_API_TYPE
The render API to use.
@ MPV_RENDER_PARAM_AMBIENT_LIGHT
Ambient light in lux.
uint64_t flags
A bitset of mpv_render_frame_info_flag values (i.e.
mpv_render_frame_info_flag
Flags used in mpv_render_frame_info.flags.
int mpv_render_context_create(mpv_render_context **res, mpv_handle *mpv, mpv_render_param *params)
Initialize the renderer state.
@ MPV_RENDER_UPDATE_FRAME
A new video frame must be rendered.
@ MPV_RENDER_FRAME_INFO_PRESENT
Set if there is actually a next frame.
@ MPV_RENDER_PARAM_DRM_DISPLAY_V2
DRM display, contains drm display handles.
int mpv_render_context_render(mpv_render_context *ctx, mpv_render_param *params)
Render video.
@ MPV_RENDER_PARAM_DEPTH
Control surface depth.
Information about the next video frame that will be rendered.
@ MPV_RENDER_PARAM_ICC_PROFILE
ICC profile blob.
void mpv_render_context_report_swap(mpv_render_context *ctx)
Tell the renderer that a frame was flipped at the given time.
enum mpv_render_param_type type
void(* mpv_render_update_fn)(void *cb_ctx)
@ MPV_RENDER_PARAM_BLOCK_FOR_TARGET_TIME
Enable or disable video timing.
mpv_render_update_flag
Flags returned by mpv_render_context_update().
@ MPV_RENDER_PARAM_NEXT_FRAME_INFO
Return information about the next frame to render.
int mpv_render_context_get_info(mpv_render_context *ctx, mpv_render_param param)
Retrieve information from the render context.
@ MPV_RENDER_FRAME_INFO_REPEAT
If set, this is supposed to reproduce the previous frame perfectly.
void mpv_render_context_free(mpv_render_context *ctx)
Destroy the mpv renderer state.
int mpv_render_context_set_parameter(mpv_render_context *ctx, mpv_render_param param)
Attempt to change a single parameter.
enum mpv_render_update_flag mpv_render_context_flag
Flags returned by mpv_render_context_update().
@ MPV_RENDER_PARAM_X11_DISPLAY
X11 Display, sometimes used for hwdec.
struct mpv_handle mpv_handle
Client context used by the client API.
@ MPV_RENDER_PARAM_DRM_DISPLAY
Deprecated.
void mpv_render_context_set_update_callback(mpv_render_context *ctx, mpv_render_update_fn callback, void *callback_ctx)
Set the callback that notifies you when a new video frame is available, or if the video display confi...
@ MPV_RENDER_PARAM_OPENGL_INIT_PARAMS
Required parameters for initializing the OpenGL renderer.
struct mpv_render_param mpv_render_param
Used to pass arbitrary parameters to some mpv_render_* functions.
Used to pass arbitrary parameters to some mpv_render_* functions.
@ MPV_RENDER_PARAM_INVALID
Not a valid value, but also used to terminate a params array.
@ MPV_RENDER_FRAME_INFO_REDRAW
If set, the frame is not an actual new video frame, but a redraw request.
@ MPV_RENDER_PARAM_SW_SIZE
MPV_RENDER_API_TYPE_SW only: rendering target surface size, mandatory.
@ MPV_RENDER_PARAM_FLIP_Y
Control flipped rendering.
@ MPV_RENDER_PARAM_SW_STRIDE
MPV_RENDER_API_TYPE_SW only: rendering target surface bytes per line, mandatory.
@ MPV_RENDER_PARAM_OPENGL_FBO
Describes a GL render target.
@ MPV_RENDER_PARAM_SW_POINTER
@ MPV_RENDER_FRAME_INFO_BLOCK_VSYNC
If set, the player timing code expects that the user thread blocks on vsync (by either delaying the r...