## vp9enc

vp9enc

## Properties

gint | arnr-maxframes | Read / Write
gint | arnr-strength | Read / Write
gint | arnr-type | Read / Write
gboolean | auto-alt-ref | Read / Write
gint | buffer-initial-size | Read / Write
gint | buffer-optimal-size | Read / Write
gint | buffer-size | Read / Write
gint | cpu-used | Read / Write
gint | cq-level | Read / Write
gint64 | deadline | Read / Write
gint | dropframe-threshold | Read / Write
GstVP9EncEndUsage | end-usage | Read / Write
GstVP9EncErFlags | error-resilient | Read / Write
GstVP9EncScalingMode | horizontal-scaling-mode | Read / Write
gint | keyframe-max-dist | Read / Write
GstVP9EncKfMode | keyframe-mode | Read / Write
gint | lag-in-frames | Read / Write
gint | max-intra-bitrate | Read / Write
gint | max-quantizer | Read / Write
gint | min-quantizer | Read / Write
gchar * | multipass-cache-file | Read / Write
GstVP9EncMultipassMode | multipass-mode | Read / Write
gint | noise-sensitivity | Read / Write
gint | overshoot | Read / Write
gboolean | resize-allowed | Read / Write
gint | resize-down-threshold | Read / Write
gint | resize-up-threshold | Read / Write
gint | sharpness | Read / Write
gint | static-threshold | Read / Write
gint | target-bitrate | Read / Write
GValueArray * | temporal-scalability-layer-id | Read / Write
gint | temporal-scalability-number-layers | Read / Write
gint | temporal-scalability-periodicity | Read / Write
GValueArray * | temporal-scalability-rate-decimator | Read / Write
GValueArray * | temporal-scalability-target-bitrate | Read / Write
gint | threads | Read / Write
GstFraction | timebase | Read / Write
GstVP9EncTokenPartitions | token-partitions | Read / Write
GstVP9EncTuning | tuning | Read / Write
gint | twopass-vbr-bias | Read / Write
gint | twopass-vbr-maxsection | Read / Write
gint | twopass-vbr-minsection | Read / Write
gint | undershoot | Read / Write
GstVP9EncScalingMode | vertical-scaling-mode | Read / Write

## Types and Values

struct | GstVP9Enc

## Object Hierarchy

        GObject
        ╰── GInitiallyUnowned
            ╰── GstObject
                ╰── GstElement
                    ╰── GstVideoEncoder
                        ╰── GstVPXEnc
                            ╰── GstVP9Enc

## Implemented Interfaces

GstVP9Enc implements GstPreset and GstTagSetter.

## Description

This element encodes raw video into a VP9 stream.

VP9 is a royalty-free

video codec maintained by Google . It's the successor of On2 VP3, which was the base of the Theora video codec.

To control the quality of the encoding, the “target-bitrate”, “min-quantizer”, “max-quantizer” or “cq-level” properties can be used. Which one is used depends on the mode selected by the “end-usage” property. See Encoder Parameters for explanation, examples for useful encoding parameters and more details on the encoding parameters.

### Example pipeline

    1

    gst-launch-1.0 -v videotestsrc num-buffers=1000 ! vp9enc ! webmmux ! filesink location=videotestsrc.webm

This example pipeline will encode a test video source to VP9 muxed in an WebM container.

## 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, YV12 }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]

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

## Functions

## Types and Values

### struct GstVP9Enc

    struct GstVP9Enc;

## Property Details

### The `“arnr-maxframes”` property

      “arnr-maxframes”           gint

AltRef maximum number of frames.

Owner: GstVP9Enc

Flags: Read / Write

Allowed values: [0,15]

Default value: 0

### The `“arnr-strength”` property

      “arnr-strength”            gint

AltRef strength.

Owner: GstVP9Enc

Flags: Read / Write

Allowed values: [0,6]

Default value: 3

### The `“arnr-type”` property

      “arnr-type”                gint

AltRef type.

Owner: GstVP9Enc

Flags: Read / Write

Allowed values: [1,3]

Default value: 3

### The `“auto-alt-ref”` property

      “auto-alt-ref”             gboolean

Automatically generate AltRef frames.

