Use the NVIDIA Performance Primitives (libnpp) to scale (resize) the input video, based on a reference video.
See the scale_npp filter for available options, scale2ref_npp supports the same but uses the reference video instead of the main input as basis. scale2ref_npp 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_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_npp[b][a];[a][b]overlay_cuda'
-
Scale a logo to 1/10th the height of a video, while preserving its display aspect ratio.
[logo-in][video-in]scale2ref_npp=w=oh*mdar:h=ih/10[logo-out][video-out]