mpeg2enc

mpeg2enc — High-quality MPEG-1/2 video encoder

Synopsis

                    GstMpeg2enc;

Implemented Interfaces

GstMpeg2enc implements GstPreset.

Properties

  "altscan-mpeg2"            gboolean              : Read / Write
  "aspect"                   GstMpeg2encAspect     : Read / Write
  "b-per-refframe"           gint                  : Read / Write
  "bitrate"                  gint                  : Read / Write
  "bufsize"                  gint                  : Read / Write
  "closed-gop"               gboolean              : Read / Write
  "constraints"              gboolean              : Read / Write
  "correct-svcd-hds"         gboolean              : Read / Write
  "dualprime"                gboolean              : Read / Write
  "dummy-svcd-sof"           gboolean              : Read / Write
  "force-b-b-p"              gboolean              : Read / Write
  "format"                   GstMpeg2encFormat     : Read / Write
  "framerate"                GstMpeg2encFramerate  : Read / Write
  "interlace-mode"           GstMpeg2encInterlaceMode  : Read / Write
  "intra-dc-prec"            gint                  : Read / Write
  "keep-hf"                  gboolean              : Read / Write
  "max-gop-size"             gint                  : Read / Write
  "min-gop-size"             gint                  : Read / Write
  "motion-search-radius"     gint                  : Read / Write
  "non-video-bitrate"        gint                  : Read / Write
  "norm"                     GstMpeg2encVideoNorm  : Read / Write
  "playback-field-order"     GstMpeg2encPlaybackFieldOrders  : Read / Write
  "pulldown-3-2"             gboolean              : Read / Write
  "quant-matrix"             GstMpeg2encQuantisationMatrix  : Read / Write
  "quant-reduction-max-var"  gfloat                : Read / Write
  "quantisation"             gint                  : Read / Write
  "quantisation-reduction"   gfloat                : Read / Write
  "reduce-hf"                gfloat                : Read / Write
  "reduction-2x2"            gint                  : Read / Write
  "reduction-4x4"            gint                  : Read / Write
  "sequence-header-every-gop" gboolean              : Read / Write
  "sequence-length"          gint                  : Read / Write
  "unit-coeff-elim"          gint                  : Read / Write
  "vcd-still-size"           gint                  : Read / Write

Description

Synopsis

Element Information

plugin

mpeg2enc

author

Andrew Stevens <andrew.stevens@nexgo.de> Ronald Bultje <rbultje@ronald.bitfreak.net>

class

Codec/Encoder/Video

Element Pads

name

sink

direction

sink

presence

always

details

video/x-raw, format=(string){ I420 }, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ], framerate=(fraction){ 24000/1001, 24/1, 25/1, 30000/1001, 30/1, 50/1, 60000/1001 }

name

src

direction

source

presence

always

details

video/mpeg, systemstream=(boolean)false, mpegversion=(int){ 1, 2 }, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ], framerate=(fraction){ 24000/1001, 24/1, 25/1, 30000/1001, 30/1, 50/1, 60000/1001 }

Details

GstMpeg2enc

typedef struct {
  GstElement parent;

  /* pads */
  GstPad *sinkpad, *srcpad;

  /* video info for in caps */
  GstVideoInfo vinfo;

  /* options wrapper */
  GstMpeg2EncOptions *options;

  /* general encoding object (contains rest) */
  GstMpeg2Encoder *encoder;

  /* lock for syncing with encoding task */
  GMutex tlock;
  /* with TLOCK */
  /* signals counterpart thread that something changed;
   * buffer ready for task or buffer has been processed */
  GCond cond;
  /* seen eos */
  gboolean eos;
  /* flowreturn obtained by encoding task */
  GstFlowReturn srcresult;
  /* buffer for encoding task */
  GstBuffer *buffer;
  /* timestamps for output */
  GQueue *time;
} GstMpeg2enc;

Property Details

The "altscan-mpeg2" property

  "altscan-mpeg2"            gboolean              : Read / Write

Alternate MPEG-2 block scanning. Disabling this might make buggy players play SVCD streams.

Default value: TRUE


The "aspect" property

  "aspect"                   GstMpeg2encAspect     : Read / Write

Display aspect ratio.

Default value: Deduce from input


The "b-per-refframe" property

  "b-per-refframe"           gint                  : Read / Write

Number of B frames between each I/P frame.

Allowed values: [0,2]

Default value: 0


The "bitrate" property

  "bitrate"                  gint                  : Read / Write

Compressed video bitrate (kbps).

Allowed values: [0,10000]

Default value: 1125


The "bufsize" property

  "bufsize"                  gint                  : Read / Write

Target decoders video buffer size (kB) (default depends on format).

Allowed values: [20,4000]

Default value: 46


The "closed-gop" property

  "closed-gop"               gboolean              : Read / Write

All Group-of-Pictures are closed (for multi-angle DVDs).

Default value: FALSE


The "constraints" property

  "constraints"              gboolean              : Read / Write

Use strict video resolution and bitrate checks.

