# av1enc

AV1 Encoder.

## Example launch line

     gst-launch-1.0 videotestsrc num-buffers=50 ! av1enc ! webmmux ! filesink location=av1.webm

## Hierarchy

    GObject
        ╰──GInitiallyUnowned
            ╰──GstObject
                ╰──GstElement
                    ╰──GstVideoEncoder
                        ╰──av1enc

## Implemented interfaces

    GstPreset

## Factory details

Authors: – Sean DuBois

Classification: – `Codec/Encoder/Video`

Rank – primary

Plugin – aom

Package – GStreamer Bad Plug-ins

## Pad Templates

### `sink`

    video/x-raw:
             format: { I420, Y42B, Y444, YV12 }
          framerate: [ 0/1, 2147483647/1 ]
              width: [ 4, 2147483647 ]
             height: [ 4, 2147483647 ]

Presence – always

Direction – sink

Object type – GstPad

### `src`

    video/x-av1:
      stream-format: obu-stream
          alignment: tu

Presence – always

Direction – src

Object type – GstPad

## Properties

### buf-initial-sz

    “buf-initial-sz” guint

Decoder buffer initial size, expressed in units of time (milliseconds)

Flags : Read / Write

Default value : 4000

### buf-optimal-sz

    “buf-optimal-sz” guint

Decoder buffer optimal size, expressed in units of time (milliseconds)

Flags : Read / Write

Default value : 5000

### buf-sz

    “buf-sz” guint

Decoder buffer size, expressed in units of time (milliseconds)

Flags : Read / Write

Default value : 6000

### cpu-used

    “cpu-used” gint

CPU Used. A Value greater than 0 will increase encoder speed at the expense of quality.

Flags : Read / Write

Default value : 0

### drop-frame

    “drop-frame” guint

Temporal resampling configuration, drop frames as a strategy to meet its target data rate Set to zero (0) to disable this feature.

Flags : Read / Write

Default value : 0

### enc-pass

    “enc-pass” Av1enc-enc-pass *

Flags : Read / Write

Default value : one-pass (0)

Since : 1.22

### end-usage

    “end-usage” Av1enc-end-usage-mode *

Rate control algorithm to use, indicates the end usage of this stream

Flags : Read / Write

Default value : vbr (0)

### keyframe-max-dist

    “keyframe-max-dist” gint

Flags : Read / Write

Default value : 30

Since : 1.22

### keyframe-mode

    “keyframe-mode” Av1enc-kfmode *

Flags : Read / Write

Default value : auto (1)

Since : 1.22

### lag-in-frames

    “lag-in-frames” guint

Flags : Read / Write

Default value : 0

Since : 1.22

### max-quantizer

    “max-quantizer” guint

Maximum (worst quality) quantizer

Flags : Read / Write

Default value : 0

### min-quantizer

    “min-quantizer” guint

Minimum (best quality) quantizer

Flags : Read / Write

Default value : 0

### overshoot-pct

    “overshoot-pct” guint

Rate control adaptation overshoot control

Flags : Read / Write

Default value : 25

### resize-denominator

    “resize-denominator” guint

Frame resize denominator, assuming 8 as the numerator

Flags : Read / Write

Default value : 8

### resize-kf-denominator

    “resize-kf-denominator” guint

Frame resize keyframe denominator, assuming 8 as the numerator

Flags : Read / Write

Default value : 8

### resize-mode

    “resize-mode” Av1enc-resize-mode *

Frame resize mode

Flags : Read / Write

Default value : none (0)

### row-mt

    “row-mt” gboolean

Enable row based multi-threading

Flags : Read / Write

Default value : true

### superres-denominator

    “superres-denominator” guint

Frame super-resolution denominator, used only by SUPERRES_FIXED mode

Flags : Read / Write

Default value : 8

### superres-kf-denominator

    “superres-kf-denominator” guint

Keyframe super-resolution denominator

Flags : Read / Write

Default value : 8

### superres-kf-qthresh

    “superres-kf-qthresh” guint

Keyframe super-resolution qindex threshold, used only by SUPERRES_QTHRESH mode

Flags : Read / Write

Default value : 63

### superres-mode

    “superres-mode” Av1enc-superres-mode *

It integrates upscaling after the encode/decode process

Flags : Read / Write

Default value : none (0)

### superres-qthresh

    “superres-qthresh” guint

Frame super-resolution qindex threshold, used only by SUPERRES_QTHRESH mode

Flags : Read / Write

Default value : 63

### target-bitrate

    “target-bitrate” guint

Target bitrate, in kilobits per second

Flags : Read / Write

Default value : 256

### threads

    “threads” guint

Max number of threads to use encoding, set to 0 determine the approximate number of threads that the system schedule

Flags : Read / Write

Default value : 0

### tile-columns

    “tile-columns” guint

Partition into separate vertical tile columns from image frame which can enable parallel encoding

Flags : Read / Write

Default value : 0

### tile-rows

    “tile-rows” guint

Partition into separate horizontal tile rows from image frame which can enable parallel encoding

Flags : Read / Write

Default value : 0

### undershoot-pct

    “undershoot-pct” guint

Rate control adaptation undershoot control

Flags : Read / Write

Default value : 25

### usage-profile

    “usage-profile” Av1enc-usage-profile *

Flags : Read / Write

Default value : good-quality (0)

Since : 1.22

## Named constants

### Av1enc-enc-pass

#### Members

`one-pass` (0) – Single pass mode
`first-pass` (1) – First pass of multi-pass mode
`second-pass` (2) – Second pass of multi-pass mode
`third-pass` (3) – Third pass of multi-pass mode

Since : 1.22

### Av1enc-end-usage-mode

Rate control algorithm to use

#### Members

`vbr` (0) – Variable Bit Rate Mode
`cbr` (1) – Constant Bit Rate Mode
`cq` (2) – Constrained Quality Mode
`q` (3) – Constant Quality Mode

### Av1enc-kfmode

Determines whether keyframes are placed automatically by the encoder

#### Members

`auto` (1) – Encoder determines optimal keyframe placement automatically
`disabled` (0) – Encoder does not place keyframes

Since : 1.22

### Av1enc-resize-mode

Frame resize mode

#### Members

`none` (0) – No frame resizing allowed
`fixed` (1) – All frames are coded at the specified scale
`random` (2) – All frames are coded at a random scale

### Av1enc-superres-mode

Frame super-resolution mode

#### Members

`none` (0) – No frame superres allowed
`fixed` (1) – All frames are coded at the specified scale and super-resolved
`random` (2) – All frames are coded at a random scale and super-resolved
`qthresh` (3) – Superres scale for a frame is determined based on q_index

### Av1enc-usage-profile

Usage profile is used to guide the default config for the encoder

#### Members

`good-quality` (0) – Good Quality profile
`realtime` (1) – Realtime profile
`all-intra` (2) – All Intra profile

Since : 1.22

The results of the search are