summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2012-10-21 18:31:34 +0200
committerwm4 <wm4@nowhere>2012-10-24 21:56:34 +0200
commit773668b6e85d4da4d252cb4ad8abd50448d70c7c (patch)
treedde60465367e01673f4eacf0b1e1de2f25f2c44e
parent281989d38437d2a54810bf8638073d8a8cd0dfa0 (diff)
downloadmpv-773668b6e85d4da4d252cb4ad8abd50448d70c7c.tar.bz2
mpv-773668b6e85d4da4d252cb4ad8abd50448d70c7c.tar.xz
VF: rename vf_ass to vf_sub
This reflects the fact that this filter now renders all types of subtitles, not just ASS subtitles. Always compile this filter, not just on CONFIG_ASS. Note that --no-ass still disables auto-inserting this filter. It's the only way to disable auto-insertion, so keep it even though it's not really ASS specific anymore. --no-ass also disables using libass for rendering text subs directly.
-rw-r--r--DOCS/man/en/vf.rst4
-rw-r--r--DOCS/tech-overview.txt2
-rw-r--r--Makefile5
-rw-r--r--libmpcodecs/vf.c6
-rw-r--r--libmpcodecs/vf.h2
-rw-r--r--libmpcodecs/vf_sub.c (renamed from libmpcodecs/vf_ass.c)10
-rw-r--r--mplayer.c26
7 files changed, 25 insertions, 30 deletions
diff --git a/DOCS/man/en/vf.rst b/DOCS/man/en/vf.rst
index b5a672e236..31947e82b6 100644
--- a/DOCS/man/en/vf.rst
+++ b/DOCS/man/en/vf.rst
@@ -663,14 +663,14 @@ screenshot
not always safe to insert this filter by default. See the
``Taking screenshots`` section for details.
-ass
+sub
Moves subtitle rendering to an arbitrary point in the filter
chain, or force subtitle rendering in the video filter as opposed to using
video output OSD support.
*EXAMPLE*:
- ``--vf=ass,eq``
+ ``--vf=sub,eq``
Moves sub rendering before the eq filter. This will put both
subtitle colors and video under the influence of the video equalizer
settings.
diff --git a/DOCS/tech-overview.txt b/DOCS/tech-overview.txt
index 9ffe891c5c..f52601f970 100644
--- a/DOCS/tech-overview.txt
+++ b/DOCS/tech-overview.txt
@@ -151,7 +151,7 @@ libmpcodecs/:
vf_*.c and vf.c form the video filter chain. They are fed by the video
decoder, and output the filtered images to the VOs though vf_vo.c. By
default, no video filters (except vf_vo) are used, though sometimes
- vf_ass.c is inserted for rendering ASS subtitles, when the VO can't.
+ vf_sub.c is inserted for rendering subtitles, when the VO can't.
ad_*.c and dec_audio.c/ad.c handle audio decoding. The audio filter chain is
separately in libaf.
diff --git a/Makefile b/Makefile
index dd476d2a28..7e566f06de 100644
--- a/Makefile
+++ b/Makefile
@@ -38,9 +38,7 @@ SRCS_COMMON-$(FTP) += stream/stream_ftp.c
SRCS_COMMON-$(GIF) += libmpdemux/demux_gif.c
SRCS_COMMON-$(HAVE_SYS_MMAN_H) += libaf/af_export.c osdep/mmap_anon.c
SRCS_COMMON-$(LADSPA) += libaf/af_ladspa.c
-SRCS_COMMON-$(LIBASS) += libmpcodecs/vf_ass.c \
- sub/ass_mp.c \
- sub/sd_ass.c \
+SRCS_COMMON-$(LIBASS) += sub/ass_mp.c sub/sd_ass.c
SRCS_COMMON-$(LIBBLURAY) += stream/stream_bluray.c
SRCS_COMMON-$(LIBBS2B) += libaf/af_bs2b.c
@@ -171,6 +169,7 @@ SRCS_COMMON = asxparser.c \
libmpcodecs/vf_screenshot.c \
libmpcodecs/vf_softpulldown.c \
libmpcodecs/vf_stereo3d.c \
+ libmpcodecs/vf_sub.c \
libmpcodecs/vf_swapuv.c \
libmpcodecs/vf_unsharp.c \
libmpcodecs/vf_vo.c \
diff --git a/libmpcodecs/vf.c b/libmpcodecs/vf.c
index 5ec7d19570..9ea17f978c 100644
--- a/libmpcodecs/vf.c
+++ b/libmpcodecs/vf.c
@@ -64,7 +64,7 @@ extern const vf_info_t vf_info_divtc;
extern const vf_info_t vf_info_softskip;
extern const vf_info_t vf_info_screenshot;
extern const vf_info_t vf_info_screenshot_force;
-extern const vf_info_t vf_info_ass;
+extern const vf_info_t vf_info_sub;
extern const vf_info_t vf_info_yadif;
extern const vf_info_t vf_info_stereo3d;
extern const vf_info_t vf_info_dlopen;
@@ -102,9 +102,7 @@ static const vf_info_t *const filter_list[] = {
&vf_info_delogo,
&vf_info_phase,
&vf_info_divtc,
-#ifdef CONFIG_ASS
- &vf_info_ass,
-#endif
+ &vf_info_sub,
&vf_info_yadif,
&vf_info_stereo3d,
&vf_info_dlopen,
diff --git a/libmpcodecs/vf.h b/libmpcodecs/vf.h
index 7db9bd5808..4c50f0e9cc 100644
--- a/libmpcodecs/vf.h
+++ b/libmpcodecs/vf.h
@@ -106,7 +106,7 @@ struct vf_ctrl_screenshot {
#define VFCTRL_INIT_OSD 15 // Filter OSD renderer present?
#define VFCTRL_SET_DEINTERLACE 18 // Set deinterlacing status
#define VFCTRL_GET_DEINTERLACE 19 // Get deinterlacing status
-/* Hack to make the OSD state object available to vf_expand and vf_ass which
+/* Hack to make the OSD state object available to vf_sub which
* access OSD/subtitle state outside of normal OSD draw time. */
#define VFCTRL_SET_OSD_OBJ 20
#define VFCTRL_SET_YUV_COLORSPACE 22 // arg is struct mp_csp_details*
diff --git a/libmpcodecs/vf_ass.c b/libmpcodecs/vf_sub.c
index 1da0b03b44..e377d589c5 100644
--- a/libmpcodecs/vf_ass.c
+++ b/libmpcodecs/vf_sub.c
@@ -289,7 +289,7 @@ static int vf_open(vf_instance_t *vf, char *args)
}
if (vf->priv->auto_insert)
- mp_msg(MSGT_ASS, MSGL_INFO, "[ass] auto-open\n");
+ mp_msg(MSGT_ASS, MSGL_INFO, "[sub] auto-open\n");
vf->config = config;
vf->query_format = query_format;
@@ -308,15 +308,15 @@ static const m_option_t vf_opts_fields[] = {
};
static const m_struct_t vf_opts = {
- "ass",
+ "sub",
sizeof(struct vf_priv_s),
&vf_priv_dflt,
vf_opts_fields
};
-const vf_info_t vf_info_ass = {
- "Render ASS/SSA subtitles",
- "ass",
+const vf_info_t vf_info_sub = {
+ "Render subtitles",
+ "sub",
"Evgeniy Stepanov",
"",
vf_open,
diff --git a/mplayer.c b/mplayer.c
index 49edfc4636..de85ec2c33 100644
--- a/mplayer.c
+++ b/mplayer.c
@@ -2267,39 +2267,37 @@ int reinit_video_chain(struct MPContext *mpctx)
sh_video->vfilter = vf_open_filter(opts, NULL, "vo", vf_arg);
}
-#ifdef CONFIG_ASS
if (opts->ass_enabled) {
int i;
int insert = 1;
if (opts->vf_settings)
for (i = 0; opts->vf_settings[i].name; ++i)
- if (strcmp(opts->vf_settings[i].name, "ass") == 0) {
+ if (strcmp(opts->vf_settings[i].name, "sub") == 0) {
insert = 0;
break;
}
if (insert) {
- extern vf_info_t vf_info_ass;
- const vf_info_t *libass_vfs[] = {
- &vf_info_ass, NULL
+ extern vf_info_t vf_info_sub;
+ const vf_info_t *sub_vfs[] = {
+ &vf_info_sub, NULL
};
char *vf_arg[] = {
"auto", "yes", NULL
};
int retcode = 0;
- struct vf_instance *vf_ass = vf_open_plugin_noerr(opts, libass_vfs,
+ struct vf_instance *vf_sub = vf_open_plugin_noerr(opts, sub_vfs,
sh_video->vfilter,
- "ass", vf_arg,
+ "sub", vf_arg,
&retcode);
- if (vf_ass)
- sh_video->vfilter = vf_ass;
- else if (retcode == -1) // vf_ass open() returns -1 VO has OSD
- mp_msg(MSGT_CPLAYER, MSGL_V, "[ass] vf_ass not needed\n");
+ if (vf_sub)
+ sh_video->vfilter = vf_sub;
+ else if (retcode == -1) // vf_sub open() returns -1 VO has OSD
+ mp_msg(MSGT_CPLAYER, MSGL_V, "[sub] vf_sub not needed\n");
else
mp_msg(MSGT_CPLAYER, MSGL_ERR,
- "ASS: cannot add video filter\n");
+ "sub: cannot add video filter\n");
}
}
-#endif
sh_video->vfilter = append_filters(sh_video->vfilter, opts->vf_settings);
@@ -2415,7 +2413,7 @@ static double update_video(struct MPContext *mpctx)
struct sh_video *sh_video = mpctx->sh_video;
struct vo *video_out = mpctx->video_out;
sh_video->vfilter->control(sh_video->vfilter, VFCTRL_SET_OSD_OBJ,
- mpctx->osd); // for vf_ass
+ mpctx->osd); // for vf_sub
if (!mpctx->opts.correct_pts)
return update_video_nocorrect_pts(mpctx);