# v4l2h265enc
The v4l2h265enc plugin uses V4L2 APIs for encoding of video stream.
- The plugin uses the H.265 video encoder to provide hardware accelerated H.265 (MPEG-H Part 2) encoding on supported platforms
- The plugin is based on [GstVideoEncoder](https://gstreamer.freedesktop.org/documentation/video/gstvideoencoder.html?gi-language=c) 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) → [GstVideoEncoder](https://gstreamer.freedesktop.org/documentation/video/gstvideoencoder.html?gi-language=c) → GstV4l2VideoEnc → v4l2h265enc
The following tables provide information on pad templates and element properties of v4l2h265enc. For use cases, see [Video encode and decode](https://docs.qualcomm.com/doc/80-80021-50/topic/camera-and-video-encode.html) and [Slice-based encoding](https://docs.qualcomm.com/doc/80-80021-50/topic/camera-and-video-encode.html#slice-based-encoding).
## Pad configuration
| Pad Name | Capabilities | Capabilities | Capabilities |
| --- | --- | --- | --- |
|
SINK template: 'sink'
>
>
>
Availability: Always
Direction: sink
Availability: Always
Direction: sink
Availability: Always
Direction: sink
Availability: Always
Direction: sink
Availability: Always
Direction: source
Availability: Always
Direction: source
flags: readable, writable
Enum "GstV4l2IOMode" Default: 0, "auto"
(0): auto - GST_V4L2_IO_AUTO
(1): rw - GST_V4L2_IO_RW
(2): mmap - GST_V4L2_IO_MMAP
(3): userptr - GST_V4L2_IO_USERPTR
(4): dmabuf - GST_V4L2_IO_DMABUF
(5): dmabuf-import - GST_V4L2_IO_DMABUF_IMPORT
flags: readable
String. Default: "/dev/video1"
flags: readable
Integer. Range: ˗1 to 2147483647, default: ˗1
flags: readable
String. Default: null
flags: readable, writable
Boxed pointer of type "GstStructure"
flags: readable, writable
Unsigned Integer64. Range: 0 - 18446744073709551615 Default: 0
flags: readable, writable, 0x2000
String. Default: "v4l2h265enc0"
flags: readable, writable
Enum "GstV4l2IOMode" Default: 0, "auto"
(0): auto - GST_V4L2_IO_AUTO
(1): rw - GST_V4L2_IO_RW
(2): mmap - GST_V4L2_IO_MMAP
(3): userptr - GST_V4L2_IO_USERPTR
(4): dmabuf - GST_V4L2_IO_DMABUF
(5): dmabuf-import - GST_V4L2_IO_DMABUF_IMPORT
flags: readable, writable, 0x2000
Object of type "GstObject"
flags: readable, writable
Boolean. Default: true
min=1
max=51
step=1
value=1; this is the default value
flags=execute-on-write
min=1
max=51
step=1
value=51; this is the default value
flags=execute-on-write
min=1
max=51
step=1
value=20; this is the default value
flags=execute-on-write
min=1
max=51
step=1
value=20; this is the default value
flags=execute-on-write
min=1
max=51
step=1
value=20; this is the default value
flags=execute-on-write
min=0
max=1
value=1 (P)
>
>0: B
>1: P; this is the default value
>
>
flags=execute-on-write
min=0
max=5
step=1
value=0; this is the default value
flags=execute-on-write
min=0
max=2
default=0
value=0 (Main)
>
>0: Main; this is the default value
>1: Main Still Picture
>2: Main 10
>
>
flags=execute-on-write
min=0
max=7
value=7 (5)
>
>0: 1
>1: 2
>2: 2.1
>3: 3
>4: 3.1
>5: 4
>6: 4.1
>7: 5; this is the default value
>
>
flags=execute-on-write
min=1
max=100000000
step=1
value=20000000; this is the default value
flags=execute-on-write
min=1
max=100000000
step=1
default=20000000; this is the default value
flags=execute-on-write
min=1
max=100000000
step=1
value=20000000; this is the default value
flags=execute-on-write
min=1
max=100000000
step=1
value=20000000; this is the default value
flags=execute-on-write
min=1
max=100000000
step=1
value=20000000; this is the default value
flags=execute-on-write
min=1
max=100000000
step=1
value=20000000; this is the default value
flags=execute-on-write
min=1
max=51
step=1
value=1; this is the default value
flags=execute-on-write
min=1
max=51
step=1
value=51; this is the default value
flags=execute-on-write
min=1
max=51
step=1
value=1; this is the default value
flags=execute-on-write
min=1
max=51
step=1
value=51; this is the default value
flags=execute-on-write
min=1
max=51
step=1
value=1; this is the default value
flags=execute-on-write
min=1
max=51
step=1
value=51; this is the default value
flags=execute-on-write