# avenc_zmbv

libav zmbv encoder

## Hierarchy

    GObject
        ╰──GInitiallyUnowned
            ╰──GstObject
                ╰──GstElement
                    ╰──GstVideoEncoder
                        ╰──avenc_zmbv

## Implemented interfaces

    GstPreset

## Factory details

Authors: – Wim Taymans , Ronald Bultje

Classification: – `Codec/Encoder/Video`

Rank – secondary

Plugin – libav

Package – GStreamer FFMPEG Plug-ins

## Pad Templates

### `sink`

    video/x-raw:
             format: { RGB8P, RGB15, RGB16, BGRx }

Presence – always

Direction – sink

Object type – GstPad

### `src`

    video/x-zmbv:

Presence – always

Direction – src

Object type – GstPad

## Properties

### b-qfactor

    “b-qfactor” gfloat

QP factor between P- and B-frames (Generic codec option, might have no effect)

Flags : Read / Write

Default value : 1.25

### b-qoffset

    “b-qoffset” gfloat

QP offset between P- and B-frames (Generic codec option, might have no effect)

Flags : Read / Write

Default value : 1.25

### b-sensitivity

    “b-sensitivity” gint

adjust sensitivity of b_frame_strategy 1 (Generic codec option, might have no effect)

Flags : Read / Write

Default value : 40

### b-strategy

    “b-strategy” gint

strategy to choose between I/P/B-frames (Generic codec option, might have no effect)

Flags : Read / Write

Default value : 0

### bidir-refine

    “bidir-refine” gint

refine the two motion vectors used in bidirectional macroblocks (Generic codec option, might have no effect)

Flags : Read / Write

Default value : 1

### bitrate

    “bitrate” gint

set bitrate (in bits/s) (Generic codec option, might have no effect)

Flags : Read / Write

Default value : 200000

### bitrate-tolerance

    “bitrate-tolerance” gint

Set video bitrate tolerance (in bits/s). In 1-pass mode, bitrate tolerance specifies how far ratecontrol is willing to deviate from the target average bitrate value. This is not related to minimum/maximum bitrate. Lowering tolerance too much has an adverse effect on quality. (Generic codec option, might have no effect)

Flags : Read / Write

Default value : 4000000

### brd-scale

    “brd-scale” gint

downscale frames for dynamic B-frame decision (Generic codec option, might have no effect)

Flags : Read / Write

Default value : 0

### bufsize

    “bufsize” gint

set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)

Flags : Read / Write

Default value : 0

### chroma-sample-location

    “chroma-sample-location” avcodeccontext-chroma-sample-location-type *

chroma sample location (Generic codec option, might have no effect)

Flags : Read / Write

Default value : unknown (0)

### chromaoffset

    “chromaoffset” gint

chroma QP offset from luma (Generic codec option, might have no effect)

Flags : Read / Write

Default value : 0

### cmp

    “cmp” avcodeccontext-cmp-func *

full-pel ME compare function (Generic codec option, might have no effect)

Flags : Read / Write

Default value : sad (0)

### coder

    “coder” avcodeccontext-coder *

(null) (Generic codec option, might have no effect)

Flags : Read / Write

Default value : vlc (0)

### compression-level

    “compression-level” gint

(null) (Generic codec option, might have no effect)

Flags : Read / Write

Default value : -1

### context

    “context” gint

context model (Generic codec option, might have no effect)

Flags : Read / Write

Default value : 0

### dark-mask

    “dark-mask” gfloat

compresses dark areas stronger than medium ones (Generic codec option, might have no effect)

Flags : Read / Write

Default value : 0

### dc

    “dc” gint

intra_dc_precision (Generic codec option, might have no effect)

Flags : Read / Write

Default value : 0

### dct

    “dct” avcodeccontext-dct *

DCT algorithm (Generic codec option, might have no effect)

Flags : Read / Write

Default value : auto (0)

### debug

    “debug” avcodeccontext-debug *

print specific debug info (Generic codec option, might have no effect)

Flags : Read / Write

Default value : (none)

### dia-size

    “dia-size” gint

diamond type & size for motion estimation (Generic codec option, might have no effect)

Flags : Read / Write

Default value : 0

### dump-separator

    “dump-separator” gchararray

