## vp8enc vp8enc — Encode VP8 video streams |

## Synopsis

    struct              GstVP8Enc;

## Object Hierarchy

      GObject
       +----GInitiallyUnowned
             +----GstObject
                   +----GstElement
                         +----GstVideoEncoder
                               +----GstVP8Enc

## Implemented Interfaces

GstVP8Enc implements GstPreset and GstTagSetter.

## Properties

      "arnr-maxframes"           gint                  : Read / Write
      "arnr-strength"            gint                  : Read / Write
      "arnr-type"                gint                  : Read / Write
      "auto-alt-ref"             gboolean              : Read / Write
      "buffer-initial-size"      gint                  : Read / Write
      "buffer-optimal-size"      gint                  : Read / Write
      "buffer-size"              gint                  : Read / Write
      "cpu-used"                 gint                  : Read / Write
      "cq-level"                 gint                  : Read / Write
      "deadline"                 gint64                : Read / Write
      "dropframe-threshold"      gint                  : Read / Write
      "end-usage"                GstVP8EncEndUsage     : Read / Write
      "error-resilient"          GstVP8EncErFlags      : Read / Write
      "h-scaling-mode"           GstVP8EncScalingMode  : Read / Write
      "kf-max-dist"              gint                  : Read / Write
      "kf-mode"                  GstVP8EncKfMode       : Read / Write
      "lag-in-frames"            gint                  : Read / Write
      "max-intra-bitrate-pct"    gint                  : Read / Write
      "max-quantizer"            gint                  : Read / Write
      "min-quantizer"            gint                  : Read / Write
      "multipass-cache-file"     gchar*                : Read / Write
      "multipass-mode"           GstVP8EncMultipassMode  : Read / Write
      "noise-sensitivity"        gint                  : Read / Write
      "overshoot-pct"            gint                  : Read / Write
      "resize-allowed"           gboolean              : Read / Write
      "resize-down-threshold"    gint                  : Read / Write
      "resize-up-threshold"      gint                  : Read / Write
      "sharpness"                gint                  : Read / Write
      "static-threshold"         gint                  : Read / Write
      "target-bitrate"           gint                  : Read / Write
      "threads"                  gint                  : Read / Write
      "token-partitions"         GstVP8EncTokenPartitions  : Read / Write
      "ts-layer-id"              GValueArray*          : Read / Write
      "ts-number-layers"         gint                  : Read / Write
      "ts-periodicity"           gint                  : Read / Write
      "ts-rate-decimator"        GValueArray*          : Read / Write
      "ts-target-bitrate"        GValueArray*          : Read / Write
      "tuning"                   GstVP8EncTuning       : Read / Write
      "twopass-vbr-bias-pct"     gint                  : Read / Write
      "twopass-vbr-maxsection-pct" gint                  : Read / Write
      "twopass-vbr-minsection-pct" gint                  : Read / Write
      "undershoot-pct"           gint                  : Read / Write
      "v-scaling-mode"           GstVP8EncScalingMode  : Read / Write
      "horizontal-scaling-mode"  GstVP8EncScalingMode  : Read / Write
      "keyframe-max-dist"        gint                  : Read / Write
      "keyframe-mode"            GstVP8EncKfMode       : Read / Write
      "max-intra-bitrate"        gint                  : Read / Write
      "overshoot"                gint                  : Read / Write
      "temporal-scalability-layer-id" GValueArray*          : Read / Write
      "temporal-scalability-number-layers" gint                  : Read / Write
      "temporal-scalability-periodicity" gint                  : Read / Write
      "temporal-scalability-rate-decimator" GValueArray*          : Read / Write
      "temporal-scalability-target-bitrate" GValueArray*          : Read / Write
      "twopass-vbr-bias"         gint                  : Read / Write
      "twopass-vbr-maxsection"   gint                  : Read / Write
      "twopass-vbr-minsection"   gint                  : Read / Write
      "undershoot"               gint                  : Read / Write
      "vertical-scaling-mode"    GstVP8EncScalingMode  : Read / Write
      "timebase"                 GstFraction           : Read / Write

## Description

## Synopsis

### Element Information

plugin | vpx
author | David Schleef <ds@entropywave.com>, Sebastian Dröge <sebastian.droege@collabora.co.uk>
class | Codec/Encoder/Video

### Element Pads

name | sink
direction | sink
presence | always
details | video/x-raw, format=(string)I420, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]

name | src
direction | source
presence | always
details | video/x-vp8, profile=(string){ 0, 1, 2, 3 }

## Details

### struct GstVP8Enc

    struct GstVP8Enc;

## Property Details

### The `"arnr-maxframes"` property

      "arnr-maxframes"           gint                  : Read / Write

AltRef maximum number of frames.

Allowed values: [0,15]

Default value: 0

### The `"arnr-strength"` property

      "arnr-strength"            gint                  : Read / Write

AltRef strength.

Allowed values: [0,6]

Default value: 3

