# amfav1enc

amfav1enc element encodes raw video stream into compressed AV1 bitstream via AMD AMF API.

## Example launch line

    gst-launch-1.0 videotestsrc num-buffers=100 ! amfav1enc ! av1parse ! webmmux ! filesink location=encoded.webm

## Hierarchy

    GObject
        ╰──GInitiallyUnowned
            ╰──GstObject
                ╰──GstElement
                    ╰──GstVideoEncoder
                        ╰──GstAmfEncoder
                            ╰──amfav1enc

## Implemented interfaces

    GstPreset

## Factory details

Authors: – Seungha Yang <seungha>, Evgeny Pavlov <lucenticus></lucenticus></seungha>

Classification: – `Codec/Encoder/Video/Hardware`

Rank – none

Plugin – amfcodec

Package – GStreamer Bad Plug-ins

## Pad Templates

### `sink`

    video/x-raw(memory:D3D11Memory):
             format: { NV12, P010_10LE }
              width: [ 128, 4096 ]
             height: [ 128, 4096 ]
    video/x-raw:
             format: { NV12, P010_10LE }
              width: [ 128, 4096 ]
             height: [ 128, 4096 ]

Presence – always

Direction – sink

Object type – GstPad

### `src`

    video/x-av1:
              width: [ 128, 4096 ]
             height: [ 128, 4096 ]
            profile: main
      stream-format: obu-stream
          alignment: tu

Presence – always

Direction – src

Object type – GstPad

## Properties

### adapter-luid

    “adapter-luid” gint64

DXGI Adapter LUID (Locally Unique Identifier) of associated GPU

Flags : Read

Default value : 0

### bitrate

    “bitrate” guint

Target bitrate in kbit/sec (0: USAGE default)

Flags : Read / Write

Default value : 0

### gop-size

    “gop-size” guint

Number of pictures within a GOP

Flags : Read / Write

Default value : 30

### max-bitrate

    “max-bitrate” guint

Maximum bitrate in kbit/sec (0: USAGE default)

Flags : Read / Write

Default value : 0

### max-qp-i

    “max-qp-i” gint

Maximum allowed QP value for I frames (-1: USAGE default)

Flags : Read / Write

Default value : -1

### max-qp-p

    “max-qp-p” gint

Maximum allowed QP value for P frames (-1: USAGE default)

Flags : Read / Write

Default value : -1

### min-qp-i

    “min-qp-i” gint

Minimum allowed QP value for I frames (-1: USAGE default)

Flags : Read / Write

Default value : -1

### min-qp-p

    “min-qp-p” gint

Minimum allowed QP value for P frames (-1: USAGE default)

Flags : Read / Write

Default value : -1

### pa-activity-type

    “pa-activity-type” GstAmfEncPAActivityType *

Set the type of activity analysis for pre-analysis

Flags : Read / Write

Default value : y (0)

Since : 1.24

### pa-caq-strength

    “pa-caq-strength” GstAmfEncPACAQStrength *

Content Adaptive Quantization strength for pre-analysis

Flags : Read / Write

Default value : medium (1)

Since : 1.24

### pa-frame-sad

    “pa-frame-sad” gboolean

Enable Frame SAD algorithm

Flags : Read / Write

Default value : true

Since : 1.24

### pa-hqmb-mode

    “pa-hqmb-mode” GstAmfEncPAHQMBMode *

Set the PA high motion quality boost mode

Flags : Read / Write

Default value : none (0)

Since : 1.24

### pa-initial-qp

    “pa-initial-qp” guint

Pre-analysis initial QP

Flags : Read / Write

Default value : 0

Since : 1.24

### pa-lookahead-buffer-depth

    “pa-lookahead-buffer-depth” guint

Pre-analysis lookahead buffer depth

Flags : Read / Write

Default value : 0

Since : 1.24

### pa-ltr

    “pa-ltr” gboolean

Enable long term reference frame management

Flags : Read / Write

Default value : false

Since : 1.24

### pa-max-qp

    “pa-max-qp” guint

Pre-analysis max QP

Flags : Read / Write

Default value : 35

Since : 1.24

### pa-paq-mode

    “pa-paq-mode” GstAmfEncPAPAQMode *

Set the perceptual adaptive quantization mode

Flags : Read / Write

Default value : none (0)

Since : 1.24

### pa-scene-change-detection

    “pa-scene-change-detection” gboolean

Enable scene change detection for pre-analysis

Flags : Read / Write

Default value : true

Since : 1.24

### pa-scene-change-detection-sensitivity

    “pa-scene-change-detection-sensitivity” GstAmfEncPASceneChangeDetectionSensitivity *

Pre-analysis scene change detection sensitivity

Flags : Read / Write

Default value : medium (1)

Since : 1.24

### pa-static-scene-detection

    “pa-static-scene-detection” gboolean

Enable static scene detection for pre-analysis

Flags : Read / Write

Default value : false

Since : 1.24

### pa-static-scene-detection-sensitivity

    “pa-static-scene-detection-sensitivity” GstAmfEncPAStaticSceneDetectionSensitivity *

Pre-analysis static scene detection sensitivity

Flags : Read / Write

Default value : high (2)

Since : 1.24

### pa-taq-mode

    “pa-taq-mode” GstAmfEncPATAQMode *

Set the temporal adaptive quantization mode

Flags : Read / Write

Default value : none (0)

Since : 1.24

### pre-analysis

    “pre-analysis” gboolean

Enable the pre-analysis module

Flags : Read / Write

Default value : false

Since : 1.24

### pre-encode

    “pre-encode” gboolean

Enable pre-encode assisted rate control

Flags : Read / Write

Default value : false

Since : 1.24

### preset

    “preset” Amf-av1enc-preset *

Preset

Flags : Read / Write

Default value : default (-1)

### qp-i

    “qp-i” guint

Constant QP for I frames

Flags : Read / Write

Default value : 26

### qp-p

    “qp-p” guint

Constant QP for P frames

Flags : Read / Write

Default value : 26

### rate-control

    “rate-control” Amf-av1enc-rate-control *

Rate Control Method

Flags : Read / Write

Default value : default (-1)

### ref-frames

    “ref-frames” guint

Number of reference frames

Flags : Read / Write

Default value : 1

### smart-access-video

    “smart-access-video” gboolean

Enable AMF SmartAccess Video feature

Flags : Read / Write

Default value : false

Since : 1.24

### usage

    “usage” Amf-av1enc-usage *

Target usage

Flags : Read / Write

Default value : transcoding (0)

## Named constants

### Amf-av1enc-preset

Encoding quality presets

#### Members

`default` (-1) – Default, depends on USAGE
`high-quality` (0) – High quality
`quality` (30) – Quality
`balanced` (70) – Balanced
`speed` (100) – Speed

Since : 1.22

### Amf-av1enc-rate-control

Rate control methods

#### Members

`default` (-1) – Default, depends on Usage
`cqp` (0) – Constant QP
`lcvbr` (1) – Latency Constrained VBR
`vbr` (2) – Peak Constrained VBR
`cbr` (3) – Constant Bitrate

Since : 1.22

### Amf-av1enc-usage

Encoder usages

#### Members

`transcoding` (0) – Transcoding
`low-latency` (1) – Low Latency

Since : 1.22

The results of the search are