# amfh265enc

amfh265enc element encodes raw video stream into compressed H.265 bitstream via AMD AMF API.

## Example launch line

    gst-launch-1.0 videotestsrc num-buffers=100 ! amfh265enc ! h265parse ! mp4mux ! filesink location=encoded.mp4

## Hierarchy

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

## Implemented interfaces

    GstPreset

## Factory details

Authors: – Seungha Yang

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

Rank – primary

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-h265:
              width: [ 128, 4096 ]
             height: [ 128, 4096 ]
            profile: { (string)main, (string)main-10 }
      stream-format: byte-stream
          alignment: au

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

### aud

    “aud” gboolean

Use AU (Access Unit) delimiter

Flags : Read / Write

Default value : true

### 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-h265enc-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-h265enc-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-h265enc-usage *

Target usage

Flags : Read / Write

Default value : transcoding (0)

## Named constants

### GstAmfEncPAActivityType

Determines whether activity analysis is performed on the Luma component only (Y) or on both Luma and Chroma (YUV).

#### Members

`y` (0) – Luma (Y) component only
`yuv` (1) – Luma and Chroma components (YUV)

Since : 1.24

### GstAmfEncPACAQStrength

Content Adaptive Quantization strength. Stronger CAQ strength means larger variation in block level QP assignment.

#### Members

`low` (0) – Low
`medium` (1) – Medium
`high` (2) – High

Since : 1.24

### GstAmfEncPAHQMBMode

Sets the PA high motion quality boost (HQMB) mode to help the encoder in motion search.

#### Members

`none` (0) – None
`auto` (1) – Auto

Since : 1.24

### GstAmfEncPAPAQMode

Sets the perceptual adaptive quantization mode.

#### Members

`none` (0) – None
`caq` (1) – Content Adaptive Quantization (CAQ) mode

Since : 1.24

### GstAmfEncPASceneChangeDetectionSensitivity

Sensitivity of scene change detection. The higher the sensitivity, the more restrictive it is to detect a scene change. This parameter takes effect only when AMF_PA_LOOKAHEAH_BUFFER_DEPTH is set to 0.

#### Members

`low` (0) – Low
`medium` (1) – Medium
`high` (2) – High

Since : 1.24

### GstAmfEncPAStaticSceneDetectionSensitivity

Sensitivity of static scene detection. The higher the sensitivity, the more restrictive it is to detect a static scene.

#### Members

`low` (0) – Low
`medium` (1) – Medium
`high` (2) – High

Since : 1.24

### GstAmfEncPATAQMode

Sets the temporal adaptive quantization mode. MODE_1 is suitable for non-gaming applications whereas MODE_2 is suitable for gaming applications.

#### Members

`none` (0) – None
`mode1` (1) – Mode_1 is suitable for non-gaming applications
`mode2` (2) – Mode_2 is suitable for gaming applications

Since : 1.24

### Amf-h265enc-preset

Encoding quality presets

#### Members

`default` (-1) – Default, depends on USAGE
`quality` (0) – Quality
`balanced` (5) – Balanced
`speed` (10) – Speed

Since : 1.22

### Amf-h265enc-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-h265enc-usage

Encoder usages

#### Members

`transcoding` (0) – Transcoding
`ultra-low-latency` (1) – Ultra Low Latency
`low-latency` (2) – Low Latency
`webcam` (3) – Webcam

Since : 1.22

The results of the search are