set information dump field separator (Generic codec option, might have no effect)

Flags : Read / Write

Default value : NULL

### err-detect

    “err-detect” avcodeccontext-err-detect *

set error detection flags (Generic codec option, might have no effect)

Flags : Read / Write

Default value : (none)

### export-side-data

    “export-side-data” avcodeccontext-export-side-data *

Export metadata as side data (Generic codec option, might have no effect)

Flags : Read / Write

Default value : (none)

### field-order

    “field-order” avcodeccontext-field-order *

Field order (Generic codec option, might have no effect)

Flags : Read / Write

Default value : unknown (0)

### flags

    “flags” avcodeccontext-flags *

(null) (Generic codec option, might have no effect)

Flags : Read / Write

Default value : (none)

### flags2

    “flags2” avcodeccontext-flags2 *

(null) (Generic codec option, might have no effect)

Flags : Read / Write

Default value : (none)

### global-quality

    “global-quality” gint

(null) (Generic codec option, might have no effect)

Flags : Read / Write

Default value : 0

### gop-size

    “gop-size” gint

set the group of picture (GOP) size (Generic codec option, might have no effect)

Flags : Read / Write

Default value : 12

### i-qfactor

    “i-qfactor” gfloat

QP factor between P- and I-frames (Generic codec option, might have no effect)

Flags : Read / Write

Default value : -0.8

### i-qoffset

    “i-qoffset” gfloat

QP offset between P- and I-frames (Generic codec option, might have no effect)

Flags : Read / Write

Default value : 0

### idct

    “idct” avcodeccontext-idct *

select IDCT implementation (Generic codec option, might have no effect)

Flags : Read / Write

Default value : auto (0)

### ildctcmp

    “ildctcmp” avcodeccontext-cmp-func *

interlaced DCT compare function (Generic codec option, might have no effect)

Flags : Read / Write

Default value : vsad (8)

### keyint-min

    “keyint-min” gint

minimum interval between IDR-frames (Generic codec option, might have no effect)

Flags : Read / Write

Default value : 25

### last-pred

    “last-pred” gint

amount of motion predictors from the previous frame (Generic codec option, might have no effect)

Flags : Read / Write

Default value : 0

### lumi-mask

    “lumi-mask” gfloat

compresses bright areas stronger than medium ones (Generic codec option, might have no effect)

Flags : Read / Write

Default value : 0

### max-bframes

    “max-bframes” gint

set maximum number of B-frames between non-B-frames (Generic codec option, might have no effect)

Flags : Read / Write

Default value : 0

### max-pixels

    “max-pixels” gint64

Maximum number of pixels (Generic codec option, might have no effect)

Flags : Read / Write

Default value : 2147483647

### maxrate

    “maxrate” gint64

maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)

Flags : Read / Write

Default value : 0

### mbcmp

    “mbcmp” avcodeccontext-cmp-func *

macroblock compare function (Generic codec option, might have no effect)

Flags : Read / Write

Default value : sad (0)

### mbd

    “mbd” avcodeccontext-mbd *

macroblock decision algorithm (high quality mode) (Generic codec option, might have no effect)

Flags : Read / Write

Default value : simple (0)

### mblmax

    “mblmax” gint

maximum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)

Flags : Read / Write

Default value : 3658

### mblmin

    “mblmin” gint

minimum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)

Flags : Read / Write

Default value : 236

### me-range

    “me-range” gint

limit motion vectors range (1023 for DivX player) (Generic codec option, might have no effect)

Flags : Read / Write

Default value : 0

### mepc

    “mepc” gint

motion estimation bitrate penalty compensation (1.0 = 256) (Generic codec option, might have no effect)

Flags : Read / Write

Default value : 256

### minrate

    “minrate” gint64

minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)

Flags : Read / Write

Default value : 0

### mpeg-quant

    “mpeg-quant” gint

use MPEG quantizers instead of H.263 (Generic codec option, might have no effect)

Flags : Read / Write

Default value : 0

### multipass-cache-file

    “multipass-cache-file” gchararray

Filename for multipass cache file

Flags : Read / Write / Construct

Default value : stats.log

### mv0-threshold

    “mv0-threshold” gint

(null) (Generic codec option, might have no effect)

Flags : Read / Write

Default value : 256

### nr

    “nr” gint

