FFmpeg 7.1
Since* 5.0
#

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]