# svtjpegxsenc

The svtjpegxsenc element does JPEG XS encoding using the Scalable Video Technology for JPEG_XS Encoder (SVT JPEG XS Encoder) library.

See https://jpeg.org/jpegxs/ for more information about the JPEG XS format.

Example launch line |[ gst-launch-1.0 -e videotestsrc ! svtjpegxsenc ! mpegtsmux ! filesink location=out.ts ]| Encodes test video input into a JPEG XS compressed image stream which is then packaged into an MPEG-TS container.

## Hierarchy

    GObject
        ╰──GInitiallyUnowned
            ╰──GstObject
                ╰──GstElement
                    ╰──GstVideoEncoder
                        ╰──svtjpegxsenc

## Implemented interfaces

    GstPreset

## Factory details

Authors: – Tim-Philipp Müller

Classification: – `Codec/Encoder/Video`

Rank – secondary

Plugin – svtjpegxs

Package – GStreamer Bad Plug-ins

## Pad Templates

### `sink`

    video/x-raw:
             format: { Y444, Y42B, I420, Y444_10LE, I422_10LE, I420_10LE, Y444_12LE, I422_12LE, I420_12LE }
     interlace-mode: progressive
              width: [ 16, 16384 ]
             height: [ 16, 16384 ]
          framerate: [ 0/1, 2147483647/1 ]
    video/x-raw:
             format: { Y444, Y42B, I420, Y444_10LE, I422_10LE, I420_10LE, Y444_12LE, I422_12LE, I420_12LE }
     interlace-mode: interleaved
        field-order: { (string)top-field-first, (string)bottom-field-first }
              width: [ 16, 16384 ]
             height: [ 16, 16384 ]
          framerate: [ 0/1, 2147483647/1 ]

Presence – always

Direction – sink

Object type – GstPad

### `src`

    image/x-jxsc:
          alignment: frame
              width: [ 16, 16384 ]
             height: [ 16, 16384 ]
     interlace-mode: { (string)progressive, (string)fields }
           sampling: { (string)YCbCr-4:4:4, (string)YCbCr-4:2:2, (string)YCbCr-4:2:0 }
          framerate: [ 0/1, 2147483647/1 ]

Presence – always

Direction – src

Object type – GstPad

## Properties

### bits-per-pixel

    “bits-per-pixel” gdouble

Bits per pixel (can be a fractional number, e.g. 3.75)

Flags : Read / Write

Default value : 3

### coding-signs

    “coding-signs” Svt-jpeg-xs-enc-coding-signs-type *

Coding signs handling strategy

Flags : Read / Write

Default value : disable (0)

### decomp-h

    “decomp-h” gint

Horizontal decomposition (has to be great or equal to decomp-v)

Flags : Read / Write

Default value : 5

### decomp-v

    “decomp-v” gint

Vertical decomposition

Flags : Read / Write

Default value : 2

### quant-mode

    “quant-mode” Svt-jpeg-xs-enc-quant-mode-type *

Quantization Mode

Flags : Read / Write

Default value : deadzone (0)

### rate-control-mode

    “rate-control-mode” Svt-jpeg-xs-enc-rate-control-mode-type *

Rate Control Mode

Flags : Read / Write

Default value : cbr-precinct (0)

### slice-height

    “slice-height” gint

The height of each slice in pixel lines (per thread processing unit)

Flags : Read / Write

Default value : 16

### threads

    “threads” gint

Number of threads to use (0 = automatic)

Flags : Read / Write

Default value : 0

## Named constants

### Svt-jpeg-xs-enc-coding-signs-type

#### Members

`disable` (0) – Disable
`fast` (1) – Fast
`full` (2) – Full

### Svt-jpeg-xs-enc-quant-mode-type

#### Members

`deadzone` (0) – Deadzone
`uniform` (1) – Uniform

### Svt-jpeg-xs-enc-rate-control-mode-type

#### Members

`cbr-precinct` (0) – CBR budget per precinct
`cbr-precinct-move-padding` (1) – CBR budget per precinct move padding
`cbr-slice` (2) – CBR budget per slice

The results of the search are