noise reduction (Generic codec option, might have no effect)

Flags : Read / Write

Default value : 0

### nssew

    “nssew” gint

nsse weight (Generic codec option, might have no effect)

Flags : Read / Write

Default value : 8

### p-mask

    “p-mask” gfloat

inter masking (Generic codec option, might have no effect)

Flags : Read / Write

Default value : 0

### pass

    “pass” GstLibAVEncPass *

Encoding pass/type

Flags : Read / Write / Construct

Default value : cbr (0)

### pre-dia-size

    “pre-dia-size” gint

diamond type & size for motion estimation pre-pass (Generic codec option, might have no effect)

Flags : Read / Write

Default value : 0

### precmp

    “precmp” avcodeccontext-cmp-func *

pre motion estimation compare function (Generic codec option, might have no effect)

Flags : Read / Write

Default value : sad (0)

### pred

    “pred” avcodeccontext-pred *

prediction method (Generic codec option, might have no effect)

Flags : Read / Write

Default value : left (0)

### preme

    “preme” gint

pre motion estimation (Generic codec option, might have no effect)

Flags : Read / Write

Default value : 0

### ps

    “ps” gint

RTP payload size in bytes (Generic codec option, might have no effect)

Flags : Read / Write

Default value : 0

### qblur

    “qblur” gfloat

video quantizer scale blur (VBR) (Generic codec option, might have no effect)

Flags : Read / Write

Default value : 0.5

### qcomp

    “qcomp” gfloat

video quantizer scale compression (VBR). Constant of ratecontrol equation. Recommended range for default rc_eq: 0.0-1.0 (Generic codec option, might have no effect)

Flags : Read / Write

Default value : 0.5

### qdiff

    “qdiff” gint

maximum difference between the quantizer scales (VBR) (Generic codec option, might have no effect)

Flags : Read / Write

Default value : 3

### qmax

    “qmax” gint

maximum video quantizer scale (VBR) (Generic codec option, might have no effect)

Flags : Read / Write

Default value : 31

### qmin

    “qmin” gint

minimum video quantizer scale (VBR) (Generic codec option, might have no effect)

Flags : Read / Write

Default value : 2

### quantizer

    “quantizer” gfloat

Constant Quantizer

Flags : Read / Write / Construct

Default value : 0.01

### rc-init-occupancy

    “rc-init-occupancy” gint

number of bits which should be loaded into the rc buffer before decoding starts (Generic codec option, might have no effect)

Flags : Read / Write

Default value : 0

### rc-max-vbv-use

    “rc-max-vbv-use” gfloat

(null) (Generic codec option, might have no effect)

Flags : Read / Write

Default value : 0

### rc-min-vbv-use

    “rc-min-vbv-use” gfloat

(null) (Generic codec option, might have no effect)

Flags : Read / Write

Default value : 3

### refs

    “refs” gint

reference frames to consider for motion compensation (Generic codec option, might have no effect)

Flags : Read / Write

Default value : 1

### sc-threshold

    “sc-threshold” gint

scene change threshold (Generic codec option, might have no effect)

Flags : Read / Write

Default value : 0

### scplx-mask

    “scplx-mask” gfloat

spatial complexity masking (Generic codec option, might have no effect)

Flags : Read / Write

Default value : 0

### side-data-only-packets

    “side-data-only-packets” gboolean

(null) (Generic codec option, might have no effect)

Flags : Read / Write

Default value : true

### skip-exp

    “skip-exp” gint

frame skip exponent (Generic codec option, might have no effect)

Flags : Read / Write

Default value : 0

### skip-factor

    “skip-factor” gint

frame skip factor (Generic codec option, might have no effect)

Flags : Read / Write

Default value : 0

### skip-threshold

    “skip-threshold” gint

frame skip threshold (Generic codec option, might have no effect)

Flags : Read / Write

Default value : 0

### skipcmp

    “skipcmp” avcodeccontext-cmp-func *

frame skip compare function (Generic codec option, might have no effect)

Flags : Read / Write

Default value : dctmax (13)

### slices

    “slices” gint

set the number of slices, used in parallelized encoding (Generic codec option, might have no effect)

Flags : Read / Write

Default value : 0

### strict

    “strict” avcodeccontext-strict *