Owner: GstVP9Enc

Flags: Read / Write

Default value: FALSE

### The `“buffer-initial-size”` property

      “buffer-initial-size”      gint

Initial client buffer size (ms).

Owner: GstVP9Enc

Flags: Read / Write

Allowed values: >= 0

Default value: 4000

### The `“buffer-optimal-size”` property

      “buffer-optimal-size”      gint

Optimal client buffer size (ms).

Owner: GstVP9Enc

Flags: Read / Write

Allowed values: >= 0

Default value: 5000

### The `“buffer-size”` property

      “buffer-size”              gint

Client buffer size (ms).

Owner: GstVP9Enc

Flags: Read / Write

Allowed values: >= 0

Default value: 6000

### The `“cpu-used”` property

      “cpu-used”                 gint

CPU used.

Owner: GstVP9Enc

Flags: Read / Write

Allowed values: [-16,16]

Default value: 0

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

      “cq-level”                 gint

Constrained quality level.

Owner: GstVP9Enc

Flags: Read / Write

Allowed values: [0,63]

Default value: 10

### The `“deadline”` property

      “deadline”                 gint64

Deadline per frame (usec, 0=disabled).

Owner: GstVP9Enc

Flags: Read / Write

Allowed values: >= 0

Default value: 0

### The `“dropframe-threshold”` property

      “dropframe-threshold”      gint

Temporal resampling threshold (buf %).

Owner: GstVP9Enc

Flags: Read / Write

Allowed values: [0,100]

Default value: 0

### The `“end-usage”` property

      “end-usage”                GstVP9EncEndUsage

Rate control mode.

Owner: GstVP9Enc

Flags: Read / Write

Default value: Variable Bit Rate (VBR) mode

### The `“error-resilient”` property

      “error-resilient”          GstVP9EncErFlags

Error resilience flags.

Owner: GstVP9Enc

Flags: Read / Write

### The `“horizontal-scaling-mode”` property

      “horizontal-scaling-mode”  GstVP9EncScalingMode

Horizontal scaling mode.

Owner: GstVP9Enc

Flags: Read / Write

Default value: Normal

### The `“keyframe-max-dist”` property

      “keyframe-max-dist”        gint

Maximum distance between keyframes (number of frames).

Owner: GstVP9Enc

Flags: Read / Write

Allowed values: >= 0

Default value: 128

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

      “keyframe-mode”            GstVP9EncKfMode

Keyframe placement.

Owner: GstVP9Enc

Flags: Read / Write

Default value: Determine optimal placement automatically

### The `“lag-in-frames”` property

      “lag-in-frames”            gint

Maximum number of frames to lag.

Owner: GstVP9Enc

Flags: Read / Write

Allowed values: [0,25]

Default value: 0

### The `“max-intra-bitrate”` property

      “max-intra-bitrate”        gint

Maximum Intra frame bitrate.

Owner: GstVP9Enc

Flags: Read / Write

Allowed values: >= 0

Default value: 0

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

      “max-quantizer”            gint

Maximum Quantizer (worst).

Owner: GstVP9Enc

Flags: Read / Write

Allowed values: [0,63]

Default value: 63

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

      “min-quantizer”            gint

Minimum Quantizer (best).

Owner: GstVP9Enc

Flags: Read / Write

Allowed values: [0,63]

Default value: 4

### The `“multipass-cache-file”` property

      “multipass-cache-file”     gchar *

Multipass cache file. If stream caps reinited, multiple files will be created: file, file.1, file.2, ... and so on.

Owner: GstVP9Enc

Flags: Read / Write

Default value: "multipass.cache"

### The `“multipass-mode”` property

      “multipass-mode”           GstVP9EncMultipassMode

Multipass encode mode.

Owner: GstVP9Enc

Flags: Read / Write

Default value: One pass encoding (default)

### The `“noise-sensitivity”` property

      “noise-sensitivity”        gint

Noise sensisivity (frames to blur).

Owner: GstVP9Enc

Flags: Read / Write

Allowed values: [0,6]

Default value: 0

### The `“overshoot”` property

      “overshoot”                gint

Datarate overshoot (max) target (%).

Owner: GstVP9Enc

