# msdkh264enc

H264 video encoder based on Intel MFX

## Example launch line

    gst-launch-1.0 videotestsrc num-buffers=90 ! msdkh264enc ! h264parse ! filesink location=output.h264

## Hierarchy

    GObject
        ╰──GInitiallyUnowned
            ╰──GstObject
                ╰──GstElement
                    ╰──GstVideoEncoder
                        ╰──GstMsdkEnc
                            ╰──msdkh264enc

## Factory details

Authors: – Josep Torra <jtorra@oblong.com></jtorra@oblong.com>

Classification: – `Codec/Encoder/Video/Hardware`

Rank – none

Plugin – msdk

Package – GStreamer Bad Plug-ins

## Pad Templates

### `sink`

    video/x-raw
            format: { NV12, YUY2, UYVY, BGRA }
             width: [ 1, 2147483647 ]
            height: [ 1, 2147483647 ]
         framerate: [ 0/1, 2147483647/1 ]
    interlace-mode: progressive
    video/x-raw(memory:DMABuf)
            format: NV12
             width: [ 1, 2147483647 ]
            height: [ 1, 2147483647 ]
         framerate: [ 0/1, 2147483647/1 ]
    interlace-mode: progressive

Presence – always

Direction – sink

Object type – GstPad

### `src`

    video/x-h264
         framerate: [ 0/1, 2147483647/1 ]
             width: [ 1, 2147483647 ]
            height: [ 1, 2147483647 ]
     stream-format: byte-stream
         alignment: au
           profile: { (string)high, (string)main, (string)baseline, (string)constrained-baseline }

Presence – always

Direction – src

Object type – GstPad

## Properties

### b-pyramid

    “b-pyramid” gboolean

Enable B-Pyramid Reference structure

Flags : Read / Write

Default value : false

### cabac

    “cabac” gboolean

Enable CABAC entropy coding

Flags : Read / Write

Default value : true

### dblk-idc

    “dblk-idc” guint

Option of disable deblocking idc

Flags : Read / Write

Default value : 0

### frame-packing

    “frame-packing” Msdk-h264enc-frame-packing *

Set frame packing mode for Stereoscopic content

Flags : Read / Write

Default value : none (-1)

### intra-refresh-type

    “intra-refresh-type” GstMsdkEncIntraRefreshType *

Set intra refresh type

Flags : Read / Write

Default value : no (0)

### low-power

    “low-power” gboolean

Enable low power mode (DEPRECATED, use tune instead)

Flags : Read / Write

Default value : false

### max-qp

    “max-qp” guint

Maximum quantizer scale for I/P/B frames

Flags : Read / Write

Default value : 0

### max-qp-b

    “max-qp-b” guint

Flags : Read / Write

Default value : 0

Since : 1.24

### max-qp-i

    “max-qp-i” guint

Flags : Read / Write

Default value : 0

Since : 1.24

### max-qp-p

    “max-qp-p” guint

Flags : Read / Write

Default value : 0

Since : 1.24

### max-slice-size

    “max-slice-size” guint

Maximum slice size in bytes (if enabled MSDK will ignore the control over num-slices)

Flags : Read / Write

Default value : 0

### min-qp

    “min-qp” guint

Minimal quantizer scale for I/P/B frames

Flags : Read / Write

Default value : 0

### min-qp-b

    “min-qp-b” guint

Flags : Read / Write

Default value : 0

Since : 1.24

### min-qp-i

    “min-qp-i” guint

Flags : Read / Write

Default value : 0

Since : 1.24

### min-qp-p

    “min-qp-p” guint

Flags : Read / Write

Default value : 0

Since : 1.24

### p-pyramid

    “p-pyramid” gboolean

Enable P-Pyramid Reference structure

Flags : Read / Write

Default value : false

### pic-timing-sei

    “pic-timing-sei” gboolean

Flags : Read / Write

Default value : true

Since : 1.24

### rc-lookahead-ds

    “rc-lookahead-ds” Msdk-enc-rclook-ahead-downsampling *

Down sampling mode in look ahead bitrate control

Flags : Read / Write

Default value : default (0)

### trellis

    “trellis” Msdk-enc-trellis-quantization *

Enable Trellis Quantization

Flags : Read / Write

Default value : None (0x00000000)

### tune

    “tune” GstMsdkEncTuneMode *

Encoder tuning option

Flags : Read / Write

Default value : auto (0)

## Named constants

### Msdk-enc-rclook-ahead-downsampling

#### Members

`default` (0) – SDK desides what to do
`off` (1) – No downsampling
`2x` (2) – Down sample 2-times before estimation
`4x` (3) – Down sample 4-times before estimation

### Msdk-enc-trellis-quantization

#### Members

`None` (0x00000000) – Disable for all frames
`i` (0x00000002) – Enable for I frames
`p` (0x00000004) – Enable for P frames
`b` (0x00000008) – Enable for B frames

### Msdk-h264enc-frame-packing

#### Members

`none` (-1) – None (default)
`side-by-side` (3) – Side by Side
`top-bottom` (7) – Top Bottom

The results of the search are