FFmpeg 1.2.12
Since* 0.7
#

Add paddings to the input image, and place the original input at the given coordinates x, y.

The filter accepts parameters as a list of key=value pairs, separated by ":".

If the key of the first options is omitted, the arguments are interpreted according to the syntax width:height:x:y:color.

A description of the accepted options follows.

width, w, height, h

Specify an expression for the size of the output image with the paddings added. If the value for width or height is 0, the corresponding input size is used for the output.

The width expression can reference the value set by the height expression, and vice versa.

The default value of width and height is 0.

x, y

Specify an expression for the offsets where to place the input image in the padded area with respect to the top/left border of the output image.

The x expression can reference the value set by the y expression, and vice versa.

The default value of x and y is 0.

color

Specify the color of the padded area, it can be the name of a color (case insensitive match) or a 0xRRGGBB[AA] sequence.

The default value of color is "black".

The value for the width, height, x, and y options are expressions containing the following constants:

in_w, in_h

the input video width and height

iw, ih

same as in_w and in_h

out_w, out_h

the output width and height, that is the size of the padded area as specified by the width and height expressions

ow, oh

same as out_w and out_h

x, y

x and y offsets as specified by the x and y expressions, or NAN if not yet specified

a

same as iw / ih

sar

input sample aspect ratio

dar

input display aspect ratio, it is the same as (iw / ih) * sar

hsub, vsub

horizontal and vertical chroma subsample values. For example for the pixel format "yuv422p" hsub is 2 and vsub is 1.

#

Examples

  • Add paddings with color "violet" to the input video. Output video size is 640x480, the top-left corner of the input video is placed at column 0, row 40:

    pad=640:480:0:40:violet

    The example above is equivalent to the following command:

    pad=width=640:height=480:x=0:y=40:color=violet
  • Pad the input to get an output with dimensions increased by 3/2, and put the input video at the center of the padded area:

    pad="3/2*iw:3/2*ih:(ow-iw)/2:(oh-ih)/2"
  • Pad the input to get a squared output with size equal to the maximum value between the input width and height, and put the input video at the center of the padded area:

    pad="max(iw\,ih):ow:(ow-iw)/2:(oh-ih)/2"
  • Pad the input to get a final w/h ratio of 16:9:

    pad="ih*16/9:ih:(ow-iw)/2:(oh-ih)/2"
  • In case of anamorphic video, in order to set the output display aspect correctly, it is necessary to use sar in the expression, according to the relation:

    (ih * X / ih) * sar = output_dar
    X = output_dar / sar
    

    Thus the previous example needs to be modified to:

    pad="ih*16/9/sar:ih:(ow-iw)/2:(oh-ih)/2"
  • Double output size and put the input video in the bottom-right corner of the output padded area:

    pad="2*iw:2*ih:ow-iw:oh-ih"