Flags: Read / Write

Allowed values: [0,1000]

Default value: 100

### The `“resize-allowed”` property

      “resize-allowed”           gboolean

Allow spatial resampling.

Owner: GstVP9Enc

Flags: Read / Write

Default value: FALSE

### The `“resize-down-threshold”` property

      “resize-down-threshold”    gint

Downscale threshold (buf %).

Owner: GstVP9Enc

Flags: Read / Write

Allowed values: [0,100]

Default value: 60

### The `“resize-up-threshold”` property

      “resize-up-threshold”      gint

Upscale threshold (buf %).

Owner: GstVP9Enc

Flags: Read / Write

Allowed values: [0,100]

Default value: 30

### The `“sharpness”` property

      “sharpness”                gint

Filter sharpness.

Owner: GstVP9Enc

Flags: Read / Write

Allowed values: [0,7]

Default value: 0

### The `“static-threshold”` property

      “static-threshold”         gint

Motion detection threshold.

Owner: GstVP9Enc

Flags: Read / Write

Allowed values: >= 0

Default value: 0

### The `“target-bitrate”` property

      “target-bitrate”           gint

Target bitrate (in bits/sec).

Owner: GstVP9Enc

Flags: Read / Write

Allowed values: >= 0

Default value: 256000

### The `“temporal-scalability-layer-id”` property

      “temporal-scalability-layer-id” GValueArray *

Sequence defining coding layer membership.

Owner: GstVP9Enc

Flags: Read / Write

### The `“temporal-scalability-number-layers”` property

      “temporal-scalability-number-layers” gint

Number of coding layers to use.

Owner: GstVP9Enc

Flags: Read / Write

Allowed values: [1,5]

Default value: 1

### The `“temporal-scalability-periodicity”` property

      “temporal-scalability-periodicity” gint

Length of sequence that defines layer membership periodicity.

Owner: GstVP9Enc

Flags: Read / Write

Allowed values: [0,16]

Default value: 0

### The `“temporal-scalability-rate-decimator”` property

      “temporal-scalability-rate-decimator” GValueArray *

Rate decimation factors for each layer.

Owner: GstVP9Enc

Flags: Read / Write

### The `“temporal-scalability-target-bitrate”` property

      “temporal-scalability-target-bitrate” GValueArray *

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

Owner: GstVP9Enc

Flags: Read / Write

### The `“threads”` property

      “threads”                  gint

Number of threads to use.

Owner: GstVP9Enc

Flags: Read / Write

Allowed values: [0,64]

Default value: 0

### The `“timebase”` property

      “timebase”                 GstFraction

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

Owner: GstVP9Enc

Flags: Read / Write

### The `“token-partitions”` property

      “token-partitions”         GstVP9EncTokenPartitions

Number of token partitions.

Owner: GstVP9Enc

Flags: Read / Write

Default value: One token partition

### The `“tuning”` property

      “tuning”                   GstVP9EncTuning

Tuning.

Owner: GstVP9Enc

Flags: Read / Write

Default value: Tune for PSNR

### The `“twopass-vbr-bias”` property

      “twopass-vbr-bias”         gint

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

Owner: GstVP9Enc

Flags: Read / Write

Allowed values: [0,100]

Default value: 50

### The `“twopass-vbr-maxsection”` property

      “twopass-vbr-maxsection”   gint

GOP maximum bitrate (% target).

Owner: GstVP9Enc

Flags: Read / Write

Allowed values: >= 0

Default value: 0

### The `“twopass-vbr-minsection”` property

      “twopass-vbr-minsection”   gint

GOP minimum bitrate (% target).

Owner: GstVP9Enc

Flags: Read / Write

Allowed values: >= 0

Default value: 0

### The `“undershoot”` property

      “undershoot”               gint

Datarate undershoot (min) target (%).

Owner: GstVP9Enc

Flags: Read / Write

Allowed values: [0,1000]

Default value: 100

### The `“vertical-scaling-mode”` property

      “vertical-scaling-mode”    GstVP9EncScalingMode

Vertical scaling mode.

Owner: GstVP9Enc

Flags: Read / Write

Default value: Normal

## See Also

vp9dec, webmmux, oggmux