mirror of
https://github.com/mpv-player/mpv
synced 2025-03-23 11:47:45 +00:00
vf_format: allow forcing rotation flags
This commit is contained in:
parent
14a530f474
commit
28fa17dac6
@ -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.
|
||||
|
@ -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,
|
||||
},
|
||||
};
|
||||
|
Loading…
Reference in New Issue
Block a user