vf_format: allow forcing rotation flags

This commit is contained in:
wm4 2015-04-02 23:59:00 +02:00
parent 14a530f474
commit 28fa17dac6
2 changed files with 11 additions and 0 deletions

View File

@ -310,6 +310,10 @@ Available filters are:
Set the stereo mode the video should be displayed as. Takes the
same values as the ``--video-stereo-mode`` option.
``<rotate>``
Set the rotation the video is assumed to be encoded with in degrees.
The special value ``-1`` uses the input format.
``noformat[=fmt]``
Restricts the color space for the next filter without doing any conversion.

View File

@ -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,
},
};