# vulkanh264enc

A H.264 video encoder based on Vulkan

## Hierarchy

    GObject
        ╰──GInitiallyUnowned
            ╰──GstObject
                ╰──GstElement
                    ╰──GstVideoEncoder
                        ╰──GstH264Encoder
                            ╰──vulkanh264enc

## Implemented interfaces

    GstPreset

## Factory details

Authors: – Stéphane Cerveau <scerveau@igalia.com>, Victor Jaquez <vjaquez@igalia.com></vjaquez@igalia.com></scerveau@igalia.com>

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

Rank – none

Plugin – vulkan

Package – GStreamer Bad Plug-ins

## Pad Templates

### `sink`

    video/x-raw(memory:VulkanImage):
             format: NV12
              width: [ 1, 2147483647 ]
             height: [ 1, 2147483647 ]
          framerate: [ 0/1, 2147483647/1 ]

Presence – always

Direction – sink

Object type – GstPad

### `src`

    video/x-h264:
            profile: { (string)main, (string)high, (string)constrained-baseline }
      stream-format: byte-stream
          alignment: au

Presence – always

Direction – src

Object type – GstPad

## Properties

### aud

    “aud” gboolean

Insert the AU (Access Unit) delimeter for each frame.

Flags : Read / Write / Construct

Default value : true

Since : 1.28

### bitrate

    “bitrate” guint

Bitrate is the amount of data (in kilobits) to process per second. It's both a function of the encoded bitstream data size of the encoded pictures as well as the frame rate used by the video sequence

A higher bitrate will result in a better visual quality but it will result in a bigger file. A lower bitrate will result in a smaller file, but it will also result in a worse visual quality.

Flags : Read / Write / Construct

Default value : 0

Since : 1.28

### max-qp

    “max-qp” guint

Indicates the quantization parameter upper bound for each frame. It's only applied when the rate control mode (#GstVulkanH264Encoder:rc-mode) is either CBR (constant bitrate) or VBR (variable bitrate).

Lower QP values mean higher video quality, but larger file sizes or higher bitrates.

If zero, the upper bound will not be clamped.

Flags : Read / Write / Construct

Default value : 0

Since : 1.28

### min-qp

    “min-qp” guint

Indicates the quantization parameter lower bound for each frame. It's only applied when the rate control mode (#GstVulkanH264Encoder::rc-mode) is either CBR (constant bitrate) or VBR (variable bitrate).

Lower QP values mean higher video quality, but larger file sizes or higher bitrates.

If zero, the lower bound will not be clamped.

Flags : Read / Write / Construct

Default value : 0

Since : 1.28

### qp-b

    “qp-b” guint

Indicates the quantization parameter for all the slices in each B frame. It's only applied when the rate control mode (#GstVulkanH264Encoder:rc-mode) is CQP (constant quantization parameter).

Lower QP values mean higher video quality, but larger file sizes or higher bitrates.

Flags : Read / Write / Construct

Default value : 26

Since : 1.28

### qp-i

    “qp-i” guint

Indicates the quantization parameter for all the slices in each I frame. It's only applied when the rate control mode (#GstVulkanH264Encoder:rc-mode) is CQP (constant quantization parameter).

Lower QP values mean higher video quality, but larger file sizes or higher bitrates.

Flags : Read / Write / Construct

Default value : 26

Since : 1.28

### qp-p

    “qp-p” guint

Indicates the quantization parameter for all the slices in each P frame. It's only applied when the rate control mode (#GstVulkanH264Encoder:rc-mode) is CQP (constant quantization parameter).

Lower QP values mean higher video quality, but larger file sizes or higher bitrates.

Flags : Read / Write / Construct

Default value : 26

Since : 1.28

### quality

    “quality” guint

Video encode quality level.

Higher quality levels may produce higher quality videos at the cost of additional processing time.

Flags : Read / Write / Construct

Default value : 2

Since : 1.28

### rate-control

    “rate-control” Vulkan-encoder-rate-control-mode *

Rate control algorithms adjust encoding parameters dynamically to regulate the output bitrate. This can involve managing Quantization Parameters (QP), quality, or other encoding parameters.

Flags : Read / Write / Construct

Default value : cqp (1)

Since : 1.28

## Named constants

### Vulkan-encoder-rate-control-mode

Rate control modes for Vulkan encoders.

#### Members

`default` (0) – Driver's default
`cqp` (1) – Constant quantizer
`cbr` (2) – Constant bitrate
`vbr` (4) – Variable bitrate

Since : 1.28

The results of the search are