diff options
author | wm4 <wm4@nowhere> | 2013-06-15 00:15:32 +0200 |
---|---|---|
committer | wm4 <wm4@nowhere> | 2013-08-19 13:03:08 +0200 |
commit | 216e8320b02e76a407b114ca4de73763e9df3507 (patch) | |
tree | cf96184f0eb011d41366e23357914e385ee0cdf1 /mpvcore/command.c | |
parent | 67704e2977d2bb5c35f962b154d5e8e481e2d508 (diff) | |
download | mpv-216e8320b02e76a407b114ca4de73763e9df3507.tar.bz2 mpv-216e8320b02e76a407b114ca4de73763e9df3507.tar.xz |
video: make it possible to scale/pan the video by arbitrary amounts
Add --video-align-x/y, --video-pan-x/y, --video-scale options and
properties. See the additions to the manpage for description and
semantics.
These transformations are intentionally done on top of panscan. Unlike
the (now removed) --panscanrange option, this doesn't affect the default
panscan behavior. (Although panscan itself becomes kind of useless if
the new options are used.)
Diffstat (limited to 'mpvcore/command.c')
-rw-r--r-- | mpvcore/command.c | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/mpvcore/command.c b/mpvcore/command.c index b7aa9dfe6a..ae3f97a5bc 100644 --- a/mpvcore/command.c +++ b/mpvcore/command.c @@ -1253,9 +1253,9 @@ static int mp_property_colormatrix_output_range(m_option_t *prop, int action, return M_PROPERTY_OK; } -/// Panscan (RW) -static int mp_property_panscan(m_option_t *prop, int action, void *arg, - MPContext *mpctx) +// Update options which are managed through VOCTRL_GET/SET_PANSCAN. +static int panscan_property_helper(m_option_t *prop, int action, void *arg, + MPContext *mpctx) { if (!mpctx->video_out @@ -1809,7 +1809,12 @@ static const m_option_t mp_properties[] = { .offset = offsetof(struct MPOpts, gamma_saturation)), M_OPTION_PROPERTY_CUSTOM_("hue", mp_property_gamma, .offset = offsetof(struct MPOpts, gamma_hue)), - M_OPTION_PROPERTY_CUSTOM("panscan", mp_property_panscan), + M_OPTION_PROPERTY_CUSTOM("panscan", panscan_property_helper), + M_OPTION_PROPERTY_CUSTOM("video-zoom", panscan_property_helper), + M_OPTION_PROPERTY_CUSTOM("video-align-x", panscan_property_helper), + M_OPTION_PROPERTY_CUSTOM("video-align-y", panscan_property_helper), + M_OPTION_PROPERTY_CUSTOM("video-pan-x", panscan_property_helper), + M_OPTION_PROPERTY_CUSTOM("video-pan-y", panscan_property_helper), { "video-format", mp_property_video_format, CONF_TYPE_STRING, 0, 0, 0, NULL }, { "video-codec", mp_property_video_codec, CONF_TYPE_STRING, |