## theoraenc theoraenc — encode raw YUV video to a theora stream |

## Synopsis

    struct              GstTheoraEnc;

## Object Hierarchy

      GObject
       +----GInitiallyUnowned
             +----GstObject
                   +----GstElement
                         +----GstVideoEncoder
                               +----GstTheoraEnc

## Implemented Interfaces

GstTheoraEnc implements GstPreset.

## Properties

      "bitrate"                  gint                  : Read / Write
      "border"                   GstTheoraEncBorderMode  : Read / Write
      "center"                   gboolean              : Read / Write
      "keyframe-auto"            gboolean              : Read / Write
      "keyframe-force"           gint                  : Read / Write
      "keyframe-freq"            gint                  : Read / Write
      "keyframe-mindistance"     gint                  : Read / Write
      "keyframe-threshold"       gint                  : Read / Write
      "noise-sensitivity"        gint                  : Read / Write
      "quality"                  gint                  : Read / Write
      "quick"                    gboolean              : Read / Write
      "sharpness"                gint                  : Read / Write
      "speed-level"              gint                  : Read / Write
      "cap-overflow"             gboolean              : Read / Write
      "cap-underflow"            gboolean              : Read / Write
      "drop-frames"              gboolean              : Read / Write
      "rate-buffer"              gint                  : Read / Write
      "vp3-compatible"           gboolean              : Read / Write
      "multipass-cache-file"     gchar*                : Read / Write
      "multipass-mode"           GstTheoraEncMultipassMode  : Read / Write
      "dup-on-gap"               gboolean              : Read / Write

## Description

## Synopsis

### Element Information

plugin | theora
author | Wim Taymans <wim@fluendo.com>
class | Codec/Encoder/Video

### Element Pads

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

name | src
direction | source
presence | always
details | video/x-theora, framerate=(fraction)[ 1/2147483647, 2147483647/1 ], width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ]

## Details

### struct GstTheoraEnc

    struct GstTheoraEnc;

## Property Details

### The `"bitrate"` property

      "bitrate"                  gint                  : Read / Write

Compressed video bitrate (kbps).

Allowed values: [0,16777215]

Default value: 0

### The `"border"` property

      "border"                   GstTheoraEncBorderMode  : Read / Write

ignored and kept for API compat only.

Default value: Black Border

### The `"center"` property

      "center"                   gboolean              : Read / Write

ignored and kept for API compat only.

Default value: TRUE

### The `"keyframe-auto"` property

      "keyframe-auto"            gboolean              : Read / Write

Automatic keyframe detection.

Default value: TRUE

### The `"keyframe-force"` property

      "keyframe-force"           gint                  : Read / Write

Force keyframe every N frames.

Allowed values: [1,32768]

Default value: 64

### The `"keyframe-freq"` property

      "keyframe-freq"            gint                  : Read / Write

Keyframe frequency.

Allowed values: [1,32768]

Default value: 64

### The `"keyframe-mindistance"` property

      "keyframe-mindistance"     gint                  : Read / Write

ignored and kept for API compat only.

Allowed values: [1,32768]

Default value: 8

### The `"keyframe-threshold"` property

      "keyframe-threshold"       gint                  : Read / Write

ignored and kept for API compat only.

Allowed values: [0,32768]

Default value: 80

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

      "noise-sensitivity"        gint                  : Read / Write

ignored and kept for API compat only.

Allowed values: [0,32768]

Default value: 1

### The `"quality"` property

      "quality"                  gint                  : Read / Write

Video quality.

Allowed values: [0,63]

Default value: 48

### The `"quick"` property

      "quick"                    gboolean              : Read / Write

ignored and kept for API compat only.

Default value: TRUE

### The `"sharpness"` property

      "sharpness"                gint                  : Read / Write

ignored and kept for API compat only.

Allowed values: [0,2]

Default value: 0

### The `"speed-level"` property

      "speed-level"              gint                  : Read / Write

Controls the amount of motion vector searching done while encoding.

Allowed values: [0,3]

Default value: 1

### The `"cap-overflow"` property

      "cap-overflow"             gboolean              : Read / Write

Enable capping of bit reservoir overflows.

Default value: TRUE

### The `"cap-underflow"` property

      "cap-underflow"            gboolean              : Read / Write

Enable capping of bit reservoir underflows.

Default value: FALSE

### The `"drop-frames"` property

      "drop-frames"              gboolean              : Read / Write

Allow or disallow frame dropping.

Default value: TRUE

### The `"rate-buffer"` property

      "rate-buffer"              gint                  : Read / Write

Sets the size of the rate control buffer, in units of frames. The default value of 0 instructs the encoder to automatically select an appropriate value.

Allowed values: [0,1000]

Default value: 0

### The `"vp3-compatible"` property

      "vp3-compatible"           gboolean              : Read / Write

Disables non-VP3 compatible features.

Default value: FALSE

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

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

Multipass cache file.

Default value: NULL

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

      "multipass-mode"           GstTheoraEncMultipassMode  : Read / Write

Single pass or first/second pass.

Default value: Single pass

### The `"dup-on-gap"` property

      "dup-on-gap"               gboolean              : Read / Write

Allow codec to handle frames with GAP flag as duplicates of previous frame. This is good to work with variable frame rate stabilized by videorate element. It will add variable latency with maximal size of keyframe distance, this way it is a bad idea to use with live streams.

Default value: FALSE