mirror of
https://github.com/mpv-player/mpv
synced 2024-12-18 21:06:00 +00:00
d4bdd0473d
Tis drops the silly lib prefixes, and attempts to organize the tree in a more logical way. Make the top-level directory less cluttered as well. Renames the following directories: libaf -> audio/filter libao2 -> audio/out libvo -> video/out libmpdemux -> demux Split libmpcodecs: vf* -> video/filter vd*, dec_video.* -> video/decode mp_image*, img_format*, ... -> video/ ad*, dec_audio.* -> audio/decode libaf/format.* is moved to audio/ - this is similar to how mp_image.* is located in video/. Move most top-level .c/.h files to core. (talloc.c/.h is left on top- level, because it's external.) Park some of the more annoying files in compat/. Some of these are relicts from the time mplayer used ffmpeg internals. sub/ is not split, because it's too much of a mess (subtitle code is mixed with OSD display and rendering). Maybe the organization of core is not ideal: it mixes playback core (like mplayer.c) and utility helpers (like bstr.c/h). Should the need arise, the playback core will be moved somewhere else, while core contains all helper and common code.
44 lines
1.1 KiB
C
44 lines
1.1 KiB
C
#ifndef MPLAYER_GL_OSD_H
|
|
#define MPLAYER_GL_OSD_H
|
|
|
|
#include <stdbool.h>
|
|
#include <inttypes.h>
|
|
|
|
#include "gl_common.h"
|
|
#include "sub/sub.h"
|
|
|
|
struct mpgl_osd_part {
|
|
enum sub_bitmap_format format;
|
|
int bitmap_id, bitmap_pos_id;
|
|
GLuint texture;
|
|
int w, h;
|
|
GLuint buffer;
|
|
int num_vertices;
|
|
void *vertices;
|
|
struct bitmap_packer *packer;
|
|
};
|
|
|
|
struct mpgl_osd {
|
|
GL *gl;
|
|
bool use_pbo;
|
|
bool scaled;
|
|
struct mpgl_osd_part *parts[MAX_OSD_PARTS];
|
|
const struct osd_fmt_entry *fmt_table;
|
|
bool formats[SUBBITMAP_COUNT];
|
|
void *scratch;
|
|
};
|
|
|
|
struct mpgl_osd *mpgl_osd_init(GL *gl, bool legacy);
|
|
void mpgl_osd_destroy(struct mpgl_osd *ctx);
|
|
|
|
struct mpgl_osd_part *mpgl_osd_generate(struct mpgl_osd *ctx,
|
|
struct sub_bitmaps *b);
|
|
|
|
void mpgl_osd_set_gl_state(struct mpgl_osd *ctx, struct mpgl_osd_part *p);
|
|
void mpgl_osd_unset_gl_state(struct mpgl_osd *ctx, struct mpgl_osd_part *p);
|
|
|
|
void mpgl_osd_draw_legacy(struct mpgl_osd *ctx, struct osd_state *osd,
|
|
struct mp_osd_res res);
|
|
|
|
#endif
|