mirror of
https://github.com/mpv-player/mpv.git
synced 2025-12-28 05:33:14 +00:00
sub: pass preferred OSD format to subtitle renderers
The intention is to let mp_ass_packer_pack() produce different output for the RGBA and LIBASS formats. VOs (or whatever generates the OSD) currently do not signal a preferred format, and this mechanism just exists to switch between RGBA and LIBASS formats correctly, preferring LIBASS if the VO supports it.
This commit is contained in:
@@ -420,8 +420,8 @@ static long long find_timestamp(struct sd *sd, double pts)
|
||||
|
||||
#undef END
|
||||
|
||||
static void get_bitmaps(struct sd *sd, struct mp_osd_res dim, double pts,
|
||||
struct sub_bitmaps *res)
|
||||
static void get_bitmaps(struct sd *sd, struct mp_osd_res dim, int format,
|
||||
double pts, struct sub_bitmaps *res)
|
||||
{
|
||||
struct sd_ass_priv *ctx = sd->priv;
|
||||
struct MPOpts *opts = sd->opts;
|
||||
@@ -464,7 +464,7 @@ static void get_bitmaps(struct sd *sd, struct mp_osd_res dim, double pts,
|
||||
|
||||
int changed;
|
||||
ASS_Image *imgs = ass_render_frame(renderer, track, ts, &changed);
|
||||
mp_ass_packer_pack(ctx->packer, &imgs, 1, changed, SUBBITMAP_LIBASS, res);
|
||||
mp_ass_packer_pack(ctx->packer, &imgs, 1, changed, format, res);
|
||||
|
||||
if (!converted && res->num_parts > 0) {
|
||||
// mangle_colors() modifies the color field, so copy the thing.
|
||||
|
||||
Reference in New Issue
Block a user