### The `"arnr-type"` property

      "arnr-type"                gint                  : Read / Write

AltRef type.

Allowed values: [1,3]

Default value: 3

### The `"auto-alt-ref"` property

      "auto-alt-ref"             gboolean              : Read / Write

Automatically generate AltRef frames.

Default value: FALSE

### The `"buffer-initial-size"` property

      "buffer-initial-size"      gint                  : Read / Write

Initial client buffer size (ms).

Allowed values: >= 0

Default value: 4000

### The `"buffer-optimal-size"` property

      "buffer-optimal-size"      gint                  : Read / Write

Optimal client buffer size (ms).

Allowed values: >= 0

Default value: 5000

### The `"buffer-size"` property

      "buffer-size"              gint                  : Read / Write

Client buffer size (ms).

Allowed values: >= 0

Default value: 6000

### The `"cpu-used"` property

      "cpu-used"                 gint                  : Read / Write

CPU used.

Allowed values: [-16,16]

Default value: 0

### The `"cq-level"` property

      "cq-level"                 gint                  : Read / Write

Constrained quality level.

Allowed values: [0,63]

Default value: 10

### The `"deadline"` property

      "deadline"                 gint64                : Read / Write

Deadline per frame (usec, 0=disabled).

Allowed values: >= 0

Default value: 0

### The `"dropframe-threshold"` property

      "dropframe-threshold"      gint                  : Read / Write

Temporal resampling threshold (buf %).

Allowed values: [0,100]

Default value: 0

### The `"end-usage"` property

      "end-usage"                GstVP8EncEndUsage     : Read / Write

Rate control mode.

Default value: Variable Bit Rate (VBR) mode

### The `"error-resilient"` property

      "error-resilient"          GstVP8EncErFlags      : Read / Write

Error resilience flags.

### The `"h-scaling-mode"` property

      "h-scaling-mode"           GstVP8EncScalingMode  : Read / Write

Horizontal scaling mode.

Default value: Normal

### The `"kf-max-dist"` property

      "kf-max-dist"              gint                  : Read / Write

Maximum distance between keyframes (number of frames).

Allowed values: >= 0

Default value: 128

### The `"kf-mode"` property

      "kf-mode"                  GstVP8EncKfMode       : Read / Write

Keyframe placement.

Default value: Determine optimal placement automatically

### The `"lag-in-frames"` property

      "lag-in-frames"            gint                  : Read / Write

Maximum number of frames to lag.

Allowed values: [0,25]

Default value: 0

### The `"max-intra-bitrate-pct"` property

      "max-intra-bitrate-pct"    gint                  : Read / Write

Maximum Intra frame bitrate.

Allowed values: >= 0

Default value: 0

### The `"max-quantizer"` property

      "max-quantizer"            gint                  : Read / Write

Maximum Quantizer (worst).

Allowed values: [0,63]

Default value: 63

### The `"min-quantizer"` property

      "min-quantizer"            gint                  : Read / Write

Minimum Quantizer (best).

Allowed values: [0,63]

Default value: 4

### The `"multipass-cache-file"` property

      "multipass-cache-file"     gchar*                : Read / Write

Multipass cache file.

Default value: "multipass.cache"

### The `"multipass-mode"` property

      "multipass-mode"           GstVP8EncMultipassMode  : Read / Write

Multipass encode mode.

Default value: One pass encoding (default)

### The `"noise-sensitivity"` property

      "noise-sensitivity"        gint                  : Read / Write

Noise sensisivity (frames to blur).

Allowed values: [0,6]

Default value: 0

### The `"overshoot-pct"` property

      "overshoot-pct"            gint                  : Read / Write

Datarate overshoot (max) target (%).

Allowed values: [0,1000]

Default value: 100

### The `"resize-allowed"` property

      "resize-allowed"           gboolean              : Read / Write

Allow spatial resampling.

Default value: FALSE

### The `"resize-down-threshold"` property

      "resize-down-threshold"    gint                  : Read / Write

Downscale threshold (buf %).

Allowed values: [0,100]

Default value: 60

### The `"resize-up-threshold"` property

      "resize-up-threshold"      gint                  : Read / Write

Upscale threshold (buf %).

Allowed values: [0,100]

Default value: 30

### The `"sharpness"` property

      "sharpness"                gint                  : Read / Write

Filter sharpness.

Allowed values: [0,7]

Default value: 0

### The `"static-threshold"` property

      "static-threshold"         gint                  : Read / Write

Motion detection threshold.

Allowed values: >= 0

Default value: 0

### The `"target-bitrate"` property

      "target-bitrate"           gint                  : Read / Write

Target bitrate (in bits/sec).

Allowed values: >= 0

Default value: 256000

### The `"threads"` property

      "threads"                  gint                  : Read / Write

Number of threads to use.

Allowed values: [0,64]

Default value: 0

### The `"token-partitions"` property

      "token-partitions"         GstVP8EncTokenPartitions  : Read / Write

