mirror of
https://github.com/mpv-player/mpv
synced 2024-12-23 23:32:26 +00:00
89a5714893
Remove subtitle selection code setting osd->ass_track directly and vf_ass/vf_vo code rendering the track directly with libass. Instead, do track selection and rendering with dec_sub.c functions. Before, mpctx->set_of_ass_tracks[] contained bare libass tracks generated from external subtitle files. For use with dec_sub.c, it now contains struct sh_sub instances with decoder already initialized. This commit breaks the sub_step command ('g' and 'y' keys) for libass-rendered subtitles. It could be fixed, but it's so useless - especially as with the existing implementation there's no practical way to get subtitle delay back to normal after using it - that I didn't bother. Conflicts: command.c mp_core.h mplayer.c
65 lines
1.9 KiB
C
65 lines
1.9 KiB
C
/*
|
|
* Copyright (C) 2006 Evgeniy Stepanov <eugeni.stepanov@gmail.com>
|
|
*
|
|
* This file is part of MPlayer.
|
|
*
|
|
* MPlayer is free software; you can redistribute it and/or modify
|
|
* it under the terms of the GNU General Public License as published by
|
|
* the Free Software Foundation; either version 2 of the License, or
|
|
* (at your option) any later version.
|
|
*
|
|
* MPlayer is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
* GNU General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU General Public License along
|
|
* with libass; if not, write to the Free Software Foundation, Inc.,
|
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
|
*/
|
|
|
|
#ifndef MPLAYER_ASS_MP_H
|
|
#define MPLAYER_ASS_MP_H
|
|
|
|
#include <stdint.h>
|
|
#include <stdbool.h>
|
|
|
|
#include "config.h"
|
|
#include "subreader.h"
|
|
|
|
#ifdef CONFIG_ASS
|
|
#include <ass/ass.h>
|
|
#include <ass/ass_types.h>
|
|
|
|
struct MPOpts;
|
|
struct mp_eosd_res;
|
|
|
|
ASS_Track *mp_ass_default_track(ASS_Library *library, struct MPOpts *opts);
|
|
ASS_Track *mp_ass_read_subdata(ASS_Library *library, struct MPOpts *opts,
|
|
sub_data *subdata, double fps);
|
|
ASS_Track *mp_ass_read_stream(ASS_Library *library, const char *fname,
|
|
char *charset);
|
|
|
|
struct MPOpts;
|
|
void mp_ass_configure(ASS_Renderer *priv, struct MPOpts *opts,
|
|
struct mp_eosd_res *dim, bool unscaled);
|
|
void mp_ass_configure_fonts(ASS_Renderer *priv);
|
|
ASS_Library *mp_ass_init(struct MPOpts *opts);
|
|
|
|
#else /* CONFIG_ASS */
|
|
|
|
/* Needed for EOSD code using this type to compile */
|
|
|
|
typedef struct ass_image {
|
|
int w, h;
|
|
int stride;
|
|
unsigned char *bitmap;
|
|
uint32_t color;
|
|
int dst_x, dst_y;
|
|
struct ass_image *next;
|
|
} ASS_Image;
|
|
|
|
#endif
|
|
|
|
#endif /* MPLAYER_ASS_MP_H */
|