# nvd3d11h265enc

NVIDIA Direct3D11 mode H.265 encoder

## Hierarchy

    GObject
        ╰──GInitiallyUnowned
            ╰──GstObject
                ╰──GstElement
                    ╰──GstVideoEncoder
                        ╰──GstNvEncoder
                            ╰──nvd3d11h265enc

## Implemented interfaces

    GstPreset

## Factory details

Authors: – Seungha Yang

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

Rank – none

Plugin – nvcodec

Package – GStreamer Bad Plug-ins

## Pad Templates

### `sink`

    video/x-raw(memory:D3D11Memory):
             format: { NV12, P010_10LE, Y444, Y444_16LE, GBR, GBR_16LE }
              width: [ 144, 8192 ]
             height: [ 48, 8192 ]
     interlace-mode: progressive
    video/x-raw:
             format: { NV12, P010_10LE, Y444, Y444_16LE, GBR, GBR_16LE }
              width: [ 144, 8192 ]
             height: [ 48, 8192 ]
     interlace-mode: progressive

Presence – always

Direction – sink

Object type – GstPad

### `src`

    video/x-h265:
              width: [ 144, 8192 ]
             height: [ 48, 8192 ]
            profile: { (string)main, (string)main-10, (string)main-444, (string)main-444-10 }
      stream-format: { (string)hvc1, (string)hev1, (string)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

### aq-strength

    “aq-strength” guint

Adaptive Quantization Strength when spatial-aq is enabled from 1 (low) to 15 (aggressive), (0 = autoselect)

Flags : Read / Write

Default value : 0

### aud

    “aud” gboolean

Use AU (Access Unit) delimiter

Flags : Read / Write

Default value : true

### b-adapt

    “b-adapt” gboolean

Enable adaptive B-frame insert when lookahead is enabled

Flags : Read / Write

Default value : false

### b-frames

    “b-frames” guint

Number of B-frames between I and P

Flags : Read / Write

Default value : 0

### bitrate

    “bitrate” guint

Bitrate in kbit/sec (0 = automatic)

Flags : Read / Write

Default value : 0

### const-quality

    “const-quality” gdouble

Target Constant Quality level for VBR mode (0 = automatic)

Flags : Read / Write

Default value : 0

### gop-size

    “gop-size” gint

Number of frames between intra frames (-1 = infinite)

Flags : Read / Write

Default value : 30

### i-adapt

    “i-adapt” gboolean

Enable adaptive I-frame insert when lookahead is enabled

Flags : Read / Write

Default value : false

### max-bitrate

    “max-bitrate” guint

Maximum Bitrate in kbit/sec (ignored in CBR mode)

Flags : Read / Write

Default value : 0

### max-qp-b

    “max-qp-b” gint

Maximum QP value for B frame, (-1 = automatic)

Flags : Read / Write

Default value : -1

### max-qp-i

    “max-qp-i” gint

Maximum QP value for I frame, (-1 = disabled)

Flags : Read / Write

Default value : -1

### max-qp-p

    “max-qp-p” gint

Maximum QP value for P frame, (-1 = automatic)

Flags : Read / Write

Default value : -1

### min-qp-b

    “min-qp-b” gint

Minimum QP value for B frame, (-1 = automatic)

Flags : Read / Write

Default value : -1

### min-qp-i

    “min-qp-i” gint

Minimum QP value for I frame, (-1 = disabled)

Flags : Read / Write

Default value : -1

### min-qp-p

    “min-qp-p” gint

Minimum QP value for P frame, (-1 = automatic)

Flags : Read / Write

Default value : -1

### multi-pass

    “multi-pass” GstNvEncoderMultiPass *

Flags : Read / Write

Default value : default (0)

Since : 1.24

### nonref-p

    “nonref-p” gboolean

Automatic insertion of non-reference P-frames

Flags : Read / Write

Default value : false

### preset

    “preset” GstNvEncoderPreset *

Encoding Preset

Flags : Read / Write

Default value : p4 (11)

### qp-b

    “qp-b” gint

Constant QP value for B frame (-1 = default)

Flags : Read / Write

Default value : -1

### qp-i

    “qp-i” gint

Constant QP value for I frame (-1 = default)

Flags : Read / Write

Default value : -1

### qp-p

    “qp-p” gint

Constant QP value for P frame (-1 = default)

Flags : Read / Write

Default value : -1

### rate-control

    “rate-control” GstNvEncoderRCMode *

Rate Control Method

Flags : Read / Write

Default value : vbr (1)

### rc-lookahead

    “rc-lookahead” guint

Number of frames for frame type lookahead

Flags : Read / Write

Default value : 0

### repeat-sequence-header

    “repeat-sequence-header” gboolean

Insert sequence headers (SPS/PPS) per IDR, ignored if negotiated stream-format is "hvc1"

Flags : Read / Write

Default value : false

### spatial-aq

    “spatial-aq” gboolean

Spatial Adaptive Quantization

Flags : Read / Write

Default value : false

### strict-gop

    “strict-gop” gboolean

Minimize GOP-to-GOP rate fluctuations

Flags : Read / Write

Default value : false

### temporal-aq

    “temporal-aq” gboolean

Temporal Adaptive Quantization

Flags : Read / Write

Default value : false

### tune

    “tune” GstNvEncoderTune *

Flags : Read / Write

Default value : default (0)

Since : 1.24

### vbv-buffer-size

    “vbv-buffer-size” guint

VBV(HRD) Buffer Size in kbits (0 = NVENC default)

Flags : Read / Write

Default value : 0

### weighted-pred

    “weighted-pred” gboolean

Enables Weighted Prediction

Flags : Read / Write

Default value : false

### zero-reorder-delay

    “zero-reorder-delay” gboolean

Zero latency operation (i.e., num_reorder_frames = 0)

Flags : Read / Write

Default value : false

## Named constants

### GstNvEncoderMultiPass

#### Members

`default` (0) – Disable multi-pass when cqp, vbr or cbr is used. Otherwise encoder will select it based on rc-mode
`disabled` (1) – Disabled
`two-pass-quarter` (2) – Two pass with quarter resolution encoding in first pass
`two-pass` (3) – Two pass

Since : 1.24

### GstNvEncoderPreset

#### Members

`default` (0) – Default (deprecated, use p1~7 with tune)
`hp` (1) – High Performance (deprecated, use p1~7 with tune)
`hq` (2) – High Quality (deprecated, use p1~7 with tune)
`low-latency` (3) – Low Latency (deprecated, use p1~7 with tune)
`low-latency-hq` (4) – Low Latency (deprecated, use p1~7 with tune), High Quality
`low-latency-hp` (5) – Low Latency (deprecated, use p1~7 with tune), High Performance
`lossless` (6) – Lossless (deprecated, use p1~7 with tune)
`lossless-hp` (7) – Lossless (deprecated, use p1~7 with tune), High Performance
`p1` (8) – P1, fastest
`p2` (9) – P2, faster
`p3` (10) – P3, fast
`p4` (11) – P4, medium
`p5` (12) – P5, slow
`p6` (13) – P6, slower
`p7` (14) – P7, slowest

Since : 1.22

### GstNvEncoderRCMode

#### Members

`cqp` (0) – Constant Quantization
`vbr` (1) – Variable Bit Rate
`cbr` (2) – Constant Bit Rate
`cbr-ld-hq` (3) – Low-Delay CBR, High Quality (deprecated, use cbr with tune and multipass)
`cbr-hq` (4) – CBR, High Quality (deprecated, use cbr with tune and multipass)
`vbr-hq` (5) – VBR, High Quality (deprecated, use vbr with tune and multipass)

Since : 1.22

### GstNvEncoderTune

#### Members

`default` (0) – High quality when p1~7 preset is used. Otherwise encoder will select it based on preset
`high-quality` (1) – High quality
`low-latency` (2) – Low latency
`ultra-low-latency` (3) – Ultra low latency
`lossless` (4) – Lossless

Since : 1.24

The results of the search are