# vaapidecodebin

vaapidecodebin is similar vaapi{CODEC}dec, but it is composed by the unregistered vaapidecode, a queue, and the vaapipostproc, if it is available and functional in the setup.

It offers the functionality of GstVaapiDecoder and the many options of vaapipostproc.

## Example launch line

     gst-launch-1.0 filesrc location=~/big_buck_bunny.mov ! qtdemux ! h264parse ! vaapidecodebin ! vaapisink

## Hierarchy

    GObject
        ╰──GInitiallyUnowned
            ╰──GstObject
                ╰──GstElement
                    ╰──GstBin
                        ╰──vaapidecodebin

## Implemented interfaces

    GstChildProxy

## Factory details

Authors: – Sreerenj Balachandran , Victor Jaquez

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

Rank – primary + 2

Plugin – vaapi

Package – gstreamer-vaapi

## Pad Templates

### `sink`

    video/mpeg:
        mpegversion: 2
       systemstream: false
    video/mpeg:
        mpegversion: 4
    video/x-divx:
    video/x-xvid:
    video/x-h263:
    video/x-h264:
    video/x-h265:
    video/x-wmv:
    video/x-vp8:
    video/x-vp9:

Presence – always

Direction – sink

Object type – GstPad

### `src`

    video/x-raw(memory:VASurface):
             format: { ENCODED, NV12, YV12, I420, YUY2, UYVY, Y444, GRAY8, P010_10LE, VUYA, Y210, Y410, ARGB, xRGB, RGBA, RGBx, ABGR, xBGR, BGRA, BGRx, RGB16, RGB, BGR10A2_LE }
              width: [ 1, 2147483647 ]
             height: [ 1, 2147483647 ]
          framerate: [ 0/1, 2147483647/1 ]
     interlace-mode: progressive

    video/x-raw(meta:GstVideoGLTextureUploadMeta):
             format: { RGBA, BGRA }
              width: [ 1, 2147483647 ]
             height: [ 1, 2147483647 ]
          framerate: [ 0/1, 2147483647/1 ]
     interlace-mode: progressive
    video/x-raw:
             format: { AYUV64, ARGB64, GBRA_12LE, GBRA_12BE, Y412_LE, Y412_BE, A444_10LE, GBRA_10LE, A444_10BE, GBRA_10BE, A422_10LE, A422_10BE, A420_10LE, A420_10BE, RGB10A2_LE, BGR10A2_LE, Y410, GBRA, ABGR, VUYA, BGRA, AYUV, ARGB, RGBA, A420, Y444_16LE, Y444_16BE, v216, P016_LE, P016_BE, Y444_12LE, GBR_12LE, Y444_12BE, GBR_12BE, I422_12LE, I422_12BE, Y212_LE, Y212_BE, I420_12LE, I420_12BE, P012_LE, P012_BE, Y444_10LE, GBR_10LE, Y444_10BE, GBR_10BE, r210, I422_10LE, I422_10BE, NV16_10LE32, Y210, v210, UYVP, I420_10LE, I420_10BE, P010_10LE, NV12_10LE32, NV12_10LE40, P010_10BE, Y444, GBR, NV24, xBGR, BGRx, xRGB, RGBx, BGR, IYU2, v308, RGB, Y42B, NV61, NV16, VYUY, UYVY, YVYU, YUY2, I420, YV12, NV21, NV12, NV12_64Z32, Y41B, IYU1, YVU9, YUV9, RGB16, BGR16, RGB15, BGR15, RGB8P, GRAY16_LE, GRAY16_BE, GRAY10_LE32, GRAY8 }
              width: [ 1, 2147483647 ]
             height: [ 1, 2147483647 ]
          framerate: [ 0/1, 2147483647/1 ]
     interlace-mode: progressive

Presence – always

Direction – src

Object type – GstPad

## Properties

### deinterlace-method

    “deinterlace-method” GstVaapiDeinterlaceMethod *

Deinterlace method to use

Flags : Read / Write

Default value : none (0)

### disable-vpp

    “disable-vpp” gboolean

Disable Video Post Processing (No support for run time disabling)

Flags : Read / Write

Default value : false

### max-size-buffers

    “max-size-buffers” guint

Max. number of buffers in the queue (0=disable)

Flags : Read / Write

Default value : 1

### max-size-bytes

    “max-size-bytes” guint

Max. amount of data in the queue (bytes, 0=disable)

Flags : Read / Write

Default value : 0

### max-size-time

    “max-size-time” guint64

Max. amount of data in the queue (in ns, 0=disable)

Flags : Read / Write

Default value : 0

The results of the search are