how strictly to follow the standards (Generic codec option, might have no effect)

Flags : Read / Write

Default value : normal (0)

### subcmp

    “subcmp” avcodeccontext-cmp-func *

sub-pel ME compare function (Generic codec option, might have no effect)

Flags : Read / Write

Default value : sad (0)

### subq

    “subq” gint

sub-pel motion estimation quality (Generic codec option, might have no effect)

Flags : Read / Write

Default value : 8

### tcplx-mask

    “tcplx-mask” gfloat

temporal complexity masking (Generic codec option, might have no effect)

Flags : Read / Write

Default value : 0

### thread-type

    “thread-type” avcodeccontext-thread-type *

select multithreading type (Generic codec option, might have no effect)

Flags : Read / Write

Default value : slice+frame

### threads

    “threads” avcodeccontext-threads *

set the number of threads (Generic codec option, might have no effect)

Flags : Read / Write

Default value : unknown (1)

### ticks-per-frame

    “ticks-per-frame” gint

(null) (Generic codec option, might have no effect)

Flags : Read / Write

Default value : 1

### timecode-frame-start

    “timecode-frame-start” gint64

GOP timecode frame start number, in non-drop-frame format (Generic codec option, might have no effect)

Flags : Read / Write

Default value : 18446744073709551615

### trellis

    “trellis” gint

rate-distortion optimal quantization (Generic codec option, might have no effect)

Flags : Read / Write

Default value : 0

## Named constants

### GstLibAVEncPass

#### Members

`cbr` (0) – Constant Bitrate Encoding
`quant` (2) – Constant Quantizer
`pass1` (512) – VBR Encoding - Pass 1
`pass2` (1024) – VBR Encoding - Pass 2

### avcodeccontext-chroma-sample-location-type

#### Members

`unknown` (0) – Unspecified
`left` (1) – Left
`center` (2) – Center
`topleft` (3) – Top-left
`top` (4) – Top
`bottomleft` (5) – Bottom-left
`bottom` (6) – Bottom

### avcodeccontext-cmp-func

#### Members

`sad` (0) – sum of absolute differences, fast
`sse` (1) – sum of squared errors
`satd` (2) – sum of absolute Hadamard transformed differences
`dct` (3) – sum of absolute DCT transformed differences
`psnr` (4) – sum of squared quantization errors (avoid, low quality)
`bit` (5) – number of bits needed for the block
`rd` (6) – rate distortion optimal, slow
`zero` (7) – 0
`vsad` (8) – sum of absolute vertical differences
`vsse` (9) – sum of squared vertical differences
`nsse` (10) – noise preserving sum of squared differences
`w53` (11) – 5/3 wavelet, only used in snow
`w97` (12) – 9/7 wavelet, only used in snow
`dctmax` (13) – dctmax
`msad` (15) – sum of absolute differences, median predicted
`chroma` (256) – chroma

### avcodeccontext-coder

#### Members

`vlc` (0) – variable length coder / Huffman coder
`ac` (1) – arithmetic coder
`raw` (2) – raw (no encoding)
`rle` (3) – run-length coder

### avcodeccontext-dct

#### Members

`auto` (0) – autoselect a good one
`fastint` (1) – fast integer
`int` (2) – accurate integer
`mmx` (3) – mmx
`altivec` (5) – altivec
`faan` (6) – floating point AAN DCT

### avcodeccontext-debug

#### Members

`pict` (0x00000001) – picture info
`rc` (0x00000002) – rate control
`bitstream` (0x00000004) – bitstream
`mb_type` (0x00000008) – macroblock (MB) type
`qp` (0x00000010) – per-block quantization parameter (QP)
`dct_coeff` (0x00000040) – dct_coeff
`skip` (0x00000080) – skip
`startcode` (0x00000100) – startcode
`er` (0x00000400) – error recognition
`mmco` (0x00000800) – memory management control operations (H.264)
`bugs` (0x00001000) – bugs
`buffers` (0x00008000) – picture buffer allocations
`thread_ops` (0x00010000) – threading operations
`green_metadata` (0x00800000) – green_metadata
`nomc` (0x01000000) – skip motion compensation

### avcodeccontext-err-detect

#### Members

