Scale (resize) the input video, based on a reference video.
See the scale filter for available options, scale2ref supports the same but uses the reference video instead of the main input as basis. scale2ref also supports the following additional constants for the w and h options:
- main_w, main_h
-
The main input video’s width and height
- main_a
-
The same as main_w / main_h
- main_sar
-
The main input video’s sample aspect ratio
- main_dar, mdar
-
The main input video’s display aspect ratio. Calculated from
(main_w / main_h) * main_sar
. - main_hsub, main_vsub
-
The main input video’s horizontal and vertical chroma subsample values. For example for the pixel format "yuv422p" hsub is 2 and vsub is 1.
- main_n
-
The (sequential) number of the main input frame, starting from 0. Only available with
eval=frame
. - main_t
-
The presentation timestamp of the main input frame, expressed as a number of seconds. Only available with
eval=frame
. - main_pos
-
The position (byte offset) of the frame in the main input stream, or NaN if this information is unavailable and/or meaningless (for example in case of synthetic video). Only available with
eval=frame
.
Examples
-
Scale a subtitle stream (b) to match the main video (a) in size before overlaying
'scale2ref[b][a];[a][b]overlay'
-
Scale a logo to 1/10th the height of a video, while preserving its display aspect ratio.
[logo-in][video-in]scale2ref=w=oh*mdar:h=ih/10[logo-out][video-out]
Commands
This filter supports the following commands:
- width, w, height, h
-
Set the output video dimension expression. The command accepts the same syntax of the corresponding option.
If the specified expression is not valid, it is kept at its current value.