vaapivp8enc: GStreamer VA-API Plugins 1.0 Plugins Reference Manual

## vaapivp8enc vaapivp8enc — A VA-API based VP8 video encoder |

## Properties

guint | bitrate | Read / Write
guint | keyframe-period | Read / Write
guint | loop-filter-level | Read / Write
GstVaapiRateControlVP8 | rate-control | Read / Write
guint | sharpness-level | Read / Write
GstVaapiEncoderTuneVP8 | tune | Read / Write
guint | yac-qi | Read / Write

## Object Hierarchy

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

## Description

Encodes raw video streams into VP8 bitstreams.

### Example launch line

    1
    gst-launch-1.0 -ev videotestsrc num-buffers=60 ! timeoverlay ! vaapivp8enc ! matroskamux ! filesink location=test.mkv

## Synopsis

### Element Information

plugin | vaapi
author | Sreerenj Balachandran <sreerenj.balachandran@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-vp8

## 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 `“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 `“loop-filter-level”` property

      “loop-filter-level”        guint

Controls the deblocking filter strength.

Flags: Read / Write

Allowed values: <= 63

Default value: 0

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

      “rate-control”             GstVaapiRateControlVP8

Rate control mode.

Flags: Read / Write

Default value: Constant QP

### The `“sharpness-level”` property

      “sharpness-level”          guint

Controls the deblocking filter sensitivity.

Flags: Read / Write

Allowed values: <= 7

Default value: 0

### The `“tune”` property

      “tune”                     GstVaapiEncoderTuneVP8

Encoder tuning option.

Flags: Read / Write

Default value: None

### The `“yac-qi”` property

      “yac-qi”                   guint

Quantization Table index for Luma AC Coefficients, (in default case, yac_qi=4 for key frames and yac_qi=40 for P frames).

Flags: Read / Write

Allowed values: <= 127

Default value: 40