# v4l2h265dec

Source: [https://docs.qualcomm.com/doc/80-70020-50/topic/v4l2h265dec.html](https://docs.qualcomm.com/doc/80-70020-50/topic/v4l2h265dec.html)

The v4l2h265dec plugin uses the V4L2 APIs to decode the video stream.

- The plugin uses the H.265 video decoder to provide hardware accelerated H.265
                (MPEG-H Part 2) decoding on supported platforms.
- The plugin is based on the [GstVideoDecoder](https://gstreamer.freedesktop.org/documentation/video/gstvideodecoder.html) base class.

## Inheritance chain

[GObject](https://docs.gtk.org/gobject/) → [GstObject](https://gstreamer.freedesktop.org/documentation/gstreamer/gstobject.html?gi-language=c) → [GstElement](https://gstreamer.freedesktop.org/documentation/gstreamer/gstelement.html?gi-language=c) → [GstVideoDecoder](https://gstreamer.freedesktop.org/documentation/video/gstvideodecoder.html) → GstV4l2VideoDec →
                v4l2h265dec

The following tables provide information on pad templates and element properties of
                v4l2h265dec. For use cases, see [Video playback use cases](https://docs.qualcomm.com/doc/80-70020-50/topic/video-playback-use-cases.html).

## Pad configuration

| Pad Name | Capabilities | Capabilities | Capabilities |
| --- | --- | --- | --- |
| SINK template: 'sink'<br><ul class="ul" id="v4l2h265dec__ul_drn_hjt_5zb"><br>                                    <li class="li"><em class="ph i">Availability:</em> Always</li><br><br>                                    <li class="li"><em class="ph i">Direction:</em> sink</li><br><br>                                </ul> | video/x-h265 | alignment: | au |
| SINK template: 'sink'<br><ul class="ul" id="v4l2h265dec__ul_drn_hjt_5zb"><br>                                    <li class="li"><em class="ph i">Availability:</em> Always</li><br><br>                                    <li class="li"><em class="ph i">Direction:</em> sink</li><br><br>                                </ul> | video/x-h265 | stream-format: | byte-stream |
| SRC template: 'src'<br><ul class="ul" id="v4l2h265dec__ul_ern_hjt_5zb"><br>                                    <li class="li"><em class="ph i">Availability:</em> Always</li><br><br>                                    <li class="li"><em class="ph i">Direction:</em> source</li><br><br>                                </ul> | video/x-raw | format: | { (string)NV12, (string)NV21 } |
| SRC template: 'src'<br><ul class="ul" id="v4l2h265dec__ul_ern_hjt_5zb"><br>                                    <li class="li"><em class="ph i">Availability:</em> Always</li><br><br>                                    <li class="li"><em class="ph i">Direction:</em> source</li><br><br>                                </ul> | video/x-raw | width: | [ 1, 32768 ] |
| SRC template: 'src'<br><ul class="ul" id="v4l2h265dec__ul_ern_hjt_5zb"><br>                                    <li class="li"><em class="ph i">Availability:</em> Always</li><br><br>                                    <li class="li"><em class="ph i">Direction:</em> source</li><br><br>                                </ul> | video/x-raw | height: | [ 1, 32768 ] |
| SRC template: 'src'<br><ul class="ul" id="v4l2h265dec__ul_ern_hjt_5zb"><br>                                    <li class="li"><em class="ph i">Availability:</em> Always</li><br><br>                                    <li class="li"><em class="ph i">Direction:</em> source</li><br><br>                                </ul> | video/x-raw | framerate: | [ 0/1, 2147483647/1 ] |
|  |  |  |  |
|  |  |  |  |
|  |  |  |  |

## Element configuration

Note: For the current release, in the read-write properties, only
                    **capture-io-mode** and **output-io-mode** are supported, and they're
                supported only with **(5): dmabuf-import - GST\_V4L2\_IO\_DMABUF\_IMPORT**
                property.

Table : Element properties of v4l2h265dec

| Property | Description |
| --- | --- |
| automatic-request-sync-point-flags: | Flags to use when automatically requesting sync points.<br><ul class="ul" id="v4l2h265dec__ul_nmq_jjt_5zb"><br>                                    <li class="li">flags: readable, writable</li><br><br>                                    <li class="li"><br>                                        <p class="p">Flags "GstVideoDecoderRequestSyncPointFlags" Default:<br>                                            0x00000003, "corrupt-output+discard-input"</p><ul class="ul" id="v4l2h265dec__ul_ihv_kjt_5zb"><br>                                            <li class="li"> (0x00000001): discard-input -<br>                                                GST_VIDEO_DECODER_REQUEST_SYNC_POINT_DISCARD_INPUT</li><br><br>                                            <li class="li"> (0x00000002): corrupt-output -<br>                                                GST_VIDEO_DECODER_REQUEST_SYNC_POINT_CORRUPT_OUTPUT</li><br><br>                                        </ul><br><br>                                    </li><br><br>                                </ul> |
| automatic-request-sync-points | Automatically request sync points when required.<br><ul class="ul" id="v4l2h265dec__ul_omq_jjt_5zb"><br>                                    <li class="li">flags: readable, writable</li><br><br>                                    <li class="li">Boolean. Default: false</li><br><br>                                </ul> |
| capture-io-mode | Capture I/O mode (matches src pad).<br><ul class="ul" id="v4l2h265dec__ul_pmq_jjt_5zb"><br>                                    <li class="li">flags: readable, writable</li><br><br>                                    <li class="li">Enum "GstV4l2IOMode" Default: 0, "auto"<ul class="ul" id="v4l2h265dec__ul_tbk_ljt_5zb"><br>                                            <li class="li"> (0): auto - GST_V4L2_IO_AUTO</li><br><br>                                            <li class="li"> (1): rw - GST_V4L2_IO_RW</li><br><br>                                            <li class="li"> (2): mmap - GST_V4L2_IO_MMAP</li><br><br>                                            <li class="li"> (3): userptr - GST_V4L2_IO_USERPTR</li><br><br>                                            <li class="li"> (4): dmabuf - GST_V4L2_IO_DMABUF</li><br><br>                                            <li class="li"> (5): dmabuf-import - GST_V4L2_IO_DMABUF_IMPORT</li><br><br>                                        </ul><br></li><br><br>                                </ul> |
| device | Device location.<br><ul class="ul" id="v4l2h265dec__ul_qmq_jjt_5zb"><br>                                    <li class="li">flags: readable</li><br><br>                                    <li class="li">String. Default: "/dev/video0"</li><br><br>                                </ul> |
| device-fd | File descriptor of the device.<br><ul class="ul" id="v4l2h265dec__ul_rmq_jjt_5zb"><br>                                    <li class="li">flags: readable</li><br><br>                                    <li class="li">Integer. Range: ˗1 to 2147483647, default: ˗1</li><br><br>                                </ul> |
| device-name | Name of the device.<br><ul class="ul" id="v4l2h265dec__ul_smq_jjt_5zb"><br>                                    <li class="li">flags: readable</li><br><br>                                    <li class="li">String. Default: null</li><br><br>                                </ul> |
| discard-corrupted-frames | Discard frames marked as corrupted instead of processed them as<br>                                    the output.<br><ul class="ul" id="v4l2h265dec__ul_tmq_jjt_5zb"><br>                                    <li class="li">flags: readable, writable</li><br><br>                                    <li class="li">Boolean. Default: false</li><br><br>                                </ul> |
| extra-controls | Extra v4l2 controls (CIDs) for the device.<br><ul class="ul" id="v4l2h265dec__ul_umq_jjt_5zb"><br>                                    <li class="li">flags: readable, writable</li><br><br>                                    <li class="li">Boxed pointer of type "GstStructure"</li><br><br>                                </ul> |
| max-errors | Maximum consecutive decoder errors before returning a flow<br>                                    error.<br><ul class="ul" id="v4l2h265dec__ul_vmq_jjt_5zb"><br>                                    <li class="li">flags: readable, writable</li><br><br>                                    <li class="li">Integer. Range: ˗1 to 2147483647, default: 10</li><br><br>                                </ul> |
| min-force-key-unit-interval | Minimum interval between force-key-unit requests in<br>                                    nanoseconds.<br><ul class="ul" id="v4l2h265dec__ul_wmq_jjt_5zb"><br>                                    <li class="li">flags: readable, writable</li><br><br>                                    <li class="li">Unsigned Integer64. Range: 0 to 18446744073709551615,<br>                                        default: 0</li><br><br>                                </ul> |
| name | The name of the object.<br><ul class="ul" id="v4l2h265dec__ul_xmq_jjt_5zb"><br>                                    <li class="li">flags: readable, writable, 0x2000</li><br><br>                                    <li class="li">String. Default: "v4l2h265dec0"</li><br><br>                                </ul> |
| output-io-mode | Output side I/O mode (matches sink pad).<br><ul class="ul" id="v4l2h265dec__ul_ymq_jjt_5zb"><br>                                    <li class="li">flags: readable, writable</li><br><br>                                    <li class="li"><br>                                        <p class="p">Enum "GstV4l2IOMode" Default: 0, "auto"</p><ul class="ul" id="v4l2h265dec__ul_rgf_mjt_5zb"><br>                                            <li class="li"> (0): auto - GST_V4L2_IO_AUTO</li><br><br>                                            <li class="li"> (1): rw - GST_V4L2_IO_RW</li><br><br>                                            <li class="li"> (2): mmap - GST_V4L2_IO_MMAP</li><br><br>                                            <li class="li"> (3): userptr - GST_V4L2_IO_USERPTR</li><br><br>                                            <li class="li"> (4): dmabuf - GST_V4L2_IO_DMABUF</li><br><br>                                            <li class="li"> (5): dmabuf-import - GST_V4L2_IO_DMABUF_IMPORT</li><br><br>                                        </ul><br><br>                                    </li><br><br>                                </ul> |
| parent | The parent of the object.<br><ul class="ul" id="v4l2h265dec__ul_zmq_jjt_5zb"><br>                                    <li class="li">flags: readable, writable, 0x2000</li><br><br>                                    <li class="li">Object of type "GstObject"</li><br><br>                                </ul> |
| qos | Handle Quality-of-Service events from downstream.<br><ul class="ul" id="v4l2h265dec__ul_anq_jjt_5zb"><br>                                    <li class="li">flags: readable, writable</li><br><br>                                    <li class="li">Boolean. Default: true</li><br><br>                                </ul> |

**Parent Topic:** [Configure display, camera, encode and decode plugins](https://docs.qualcomm.com/doc/80-70020-50/topic/display-plugins.html)

Last Published: Jan 30, 2026

[Previous Topic
v4l2h264dec](https://docs.qualcomm.com/bundle/publicresource/80-70020-50/topics/v4l2h264dec.md) [Next Topic
v4l2h264enc](https://docs.qualcomm.com/bundle/publicresource/80-70020-50/topics/v4l2h264enc.md)