Number of token partitions.

Default value: One token partition

### The `"ts-layer-id"` property

      "ts-layer-id"              GValueArray*          : Read / Write

Sequence defining coding layer membership.

### The `"ts-number-layers"` property

      "ts-number-layers"         gint                  : Read / Write

Number of coding layers to use.

Allowed values: [1,5]

Default value: 1

### The `"ts-periodicity"` property

      "ts-periodicity"           gint                  : Read / Write

Length of sequence that defines layer membership periodicity.

Allowed values: [0,16]

Default value: 0

### The `"ts-rate-decimator"` property

      "ts-rate-decimator"        GValueArray*          : Read / Write

Rate decimation factors for each layer.

### The `"ts-target-bitrate"` property

      "ts-target-bitrate"        GValueArray*          : Read / Write

Target bitrates for coding layers (one per layer, decreasing).

### The `"tuning"` property

      "tuning"                   GstVP8EncTuning       : Read / Write

Tuning.

Default value: Tune for PSNR

### The `"twopass-vbr-bias-pct"` property

      "twopass-vbr-bias-pct"     gint                  : Read / Write

CBR/VBR bias (0=CBR, 100=VBR).

Allowed values: [0,100]

Default value: 50

### The `"twopass-vbr-maxsection-pct"` property

      "twopass-vbr-maxsection-pct" gint                  : Read / Write

GOP maximum bitrate (% target).

Allowed values: >= 0

Default value: 0

### The `"twopass-vbr-minsection-pct"` property

      "twopass-vbr-minsection-pct" gint                  : Read / Write

GOP minimum bitrate (% target).

Allowed values: >= 0

Default value: 0

### The `"undershoot-pct"` property

      "undershoot-pct"           gint                  : Read / Write

Datarate undershoot (min) target (%).

Allowed values: [0,1000]

Default value: 100

### The `"v-scaling-mode"` property

      "v-scaling-mode"           GstVP8EncScalingMode  : Read / Write

Vertical scaling mode.

Default value: Normal

### The `"horizontal-scaling-mode"` property

      "horizontal-scaling-mode"  GstVP8EncScalingMode  : Read / Write

Horizontal scaling mode.

Default value: Normal

### The `"keyframe-max-dist"` property

      "keyframe-max-dist"        gint                  : Read / Write

Maximum distance between keyframes (number of frames).

Allowed values: >= 0

Default value: 128

### The `"keyframe-mode"` property

      "keyframe-mode"            GstVP8EncKfMode       : Read / Write

Keyframe placement.

Default value: Determine optimal placement automatically

### The `"max-intra-bitrate"` property

      "max-intra-bitrate"        gint                  : Read / Write

Maximum Intra frame bitrate.

Allowed values: >= 0

Default value: 0

### The `"overshoot"` property

      "overshoot"                gint                  : Read / Write

Datarate overshoot (max) target (%).

Allowed values: [0,1000]

Default value: 100

### The `"temporal-scalability-layer-id"` property

      "temporal-scalability-layer-id" GValueArray*          : Read / Write

Sequence defining coding layer membership.

### The `"temporal-scalability-number-layers"` property

      "temporal-scalability-number-layers" gint                  : Read / Write

Number of coding layers to use.

Allowed values: [1,5]

Default value: 1

### The `"temporal-scalability-periodicity"` property

      "temporal-scalability-periodicity" gint                  : Read / Write

Length of sequence that defines layer membership periodicity.

Allowed values: [0,16]

Default value: 0

### The `"temporal-scalability-rate-decimator"` property

      "temporal-scalability-rate-decimator" GValueArray*          : Read / Write

Rate decimation factors for each layer.

### The `"temporal-scalability-target-bitrate"` property

      "temporal-scalability-target-bitrate" GValueArray*          : Read / Write

Target bitrates for coding layers (one per layer, decreasing).

### The `"twopass-vbr-bias"` property

      "twopass-vbr-bias"         gint                  : Read / Write

CBR/VBR bias (0=CBR, 100=VBR).

Allowed values: [0,100]

Default value: 50

### The `"twopass-vbr-maxsection"` property

      "twopass-vbr-maxsection"   gint                  : Read / Write

GOP maximum bitrate (% target).

Allowed values: >= 0

Default value: 0

### The `"twopass-vbr-minsection"` property

      "twopass-vbr-minsection"   gint                  : Read / Write

GOP minimum bitrate (% target).

Allowed values: >= 0

Default value: 0

### The `"undershoot"` property

      "undershoot"               gint                  : Read / Write

Datarate undershoot (min) target (%).

Allowed values: [0,1000]

Default value: 100

### The `"vertical-scaling-mode"` property

      "vertical-scaling-mode"    GstVP8EncScalingMode  : Read / Write

Vertical scaling mode.

Default value: Normal

### The `"timebase"` property

      "timebase"                 GstFraction           : Read / Write

Fraction of one second that is the shortest interframe time - normally left as zero which will default to the framerate.