`crccheck` (0x00000001) – verify embedded CRCs
`bitstream` (0x00000002) – detect bitstream specification deviations
`buffer` (0x00000004) – detect improper bitstream length
`explode` (0x00000008) – abort decoding on minor error detection
`ignore_err` (0x00008000) – ignore errors
`careful` (0x00010000) – consider things that violate the spec, are fast to check and have not been seen in the wild as errors
`compliant` (0x00030000) – consider all spec non compliancies as errors
`aggressive` (0x00070000) – consider things that a sane encoder should not do as an error

### avcodeccontext-export-side-data

#### Members

`mvs` (0x00000001) – export motion vectors through frame side data
`prft` (0x00000002) – export Producer Reference Time through packet side data
`venc_params` (0x00000004) – export video encoding parameters through frame side data
`film_grain` (0x00000008) – export film grain parameters through frame side data

### avcodeccontext-field-order

#### Members

`unknown` (0) – Unspecified
`progressive` (1) – progressive
`tt` (2) – tt
`bb` (3) – bb
`tb` (4) – tb
`bt` (5) – bt

### avcodeccontext-flags

#### Members

`unaligned` (0x00000001) – allow decoders to produce unaligned output
`mv4` (0x00000004) – use four motion vectors per macroblock (MPEG-4)
`output_corrupt` (0x00000008) – Output even potentially corrupted frames
`qpel` (0x00000010) – use 1/4-pel motion compensation
`drop_changed` (0x00000020) – Drop frames whose parameters differ from first decoded frame
`loop` (0x00000800) – use loop filter
`gray` (0x00002000) – only decode/encode grayscale
`psnr` (0x00008000) – error[?] variables will be set during encoding
`truncated` (0x00010000) – Input bitstream might be randomly truncated
`ildct` (0x00040000) – use interlaced DCT
`low_delay` (0x00080000) – force low delay
`global_header` (0x00400000) – place global headers in extradata instead of every keyframe
`bitexact` (0x00800000) – use only bitexact functions (except (I)DCT)
`aic` (0x01000000) – H.263 advanced intra coding / MPEG-4 AC prediction
`ilme` (0x20000000) – interlaced motion estimation
`cgop` (0x80000000) – closed GOP

### avcodeccontext-flags2

#### Members

`fast` (0x00000001) – allow non-spec-compliant speedup tricks
`noout` (0x00000004) – skip bitstream encoding
`local_header` (0x00000008) – place global headers at every keyframe instead of in extradata
`chunks` (0x00008000) – Frame data might be split into multiple chunks
`ignorecrop` (0x00010000) – ignore cropping information from sps
`showall` (0x00400000) – Show all frames before the first keyframe
`export_mvs` (0x10000000) – export motion vectors through frame side data
`skip_manual` (0x20000000) – do not skip samples and export skip information as frame side data
`ass_ro_flush_noop` (0x40000000) – do not reset ASS ReadOrder field on flush

### avcodeccontext-idct

#### Members

`auto` (0) – auto
`int` (1) – int
`simple` (2) – simple
`simplemmx` (3) – simplemmx
`arm` (7) – arm
`altivec` (8) – altivec
`simplearm` (10) – simplearm
`xvid` (14) – xvid
`simplearmv5te` (16) – simplearmv5te
`simplearmv6` (17) – simplearmv6
`faani` (20) – floating point AAN IDCT
`simpleneon` (22) – simpleneon
`simpleauto` (128) – simpleauto

### avcodeccontext-mbd

#### Members

`simple` (0) – use mbcmp
`bits` (1) – use fewest bits
`rd` (2) – use best rate distortion

### avcodeccontext-pred

#### Members

`left` (0) – left
`plane` (1) – plane
`median` (2) – median

### avcodeccontext-strict

#### Members

`experimental` (-2) – allow non-standardized experimental things
`unofficial` (-1) – allow unofficial extensions
`normal` (0) – normal
`strict` (1) – strictly conform to all the things in the spec no matter what the consequences
`very` (2) – strictly conform to a older more strict version of the spec or reference software

### avcodeccontext-thread-type

#### Members

`frame` (0x00000001) – frame
`slice` (0x00000002) – slice

### avcodeccontext-threads

#### Members

`auto` (0) – autodetect a suitable number of threads to use
`unknown` (1) – Unspecified

The results of the search are