sub: add option to force using video resolution for image subtitles

Basically for debugging and dealing with broken files.
This commit is contained in:
wm4 2017-01-23 15:55:09 +01:00
parent 3e89e061c2
commit 00eadcec8d
4 changed files with 10 additions and 1 deletions

View File

@ -1730,6 +1730,13 @@ Subtitles
Disabled by default.
``--image-subs-video-resolution=<yes|no>``
Override the image subtitle resolution with the video resolution
(default: no). Normally, the subtitle canvas is fit into the video canvas
(e.g. letterboxed). Setting this option uses the video size as subtitle
canvas size. Can be useful to test broken subtitles, which often happen
when the video was trancoded, while attempting to keep the old subtitles.
``--sub-ass``, ``--no-sub-ass``
Render ASS subtitles natively (enabled by default).

View File

@ -473,6 +473,7 @@ const m_option_t mp_opts[] = {
OPT_FLAG("sub-forced-only", forced_subs_only, UPDATE_OSD),
OPT_FLAG("stretch-dvd-subs", stretch_dvd_subs, UPDATE_OSD),
OPT_FLAG("stretch-image-subs-to-screen", stretch_image_subs, UPDATE_OSD),
OPT_FLAG("image-subs-video-resolution", image_subs_video_res, UPDATE_OSD),
OPT_FLAG("sub-fix-timing", sub_fix_timing, 0),
OPT_CHOICE("sub-auto", sub_auto, 0,
({"no", -1}, {"exact", 0}, {"fuzzy", 1}, {"all", 2})),

View File

@ -212,6 +212,7 @@ typedef struct MPOpts {
int forced_subs_only;
int stretch_dvd_subs;
int stretch_image_subs;
int image_subs_video_res;
int sub_fix_timing;

View File

@ -439,7 +439,7 @@ static void get_bitmaps(struct sd *sd, struct mp_osd_res d, int format,
d.ml = d.mr = d.mt = d.mb = 0;
int w = priv->avctx->width;
int h = priv->avctx->height;
if (w <= 0 || h <= 0) {
if (w <= 0 || h <= 0 || opts->image_subs_video_res) {
w = priv->video_params.w;
h = priv->video_params.h;
}