## vaapih264enc

vaapih264enc — A VA-API based H.264 video encoder

## Properties

guint | bitrate | Read / Write
gboolean | cabac | Read / Write
guint | cpb-length | Read / Write
gboolean | dct8x8 | Read / Write
guint | init-qp | Read / Write
guint | keyframe-period | Read / Write
guint | max-bframes | Read / Write
guint | min-qp | Read / Write
guint | num-slices | Read / Write
guint | num-views | Read / Write
GstVaapiRateControlH264 | rate-control | Read / Write
GstVaapiEncoderTuneH264 | tune | Read / Write
GValueArray * | view-ids | Read / Write

## Object Hierarchy

        GObject
        ╰── GInitiallyUnowned
            ╰── GstObject
                ╰── GstElement
                    ╰── GstVideoEncoder
                        ╰── GstVaapiEncode
                            ╰── GstVaapiEncodeH264

## Description

Encodes raw video streams into H.264 bitstreams.

### Example launch line

     gst-launch-1.0 -ev videotestsrc num-buffers=60 ! timeoverlay ! vaapih264enc ! mp4mux ! filesink location=test.mp4

## Synopsis

### Element Information

plugin | vaapi
author | Wind Yuan <feng.yuan@intel.com>
class | Codec/Encoder/Video

### Element Pads

name | sink
direction | sink
presence | always
details | video/x-raw(memory:VASurface), format=(string){ ENCODED, NV12, I420, YV12 }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], interlace-mode=(string)progressive

video/x-raw, format=(string){ I420, YV12, YUY2, UYVY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, NV12, NV21, NV16, NV61, NV24, GRAY8, GRAY16_BE, GRAY16_LE, v308, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10LE, I420_10BE, I422_10LE, I422_10BE, Y444_10LE, Y444_10BE, GBR, GBR_10LE, GBR_10BE, NV12_64Z32, A420_10LE, A420_10BE, A422_10LE, A422_10BE, A444_10LE, A444_10BE }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], interlace-mode=(string)progressive

name | src
direction | source
presence | always
details | video/x-h264, stream-format=(string){ avc, byte-stream }, alignment=(string)au, profile=(string){ constrained-baseline, baseline, main, high, multiview-high, stereo-high }

## Functions

## Types and Values

## Property Details

### The `“bitrate”` property

      “bitrate”                  guint

The desired bitrate expressed in kbps (0: auto-calculate).

Flags: Read / Write

Allowed values: <= 102400

Default value: 0

### The `“cabac”` property

      “cabac”                    gboolean

Enable CABAC entropy coding mode.

Flags: Read / Write

Default value: FALSE

### The `“cpb-length”` property

      “cpb-length”               guint

Length of the CPB buffer in milliseconds.

Flags: Read / Write

Allowed values: [1,10000]

Default value: 1500

### The `“dct8x8”` property

      “dct8x8”                   gboolean

Enable adaptive use of 8x8 transforms in I-frames.

Flags: Read / Write

Default value: FALSE

### The `“init-qp”` property

      “init-qp”                  guint

Initial quantizer value.

Flags: Read / Write

Allowed values: [1,51]

Default value: 26

### The `“keyframe-period”` property

      “keyframe-period”          guint

Maximal distance between two keyframes (0: auto-calculate).

Flags: Read / Write

Allowed values: [1,300]

Default value: 30

### The `“max-bframes”` property

      “max-bframes”              guint

Number of B-frames between I and P.

Flags: Read / Write

Allowed values: <= 10

Default value: 0

### The `“min-qp”` property

      “min-qp”                   guint

Minimum quantizer value.

Flags: Read / Write

Allowed values: [1,51]

Default value: 1

### The `“num-slices”` property

      “num-slices”               guint

Number of slices per frame.

Flags: Read / Write

Allowed values: [1,200]

Default value: 1

### The `“num-views”` property

      “num-views”                guint

Number of Views for MVC encoding.

Flags: Read / Write

Allowed values: [1,10]

Default value: 1

### The `“rate-control”` property

      “rate-control”             GstVaapiRateControlH264

Rate control mode.

Flags: Read / Write

Default value: Constant QP

### The `“tune”` property

      “tune”                     GstVaapiEncoderTuneH264

Encoder tuning option.

Flags: Read / Write

Default value: None

### The `“view-ids”` property

      “view-ids”                 GValueArray *

Set of View Ids used for MVC encoding.

Flags: Read / Write