summaryrefslogtreecommitdiffstats
path: root/video/filter/vf_format.c
diff options
context:
space:
mode:
Diffstat (limited to 'video/filter/vf_format.c')
-rw-r--r--video/filter/vf_format.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/video/filter/vf_format.c b/video/filter/vf_format.c
index 5731a6646b..e8f1bf1489 100644
--- a/video/filter/vf_format.c
+++ b/video/filter/vf_format.c
@@ -40,6 +40,7 @@ struct vf_priv_s {
int chroma_location;
int stereo_in;
int stereo_out;
+ int rotate;
};
static bool is_compatible(int fmt1, int fmt2)
@@ -96,6 +97,8 @@ static int reconfig(struct vf_instance *vf, struct mp_image_params *in,
out->stereo_in = p->stereo_in;
if (p->stereo_out)
out->stereo_out = p->stereo_out;
+ if (p->rotate >= 0)
+ out->rotate = p->rotate;
// Make sure the user-overrides are consistent (no RGB csp for YUV, etc.).
mp_image_params_guess_csp(out);
@@ -129,6 +132,7 @@ static const m_option_t vf_opts_fields[] = {
OPT_CHOICE_C("chroma-location", chroma_location, 0, mp_chroma_names),
OPT_CHOICE_C("stereo-in", stereo_in, 0, mp_stereo3d_names),
OPT_CHOICE_C("stereo-out", stereo_out, 0, mp_stereo3d_names),
+ OPT_INTRANGE("rotate", rotate, 0, -1, 359),
{0}
};
@@ -138,4 +142,7 @@ const vf_info_t vf_info_format = {
.open = vf_open,
.priv_size = sizeof(struct vf_priv_s),
.options = vf_opts_fields,
+ .priv_defaults = &(const struct vf_priv_s){
+ .rotate = -1,
+ },
};