# svthevcenc

This element encodes raw video into H265 compressed data.

## Hierarchy

    GObject
        ╰──GInitiallyUnowned
            ╰──GstObject
                ╰──GstElement
                    ╰──GstVideoEncoder
                        ╰──svthevcenc

## Implemented interfaces

    GstPreset

## Factory details

Authors: – Yeongjin Jeong <yeongjin.jeong></yeongjin.jeong>

Classification: – `Codec/Encoder/Video`

Rank – primary

Plugin – svthevcenc

Package – GStreamer Bad Plug-ins

## Pad Templates

### `sink`

    video/x-raw:
             format: { I420, Y42B, Y444, I420_10LE, I422_10LE, Y444_10LE }
          framerate: [ 0/1, 2147483647/1 ]
              width: [ 64, 8192 ]
             height: [ 64, 4320 ]

Presence – always

Direction – sink

Object type – GstPad

### `src`

    video/x-h265:
          framerate: [ 0/1, 2147483647/1 ]
              width: [ 64, 8192 ]
             height: [ 64, 4320 ]
      stream-format: byte-stream
          alignment: au
            profile: { (string)main, (string)main-10, (string)main-422-10, (string)main-444, (string)main-444-10 }

Presence – always

Direction – src

Object type – GstPad

## Properties

### aud

    “aud” gboolean

Use AU (Access Unit) delimiter

Flags : Read / Write

Default value : false

### b-pyramid

    “b-pyramid” GstSvtHevcEncBPyramid *

Number of hierarchical layers used to construct GOP

Flags : Read / Write

Default value : 4-level-hierarchy (3)

### baselayer-mode

    “baselayer-mode” GstSvtHevcEncBaseLayerMode *

Random Access Prediction Structure type setting

Flags : Read / Write

Default value : B-frame (0)

### bitrate

    “bitrate” guint

Bitrate in kbit/sec

Flags : Read / Write

Default value : 7000

### config-interval

    “config-interval” guint

Send VPS, SPS and PPS Insertion Interval per every few IDR. 0: disabled

Flags : Read / Write

Default value : 0

### cores

    “cores” guint

Number of logical cores to be used. 0: auto

Flags : Read / Write

Default value : 0

### enable-open-gop

    “enable-open-gop” gboolean

Allow intra-refresh using the CRA, not IDR

Flags : Read / Write

Default value : true

### enable-scd

    “enable-scd” gboolean

Use the scene change detection algorithm

Flags : Read / Write

Default value : true

### insert-vui

    “insert-vui” gboolean

Insert VUI NAL in stream

Flags : Read / Write

Default value : false

### key-int-max

    “key-int-max” gint

Distance Between Intra Frame inserted: -1=no intra update. -2=auto

Flags : Read / Write

Default value : -2

### lookahead

    “lookahead” guint

Look ahead distance

Flags : Read / Write

Default value : 40

### pred-struct

    “pred-struct” GstSvtHevcEncPredStruct *

Prediction Structure used to construct GOP

Flags : Read / Write

Default value : random-access (2)

### qp-i

    “qp-i” guint

QP value for intra frames in CQP mode

Flags : Read / Write

Default value : 25

### qp-max

    “qp-max” guint

Maximum QP value allowed for rate control use

Flags : Read / Write

Default value : 48

### qp-min

    “qp-min” guint

Minimum QP value allowed for rate control use

Flags : Read / Write

Default value : 10

### rc

    “rc” GstSvtHevcEncRC *

Bitrate control mode

Flags : Read / Write

Default value : cqp (0)

### socket

    “socket” gint

Target socket to run on. -1: all available

Flags : Read / Write

Default value : -1

### speed

    “speed” guint

Encoding preset [0, 11] (e.g. 0 is the highest quality mode, 11 is the highest), [0, 11] (for >= 4k resolution), [0, 10] (for >= 1080p resolution), [0, 9] (for all resolution)

Flags : Read / Write

Default value : 7

### tile-col

    “tile-col” guint

Tile count in the Column

Flags : Read / Write

Default value : 1

### tile-row

    “tile-row” guint

Tile count in the Row

Flags : Read / Write

Default value : 1

### tune

    “tune” GstSvtHevcEncTune *

Quality tuning mode

Flags : Read / Write

Default value : oq (1)

### vbv-buffer-size

    “vbv-buffer-size” guint

VBV buffer size in kbits for VBR mode

Flags : Read / Write

Default value : 0

### vbv-max-rate

    “vbv-max-rate” guint

VBV maxrate in kbit/sec for VBR mode

Flags : Read / Write

Default value : 0

## Named constants

### GstSvtHevcEncBPyramid

#### Members

`flat` (0) – Flat
`2-level-hierarchy` (1) – 2-Level Hierarchy
`3-level-hierarchy` (2) – 3-Level Hierarchy
`4-level-hierarchy` (3) – 4-Level Hierarchy

### GstSvtHevcEncBaseLayerMode

#### Members

`B-frame` (0) – Use B-frames in the base layer pointing to the same past picture
`P-frame` (1) – Use P-frames in the base layer

### GstSvtHevcEncPredStruct

#### Members

`low-delay-P` (0) – Low Delay Prediction Structure with P/p pictures
`low-delay-B` (1) – Low Delay Prediction Structure with B/b pictures
`random-access` (2) – Random Access Prediction Structure

### GstSvtHevcEncRC

#### Members

`cqp` (0) – Constant QP Control
`vbr` (1) – Variable Bitrate Contorol

### GstSvtHevcEncTune

#### Members

`sq` (0) – Visually Optimized Mode
`oq` (1) – PSNR/SSIM Optimized Mode
`vmaf` (2) – VMAF Optimized Mode

The results of the search are