Default value: TRUE


The "correct-svcd-hds" property

  "correct-svcd-hds"         gboolean              : Read / Write

Force SVCD width to 480 instead of 540/720.

Default value: FALSE


The "dualprime" property

  "dualprime"                gboolean              : Read / Write

Dual Prime Motion Estimation Mode for MPEG-2 I/P-frame only streams. Quite some players do not support this.

Default value: FALSE


The "dummy-svcd-sof" property

  "dummy-svcd-sof"           gboolean              : Read / Write

Generate dummy SVCD scan-data (for vcdimager).

Default value: TRUE


The "force-b-b-p" property

  "force-b-b-p"              gboolean              : Read / Write

Force two B frames between I/P frames when closing GOP boundaries.

Default value: FALSE


The "format" property

  "format"                   GstMpeg2encFormat     : Read / Write

Encoding profile format.

Default value: Generic MPEG-1


The "framerate" property

  "framerate"                GstMpeg2encFramerate  : Read / Write

Output framerate.

Default value: Same as input


The "interlace-mode" property

  "interlace-mode"           GstMpeg2encInterlaceMode  : Read / Write

MPEG-2 motion estimation and encoding modes.

Default value: Progressive


The "intra-dc-prec" property

  "intra-dc-prec"            gint                  : Read / Write

Number of bits precision for DC (base colour) in MPEG-2 blocks.

Allowed values: [8,11]

Default value: 9


The "keep-hf" property

  "keep-hf"                  gboolean              : Read / Write

Maximize high-frequency resolution (for high-quality sources).

Default value: FALSE


The "max-gop-size" property

  "max-gop-size"             gint                  : Read / Write

Maximal size per Group-of-Pictures (-1=default).

Allowed values: [G_MAXULONG,250]

Default value: -1


The "min-gop-size" property

  "min-gop-size"             gint                  : Read / Write

Minimal size per Group-of-Pictures (-1=default).

Allowed values: [G_MAXULONG,250]

Default value: -1


The "motion-search-radius" property

  "motion-search-radius"     gint                  : Read / Write

Motion compensation search radius.

Allowed values: [0,32]

Default value: 16


The "non-video-bitrate" property

  "non-video-bitrate"        gint                  : Read / Write

Assumed bitrate of non-video for sequence splitting (kbps).

Allowed values: [0,10000]

Default value: 0


The "norm" property

  "norm"                     GstMpeg2encVideoNorm  : Read / Write

Tag output for specific video norm.

Default value: Unspecified


The "playback-field-order" property

  "playback-field-order"     GstMpeg2encPlaybackFieldOrders  : Read / Write

Force specific playback field order.

Default value: Unspecified


The "pulldown-3-2" property

  "pulldown-3-2"             gboolean              : Read / Write

Generate header flags for 3-2 pull down 24fps movies.

Default value: FALSE


The "quant-matrix" property

  "quant-matrix"             GstMpeg2encQuantisationMatrix  : Read / Write

Quantisation matrix to use for encoding.

Default value: Default


The "quant-reduction-max-var" property

  "quant-reduction-max-var"  gfloat                : Read / Write

Maximal luma variance below which quantisation boost is used.

Allowed values: [0,2500]

Default value: 100


The "quantisation" property

  "quantisation"             gint                  : Read / Write

Quantisation factor (-1=cbr, 0=default, 1=best, 31=worst).

Allowed values: [G_MAXULONG,31]

Default value: 0


The "quantisation-reduction" property

  "quantisation-reduction"   gfloat                : Read / Write

Max. quantisation reduction for highly active blocks.

Allowed values: [-4,10]

Default value: 0


The "reduce-hf" property

  "reduce-hf"                gfloat                : Read / Write

How much to reduce high-frequency resolution (by increasing quantisation).

Allowed values: [0,2]

Default value: 0


The "reduction-2x2" property

  "reduction-2x2"            gint                  : Read / Write

Reduction factor for 2x2 subsampled candidate motion estimates (1=max. quality, 4=max. speed).

Allowed values: [1,4]

Default value: 3


The "reduction-4x4" property

  "reduction-4x4"            gint                  : Read / Write

Reduction factor for 4x4 subsampled candidate motion estimates (1=max. quality, 4=max. speed).

Allowed values: [1,4]

Default value: 2


The "sequence-header-every-gop" property

  "sequence-header-every-gop" gboolean              : Read / Write

Include a sequence header in every GOP.

Default value: FALSE


The "sequence-length" property

  "sequence-length"          gint                  : Read / Write

Place a sequence boundary after each <num> MB (0=disable).

Allowed values: [0,10240]

Default value: 0


The "unit-coeff-elim" property

  "unit-coeff-elim"          gint                  : Read / Write

How agressively small-unit picture blocks should be skipped.

Allowed values: [-40,40]

Default value: 0


The "vcd-still-size" property

  "vcd-still-size"           gint                  : Read / Write

Size of VCD stills (in KB).

Allowed values: [0,512]

Default value: 0