3 "description": "VA-API based elements",
6 "author": "Sreerenj Balachandran <sreerenj.balachandran@intel.com>, Victor Jaquez <victorx.jaquez@intel.com>",
7 "description": "A VA-API based bin with a decoder and a postprocessor",
19 "klass": "Codec/Decoder/Video/Hardware",
20 "long-name": "VA-API Decode Bin",
23 "caps": "video/mpeg:\n mpegversion: 2\n systemstream: false\nvideo/mpeg:\n mpegversion: 4\nvideo/x-divx:\nvideo/x-xvid:\nvideo/x-h263:\nvideo/x-h264:\nvideo/x-h265:\nvideo/x-wmv:\nvideo/x-vp8:\nvideo/x-vp9:\n",
28 "caps": "video/x-raw(memory:VASurface):\n 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 }\n width: [ 1, 2147483647 ]\n height: [ 1, 2147483647 ]\n framerate: [ 0/1, 2147483647/1 ]\n interlace-mode: progressive\n\nvideo/x-raw(meta:GstVideoGLTextureUploadMeta):\n format: { RGBA, BGRA }\n width: [ 1, 2147483647 ]\n height: [ 1, 2147483647 ]\n framerate: [ 0/1, 2147483647/1 ]\n interlace-mode: progressive\nvideo/x-raw:\n 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 }\n width: [ 1, 2147483647 ]\n height: [ 1, 2147483647 ]\n framerate: [ 0/1, 2147483647/1 ]\n interlace-mode: progressive\n",
34 "deinterlace-method": {
35 "blurb": "Deinterlace method to use",
36 "conditionally-available": false,
38 "construct-only": false,
39 "controllable": false,
40 "default": "none (0)",
43 "type": "GstVaapiDeinterlaceMethod",
47 "blurb": "Disable Video Post Processing (No support for run time disabling)",
48 "conditionally-available": false,
50 "construct-only": false,
51 "controllable": false,
59 "blurb": "Max. number of buffers in the queue (0=disable)",
60 "conditionally-available": false,
62 "construct-only": false,
63 "controllable": false,
73 "blurb": "Max. amount of data in the queue (bytes, 0=disable)",
74 "conditionally-available": false,
76 "construct-only": false,
77 "controllable": false,
87 "blurb": "Max. amount of data in the queue (in ns, 0=disable)",
88 "conditionally-available": false,
90 "construct-only": false,
91 "controllable": false,
93 "max": "18446744073709551615",
101 "rank": "primary + 2"
104 "author": "Gwenole Beauchesne <gwenole.beauchesne@intel.com>, Halley Zhao <halley.zhao@intel.com>, Sreerenj Balachandran <sreerenj.balachandran@intel.com>, Wind Yuan <feng.yuan@intel.com>",
105 "description": "A VA-API based H264 video decoder",
107 "GstVaapiDecode_h264",
114 "klass": "Codec/Decoder/Video/Hardware",
115 "long-name": "VA-API H264 decoder",
118 "caps": "video/x-h264:\n",
123 "caps": "video/x-raw(memory:VASurface):\n 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 }\n width: [ 1, 2147483647 ]\n height: [ 1, 2147483647 ]\n framerate: [ 0/1, 2147483647/1 ]\n\nvideo/x-raw(meta:GstVideoGLTextureUploadMeta):\n format: { RGBA, BGRA }\n width: [ 1, 2147483647 ]\n height: [ 1, 2147483647 ]\n framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n 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 }\n width: [ 1, 2147483647 ]\n height: [ 1, 2147483647 ]\n framerate: [ 0/1, 2147483647/1 ]\n\nvideo/x-raw(memory:DMABuf):\n format: { I420, YV12, RGBA }\n width: [ 1, 2147483647 ]\n height: [ 1, 2147483647 ]\n framerate: [ 0/1, 2147483647/1 ]\n",
130 "blurb": "Drop any NAL unit not defined in Annex.A",
131 "conditionally-available": false,
133 "construct-only": false,
134 "controllable": false,
142 "blurb": "When enabled, frames will be pushed as soon as they are available. It might violate the H.264 spec.",
143 "conditionally-available": false,
145 "construct-only": false,
146 "controllable": false,
157 "author": "Wind Yuan <feng.yuan@intel.com>",
158 "description": "A VA-API based H264 video encoder",
160 "GstVaapiEncodeH264",
171 "klass": "Codec/Encoder/Video/Hardware",
172 "long-name": "VA-API H264 encoder",
175 "caps": "video/x-raw:\n format: { NV12, YV12, I420 }\n width: [ 1, 2147483647 ]\n height: [ 1, 2147483647 ]\n framerate: [ 0/1, 2147483647/1 ]\n interlace-mode: progressive\n\nvideo/x-raw(memory:VASurface):\n format: { NV12, YV12, I420 }\n width: [ 1, 2147483647 ]\n height: [ 1, 2147483647 ]\n framerate: [ 0/1, 2147483647/1 ]\n interlace-mode: progressive\n",
180 "caps": "video/x-h264:\n stream-format: { (string)avc, (string)byte-stream }\n alignment: au\n profile: { (string)constrained-baseline, (string)baseline, (string)main, (string)high, (string)multiview-high, (string)stereo-high }\n",
187 "blurb": "The desired bitrate expressed in kbps (0: auto-calculate)",
188 "conditionally-available": false,
190 "construct-only": false,
191 "controllable": false,
201 "blurb": "Enable CABAC entropy coding mode",
202 "conditionally-available": false,
204 "construct-only": false,
205 "controllable": false,
213 "blurb": "Tune Encode quality/performance by relaxing specification compliance restrictions",
214 "conditionally-available": false,
216 "construct-only": false,
217 "controllable": false,
218 "default": "strict (0)",
221 "type": "GstVaapiEncoderH264ComplianceMode",
225 "blurb": "Length of the CPB buffer in milliseconds",
226 "conditionally-available": false,
228 "construct-only": false,
229 "controllable": false,
239 "blurb": "Enable adaptive use of 8x8 transforms in I-frames",
240 "conditionally-available": false,
242 "construct-only": false,
243 "controllable": false,
250 "default-roi-delta-qp": {
251 "blurb": "The default delta-qp to apply to each Region of Interest(lower value means higher-quality, higher value means lower-quality)",
252 "conditionally-available": false,
254 "construct-only": false,
255 "controllable": false,
265 "blurb": "Initial quantizer value",
266 "conditionally-available": false,
268 "construct-only": false,
269 "controllable": false,
279 "blurb": "Maximal distance between two keyframes (0: auto-calculate)",
280 "conditionally-available": false,
282 "construct-only": false,
283 "controllable": false,
293 "blurb": "Number of B-frames between I and P",
294 "conditionally-available": false,
296 "construct-only": false,
297 "controllable": false,
307 "blurb": "Maximum quantizer value",
308 "conditionally-available": false,
310 "construct-only": false,
311 "controllable": false,
321 "blurb": "Macroblock level Bitrate Control",
322 "conditionally-available": false,
324 "construct-only": false,
325 "controllable": false,
326 "default": "auto (0)",
329 "type": "GstVaapiEncoderMbbrc",
333 "blurb": "Minimum quantizer value",
334 "conditionally-available": false,
336 "construct-only": false,
337 "controllable": false,
347 "blurb": "Number of slices per frame",
348 "conditionally-available": false,
350 "construct-only": false,
351 "controllable": false,
361 "blurb": "Number of Views for MVC encoding",
362 "conditionally-available": false,
364 "construct-only": false,
365 "controllable": false,
375 "blurb": "Reference Picture Selection Modes",
376 "conditionally-available": false,
378 "construct-only": false,
379 "controllable": false,
380 "default": "default (0)",
383 "type": "GstVaapiEncoderH264PredictionType",
387 "blurb": "Difference of QP between I and B frame (available only on CQP)",
388 "conditionally-available": false,
390 "construct-only": false,
391 "controllable": false,
401 "blurb": "Difference of QP between I and P frame (available only on CQP)",
402 "conditionally-available": false,
404 "construct-only": false,
405 "controllable": false,
415 "blurb": "quality factor for ICQ/QVBR bitrate control mode(low value means higher-quality, higher value means lower-quality)",
416 "conditionally-available": false,
418 "construct-only": false,
419 "controllable": false,
429 "blurb": "Encoding Quality Level (lower value means higher-quality/slow-encode, higher value means lower-quality/fast-encode)",
430 "conditionally-available": false,
432 "construct-only": false,
433 "controllable": false,
443 "blurb": "Rate control mode",
444 "conditionally-available": false,
446 "construct-only": false,
447 "controllable": false,
448 "default": "cqp (1)",
451 "type": "GstVaapiRateControlH264",
455 "blurb": "Number of reference frames",
456 "conditionally-available": false,
458 "construct-only": false,
459 "controllable": false,
468 "target-percentage": {
469 "blurb": "The desired target percentage of bitrate for variable rate controls.",
470 "conditionally-available": false,
472 "construct-only": false,
473 "controllable": false,
483 "blurb": "Number of temporal levels in the encoded stream ",
484 "conditionally-available": false,
486 "construct-only": false,
487 "controllable": false,
497 "blurb": "The Trellis Quantization Method of Encoder",
498 "conditionally-available": false,
500 "construct-only": false,
501 "controllable": false,
509 "blurb": "Encoder tuning option",
510 "conditionally-available": false,
512 "construct-only": false,
513 "controllable": false,
514 "default": "none (0)",
517 "type": "GstVaapiEncoderTuneH264",
521 "blurb": "Set of View Ids used for MVC encoding",
522 "conditionally-available": false,
524 "construct-only": false,
525 "controllable": false,
528 "type": "GstValueArray",
535 "author": "Gwenole Beauchesne <gwenole.beauchesne@intel.com>, Halley Zhao <halley.zhao@intel.com>, Sreerenj Balachandran <sreerenj.balachandran@intel.com>, Wind Yuan <feng.yuan@intel.com>",
536 "description": "A VA-API based H265 video decoder",
538 "GstVaapiDecode_h265",
545 "klass": "Codec/Decoder/Video/Hardware",
546 "long-name": "VA-API H265 decoder",
549 "caps": "video/x-h265:\n",
554 "caps": "video/x-raw(memory:VASurface):\n 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 }\n width: [ 1, 2147483647 ]\n height: [ 1, 2147483647 ]\n framerate: [ 0/1, 2147483647/1 ]\n\nvideo/x-raw(meta:GstVideoGLTextureUploadMeta):\n format: { RGBA, BGRA }\n width: [ 1, 2147483647 ]\n height: [ 1, 2147483647 ]\n framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n 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 }\n width: [ 1, 2147483647 ]\n height: [ 1, 2147483647 ]\n framerate: [ 0/1, 2147483647/1 ]\n\nvideo/x-raw(memory:DMABuf):\n format: { I420, YV12, RGBA }\n width: [ 1, 2147483647 ]\n height: [ 1, 2147483647 ]\n framerate: [ 0/1, 2147483647/1 ]\n",
563 "author": "Sreerenj Balachandran <sreerenj.balachandran@intel.com>",
564 "description": "A VA-API based H265 video encoder",
566 "GstVaapiEncodeH265",
577 "klass": "Codec/Encoder/Video/Hardware",
578 "long-name": "VA-API H265 encoder",
581 "caps": "video/x-raw:\n format: { NV12, YV12, I420 }\n width: [ 1, 2147483647 ]\n height: [ 1, 2147483647 ]\n framerate: [ 0/1, 2147483647/1 ]\n interlace-mode: progressive\n\nvideo/x-raw(memory:VASurface):\n format: { NV12, YV12, I420 }\n width: [ 1, 2147483647 ]\n height: [ 1, 2147483647 ]\n framerate: [ 0/1, 2147483647/1 ]\n interlace-mode: progressive\n",
586 "caps": "video/x-h265:\n stream-format: { (string)hvc1, (string)byte-stream }\n alignment: au\n profile: { (string)main, (string)main-10, (string)main-444, (string)main-444-10 }\n",
593 "blurb": "The desired bitrate expressed in kbps (0: auto-calculate)",
594 "conditionally-available": false,
596 "construct-only": false,
597 "controllable": false,
607 "blurb": "Length of the CPB buffer in milliseconds",
608 "conditionally-available": false,
610 "construct-only": false,
611 "controllable": false,
620 "default-roi-delta-qp": {
621 "blurb": "The default delta-qp to apply to each Region of Interest(lower value means higher-quality, higher value means lower-quality)",
622 "conditionally-available": false,
624 "construct-only": false,
625 "controllable": false,
635 "blurb": "Initial quantizer value",
636 "conditionally-available": false,
638 "construct-only": false,
639 "controllable": false,
649 "blurb": "Maximal distance between two keyframes (0: auto-calculate)",
650 "conditionally-available": false,
652 "construct-only": false,
653 "controllable": false,
663 "blurb": "Transforms P frames into predictive B frames. Enable it when P frames are not supported.",
664 "conditionally-available": false,
666 "construct-only": false,
667 "controllable": false,
675 "blurb": "Number of B-frames between I and P",
676 "conditionally-available": false,
678 "construct-only": false,
679 "controllable": false,
689 "blurb": "Maximum quantizer value",
690 "conditionally-available": false,
692 "construct-only": false,
693 "controllable": false,
703 "blurb": "Macroblock level Bitrate Control",
704 "conditionally-available": false,
706 "construct-only": false,
707 "controllable": false,
708 "default": "auto (0)",
711 "type": "GstVaapiEncoderMbbrc",
715 "blurb": "Minimum quantizer value",
716 "conditionally-available": false,
718 "construct-only": false,
719 "controllable": false,
729 "blurb": "Number of slices per frame",
730 "conditionally-available": false,
732 "construct-only": false,
733 "controllable": false,
743 "blurb": "the number of columns for tile encoding",
744 "conditionally-available": false,
746 "construct-only": false,
747 "controllable": false,
757 "blurb": "the number of rows for tile encoding",
758 "conditionally-available": false,
760 "construct-only": false,
761 "controllable": false,
771 "blurb": "Difference of QP between I and B frame (available only on CQP)",
772 "conditionally-available": false,
774 "construct-only": false,
775 "controllable": false,
785 "blurb": "Difference of QP between I and P frame (available only on CQP)",
786 "conditionally-available": false,
788 "construct-only": false,
789 "controllable": false,
799 "blurb": "quality factor for ICQ/QBVR bitrate control mode (lower value means higher quality, higher value means lower quality)",
800 "conditionally-available": false,
802 "construct-only": false,
803 "controllable": false,
813 "blurb": "Encoding Quality Level (lower value means higher-quality/slow-encode, higher value means lower-quality/fast-encode)",
814 "conditionally-available": false,
816 "construct-only": false,
817 "controllable": false,
827 "blurb": "Rate control mode",
828 "conditionally-available": false,
830 "construct-only": false,
831 "controllable": false,
832 "default": "cqp (1)",
835 "type": "GstVaapiRateControlH265",
839 "blurb": "Number of reference frames",
840 "conditionally-available": false,
842 "construct-only": false,
843 "controllable": false,
852 "target-percentage": {
853 "blurb": "The desired target percentage of bitrate for variable rate controls.",
854 "conditionally-available": false,
856 "construct-only": false,
857 "controllable": false,
867 "blurb": "The Trellis Quantization Method of Encoder",
868 "conditionally-available": false,
870 "construct-only": false,
871 "controllable": false,
879 "blurb": "Encoder tuning option",
880 "conditionally-available": false,
882 "construct-only": false,
883 "controllable": false,
884 "default": "none (0)",
887 "type": "GstVaapiEncoderTuneH265",
894 "author": "Gwenole Beauchesne <gwenole.beauchesne@intel.com>, Halley Zhao <halley.zhao@intel.com>, Sreerenj Balachandran <sreerenj.balachandran@intel.com>, Wind Yuan <feng.yuan@intel.com>",
895 "description": "A VA-API based JPEG video decoder",
897 "GstVaapiDecode_jpeg",
904 "klass": "Codec/Decoder/Video/Hardware",
905 "long-name": "VA-API JPEG decoder",
908 "caps": "image/jpeg:\n",
913 "caps": "video/x-raw(memory:VASurface):\n 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 }\n width: [ 1, 2147483647 ]\n height: [ 1, 2147483647 ]\n framerate: [ 0/1, 2147483647/1 ]\n\nvideo/x-raw(meta:GstVideoGLTextureUploadMeta):\n format: { RGBA, BGRA }\n width: [ 1, 2147483647 ]\n height: [ 1, 2147483647 ]\n framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n 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 }\n width: [ 1, 2147483647 ]\n height: [ 1, 2147483647 ]\n framerate: [ 0/1, 2147483647/1 ]\n\nvideo/x-raw(memory:DMABuf):\n format: { I420, YV12, RGBA }\n width: [ 1, 2147483647 ]\n height: [ 1, 2147483647 ]\n framerate: [ 0/1, 2147483647/1 ]\n",
922 "author": "Gwenole Beauchesne <gwenole.beauchesne@intel.com>, Halley Zhao <halley.zhao@intel.com>, Sreerenj Balachandran <sreerenj.balachandran@intel.com>, Wind Yuan <feng.yuan@intel.com>",
923 "description": "A VA-API based MPEG2 video decoder",
925 "GstVaapiDecode_mpeg2",
932 "klass": "Codec/Decoder/Video/Hardware",
933 "long-name": "VA-API MPEG2 decoder",
936 "caps": "video/mpeg:\n mpegversion: 2\n systemstream: false\n",
941 "caps": "video/x-raw(memory:VASurface):\n 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 }\n width: [ 1, 2147483647 ]\n height: [ 1, 2147483647 ]\n framerate: [ 0/1, 2147483647/1 ]\n\nvideo/x-raw(meta:GstVideoGLTextureUploadMeta):\n format: { RGBA, BGRA }\n width: [ 1, 2147483647 ]\n height: [ 1, 2147483647 ]\n framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n 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 }\n width: [ 1, 2147483647 ]\n height: [ 1, 2147483647 ]\n framerate: [ 0/1, 2147483647/1 ]\n\nvideo/x-raw(memory:DMABuf):\n format: { I420, YV12, RGBA }\n width: [ 1, 2147483647 ]\n height: [ 1, 2147483647 ]\n framerate: [ 0/1, 2147483647/1 ]\n",
950 "author": "Guangxin Xu <guangxin.xu@intel.com>",
951 "description": "A VA-API based MPEG-2 video encoder",
953 "GstVaapiEncodeMpeg2",
964 "klass": "Codec/Encoder/Video/Hardware",
965 "long-name": "VA-API MPEG-2 encoder",
968 "caps": "video/x-raw:\n format: { NV12, YV12, I420 }\n width: [ 1, 2147483647 ]\n height: [ 1, 2147483647 ]\n framerate: [ 0/1, 2147483647/1 ]\n interlace-mode: progressive\n\nvideo/x-raw(memory:VASurface):\n format: { NV12, YV12, I420 }\n width: [ 1, 2147483647 ]\n height: [ 1, 2147483647 ]\n framerate: [ 0/1, 2147483647/1 ]\n interlace-mode: progressive\n",
973 "caps": "video/mpeg:\n mpegversion: 2\n systemstream: false\n",
980 "blurb": "The desired bitrate expressed in kbps (0: auto-calculate)",
981 "conditionally-available": false,
983 "construct-only": false,
984 "controllable": false,
993 "default-roi-delta-qp": {
994 "blurb": "The default delta-qp to apply to each Region of Interest(lower value means higher-quality, higher value means lower-quality)",
995 "conditionally-available": false,
997 "construct-only": false,
998 "controllable": false,
1007 "keyframe-period": {
1008 "blurb": "Maximal distance between two keyframes (0: auto-calculate)",
1009 "conditionally-available": false,
1011 "construct-only": false,
1012 "controllable": false,
1022 "blurb": "Number of B-frames between I and P",
1023 "conditionally-available": false,
1025 "construct-only": false,
1026 "controllable": false,
1035 "min-force-key-unit-interval": {
1036 "blurb": "Minimum interval between force-keyunit requests in nanoseconds",
1037 "conditionally-available": false,
1039 "construct-only": false,
1040 "controllable": false,
1042 "max": "18446744073709551615",
1050 "blurb": "Handle Quality-of-Service events from downstream",
1051 "conditionally-available": false,
1053 "construct-only": false,
1054 "controllable": false,
1062 "blurb": "Encoding Quality Level (lower value means higher-quality/slow-encode, higher value means lower-quality/fast-encode)",
1063 "conditionally-available": false,
1065 "construct-only": false,
1066 "controllable": false,
1076 "blurb": "Constant quantizer (if rate-control mode is CQP)",
1077 "conditionally-available": false,
1079 "construct-only": false,
1080 "controllable": false,
1090 "blurb": "Rate control mode",
1091 "conditionally-available": false,
1093 "construct-only": false,
1094 "controllable": false,
1095 "default": "cqp (1)",
1098 "type": "GstVaapiRateControlMPEG2",
1101 "target-percentage": {
1102 "blurb": "The desired target percentage of bitrate for variable rate controls.",
1103 "conditionally-available": false,
1105 "construct-only": false,
1106 "controllable": false,
1116 "blurb": "The Trellis Quantization Method of Encoder",
1117 "conditionally-available": false,
1119 "construct-only": false,
1120 "controllable": false,
1128 "blurb": "Encoder tuning option",
1129 "conditionally-available": false,
1131 "construct-only": false,
1132 "controllable": false,
1133 "default": "none (0)",
1136 "type": "GstVaapiEncoderTuneMPEG2",
1143 "author": "Gwenole Beauchesne <gwenole.beauchesne@intel.com>",
1144 "description": "A VA-API video postprocessing filter",
1150 "GInitiallyUnowned",
1156 "klass": "Filter/Converter/Effect/Video/Scaler/Deinterlace/Hardware",
1157 "long-name": "VA-API video postprocessing",
1160 "caps": "video/x-raw(memory:VASurface):\n 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 }\n width: [ 1, 2147483647 ]\n height: [ 1, 2147483647 ]\n framerate: [ 0/1, 2147483647/1 ]\n interlace-mode: { (string)progressive, (string)interleaved, (string)mixed }\nvideo/x-raw:\n 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 }\n width: [ 1, 2147483647 ]\n height: [ 1, 2147483647 ]\n framerate: [ 0/1, 2147483647/1 ]\n interlace-mode: { (string)progressive, (string)interleaved, (string)mixed }\n",
1161 "direction": "sink",
1162 "presence": "always"
1165 "caps": "video/x-raw(memory:VASurface):\n 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 }\n width: [ 1, 2147483647 ]\n height: [ 1, 2147483647 ]\n framerate: [ 0/1, 2147483647/1 ]\n interlace-mode: progressive\n\nvideo/x-raw(meta:GstVideoGLTextureUploadMeta):\n format: { RGBA, BGRA }\n width: [ 1, 2147483647 ]\n height: [ 1, 2147483647 ]\n framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n 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 }\n width: [ 1, 2147483647 ]\n height: [ 1, 2147483647 ]\n framerate: [ 0/1, 2147483647/1 ]\n interlace-mode: { (string)progressive, (string)interleaved, (string)mixed }\n\nvideo/x-raw(memory:DMABuf):\n format: { I420, YV12, RGBA }\n width: [ 1, 2147483647 ]\n height: [ 1, 2147483647 ]\n framerate: [ 0/1, 2147483647/1 ]\n",
1167 "presence": "always"
1172 "blurb": "The color brightness value",
1173 "conditionally-available": false,
1175 "construct-only": false,
1176 "controllable": false,
1186 "blurb": "The color contrast value",
1187 "conditionally-available": false,
1189 "construct-only": false,
1190 "controllable": false,
1200 "blurb": "Pixels to crop at bottom",
1201 "conditionally-available": false,
1203 "construct-only": false,
1204 "controllable": false,
1206 "max": "2147483647",
1214 "blurb": "Pixels to crop at left",
1215 "conditionally-available": false,
1217 "construct-only": false,
1218 "controllable": false,
1220 "max": "2147483647",
1228 "blurb": "Pixels to crop at right",
1229 "conditionally-available": false,
1231 "construct-only": false,
1232 "controllable": false,
1234 "max": "2147483647",
1242 "blurb": "Pixels to crop at top",
1243 "conditionally-available": false,
1245 "construct-only": false,
1246 "controllable": false,
1248 "max": "2147483647",
1255 "deinterlace-method": {
1256 "blurb": "Deinterlace method to use",
1257 "conditionally-available": false,
1259 "construct-only": false,
1260 "controllable": false,
1261 "default": "bob (1)",
1264 "type": "GstVaapiDeinterlaceMethod",
1267 "deinterlace-mode": {
1268 "blurb": "Deinterlace mode to use",
1269 "conditionally-available": false,
1271 "construct-only": false,
1272 "controllable": false,
1273 "default": "auto (0)",
1276 "type": "GstVaapiDeinterlaceMode",
1280 "blurb": "The level of denoising to apply",
1281 "conditionally-available": false,
1283 "construct-only": false,
1284 "controllable": false,
1293 "force-aspect-ratio": {
1294 "blurb": "When enabled, scaling will respect original aspect ratio",
1295 "conditionally-available": false,
1297 "construct-only": false,
1298 "controllable": false,
1306 "blurb": "The forced output pixel format",
1307 "conditionally-available": false,
1309 "construct-only": false,
1310 "controllable": false,
1311 "default": "encoded (1)",
1314 "type": "GstVideoFormat",
1318 "blurb": "Apply HDR tone mapping algorithm",
1319 "conditionally-available": false,
1321 "construct-only": false,
1322 "controllable": false,
1323 "default": "auto (0)",
1326 "type": "GstVaapiHDRToneMap",
1330 "blurb": "Forced output height",
1331 "conditionally-available": false,
1333 "construct-only": false,
1334 "controllable": false,
1336 "max": "2147483647",
1344 "blurb": "The color hue value",
1345 "conditionally-available": false,
1347 "construct-only": false,
1348 "controllable": false,
1358 "blurb": "The color saturation value",
1359 "conditionally-available": false,
1361 "construct-only": false,
1362 "controllable": false,
1372 "blurb": "Scaling method to use",
1373 "conditionally-available": false,
1375 "construct-only": false,
1376 "controllable": false,
1377 "default": "default (0)",
1380 "type": "GstVaapiScaleMethod",
1384 "blurb": "The level of sharpening/blurring to apply",
1385 "conditionally-available": false,
1387 "construct-only": false,
1388 "controllable": false,
1397 "skin-tone-enhancement": {
1398 "blurb": "Apply the skin tone enhancement algorithm",
1399 "conditionally-available": false,
1401 "construct-only": false,
1402 "controllable": false,
1409 "skin-tone-enhancement-level": {
1410 "blurb": "Apply the skin tone enhancement algorithm with specified level",
1411 "conditionally-available": false,
1413 "construct-only": false,
1414 "controllable": false,
1423 "video-direction": {
1424 "blurb": "Video direction: rotation and flipping",
1425 "conditionally-available": false,
1427 "construct-only": false,
1428 "controllable": false,
1429 "default": "identity (0)",
1432 "type": "GstVideoOrientationMethod",
1436 "blurb": "Forced output width",
1437 "conditionally-available": false,
1439 "construct-only": false,
1440 "controllable": false,
1442 "max": "2147483647",
1453 "author": "Gwenole Beauchesne <gwenole.beauchesne@intel.com>",
1454 "description": "A VA-API based videosink",
1461 "GInitiallyUnowned",
1469 "klass": "Sink/Video",
1470 "long-name": "VA-API sink",
1473 "caps": "video/x-raw(memory:VASurface):\n 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 }\n width: [ 1, 2147483647 ]\n height: [ 1, 2147483647 ]\n framerate: [ 0/1, 2147483647/1 ]\n\nvideo/x-raw(memory:VASurface, meta:GstVideoOverlayComposition):\n format: { ENCODED, NV12, I420, YV12, P010_10LE }\n width: [ 1, 2147483647 ]\n height: [ 1, 2147483647 ]\n framerate: [ 0/1, 2147483647/1 ]\n\nvideo/x-raw(meta:GstVideoOverlayComposition):\n 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 }\n width: [ 1, 2147483647 ]\n height: [ 1, 2147483647 ]\n framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n 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 }\n width: [ 1, 2147483647 ]\n height: [ 1, 2147483647 ]\n framerate: [ 0/1, 2147483647/1 ]\n",
1474 "direction": "sink",
1475 "presence": "always"
1480 "blurb": "The display brightness value",
1481 "conditionally-available": false,
1483 "construct-only": false,
1484 "controllable": false,
1494 "blurb": "The display contrast value",
1495 "conditionally-available": false,
1497 "construct-only": false,
1498 "controllable": false,
1508 "blurb": "display type to use",
1509 "conditionally-available": false,
1511 "construct-only": false,
1512 "controllable": false,
1513 "default": "any (0)",
1516 "type": "GstVaapiDisplayType",
1520 "blurb": "display name to use",
1521 "conditionally-available": false,
1523 "construct-only": false,
1524 "controllable": false,
1528 "type": "gchararray",
1531 "force-aspect-ratio": {
1532 "blurb": "When enabled, scaling will respect original aspect ratio",
1533 "conditionally-available": false,
1535 "construct-only": false,
1536 "controllable": false,
1544 "blurb": "Requests window in fullscreen state",
1545 "conditionally-available": false,
1547 "construct-only": false,
1548 "controllable": false,
1556 "blurb": "The display hue value",
1557 "conditionally-available": false,
1559 "construct-only": false,
1560 "controllable": false,
1570 "blurb": "The display rotation mode",
1571 "conditionally-available": false,
1573 "construct-only": false,
1574 "controllable": false,
1578 "type": "GstVaapiRotation",
1582 "blurb": "The display saturation value",
1583 "conditionally-available": false,
1585 "construct-only": false,
1586 "controllable": false,
1595 "signal-handoffs": {
1596 "blurb": "Send a signal after rendering the buffer",
1597 "conditionally-available": false,
1599 "construct-only": false,
1600 "controllable": false,
1608 "blurb": "ID of the view component of interest to display",
1609 "conditionally-available": false,
1611 "construct-only": false,
1612 "controllable": false,
1614 "max": "2147483647",
1631 "return-type": "void",
1637 "author": "Gwenole Beauchesne <gwenole.beauchesne@intel.com>, Halley Zhao <halley.zhao@intel.com>, Sreerenj Balachandran <sreerenj.balachandran@intel.com>, Wind Yuan <feng.yuan@intel.com>",
1638 "description": "A VA-API based VC1 video decoder",
1640 "GstVaapiDecode_vc1",
1644 "GInitiallyUnowned",
1647 "klass": "Codec/Decoder/Video/Hardware",
1648 "long-name": "VA-API VC1 decoder",
1651 "caps": "video/x-wmv:\n wmvversion: 3\n format: { WMV3, WVC1 }\n",
1652 "direction": "sink",
1653 "presence": "always"
1656 "caps": "video/x-raw(memory:VASurface):\n 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 }\n width: [ 1, 2147483647 ]\n height: [ 1, 2147483647 ]\n framerate: [ 0/1, 2147483647/1 ]\n\nvideo/x-raw(meta:GstVideoGLTextureUploadMeta):\n format: { RGBA, BGRA }\n width: [ 1, 2147483647 ]\n height: [ 1, 2147483647 ]\n framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n 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 }\n width: [ 1, 2147483647 ]\n height: [ 1, 2147483647 ]\n framerate: [ 0/1, 2147483647/1 ]\n\nvideo/x-raw(memory:DMABuf):\n format: { I420, YV12, RGBA }\n width: [ 1, 2147483647 ]\n height: [ 1, 2147483647 ]\n framerate: [ 0/1, 2147483647/1 ]\n",
1658 "presence": "always"
1665 "filename": "gstvaapi",
1668 "GstVaapiDeinterlaceMethod": {
1672 "desc": "Disable deinterlacing",
1677 "desc": "Bob deinterlacing",
1682 "desc": "Weave deinterlacing",
1687 "desc": "Motion adaptive deinterlacing",
1688 "name": "motion-adaptive",
1692 "desc": "Motion compensated deinterlacing",
1693 "name": "motion-compensated",
1698 "GstVaapiDeinterlaceMode": {
1702 "desc": "Auto detection",
1707 "desc": "Force deinterlacing",
1708 "name": "interlaced",
1712 "desc": "Never deinterlace",
1718 "GstVaapiDisplayType": {
1722 "desc": "Auto detection",
1727 "desc": "VA/X11 display",
1732 "desc": "VA/GLX display",
1737 "desc": "VA/EGL display",
1742 "desc": "VA/Wayland display",
1747 "desc": "VA/DRM display",
1759 "GInitiallyUnowned",
1767 "GstVaapiEncoderH264ComplianceMode": {
1771 "desc": "Strict compliance to the H264 Specification ",
1776 "desc": "Restrict the allocation size of coded-buffer",
1777 "name": "restrict-buf-alloc",
1782 "GstVaapiEncoderH264PredictionType": {
1786 "desc": "Default encode, prev/next frame as ref ",
1791 "desc": "Hierarchical P frame encode",
1792 "name": "hierarchical-p",
1796 "desc": "Hierarchical B frame encode",
1797 "name": "hierarchical-b",
1802 "GstVaapiEncoderMbbrc": {
1822 "GstVaapiEncoderTuneH264": {
1831 "desc": "High compression",
1832 "name": "high-compression",
1836 "desc": "Low power mode",
1837 "name": "low-power",
1842 "GstVaapiEncoderTuneH265": {
1851 "desc": "Low power mode",
1852 "name": "low-power",
1857 "GstVaapiEncoderTuneMPEG2": {
1867 "GstVaapiHDRToneMap": {
1871 "desc": "Auto detection",
1876 "desc": "Disable HDR tone mapping",
1882 "GstVaapiRateControlH264": {
1886 "desc": "Constant QP",
1891 "desc": "Constant bitrate",
1896 "desc": "Variable bitrate",
1901 "desc": "Variable bitrate - Constrained",
1902 "name": "vbr_constrained",
1906 "desc": "Constant QP - Intelligent",
1911 "desc": "Variable bitrate - Quality defined",
1917 "GstVaapiRateControlH265": {
1921 "desc": "Constant QP",
1926 "desc": "Constant bitrate",
1931 "desc": "Variable bitrate",
1936 "desc": "Constant QP - Intelligent",
1941 "desc": "Variable bitrate - Quality defined",
1947 "GstVaapiRateControlMPEG2": {
1951 "desc": "Constant QP",
1956 "desc": "Constant bitrate",
1962 "GstVaapiRotation": {
1966 "desc": "Unrotated mode",
1971 "desc": "Rotated by 90°, clockwise",
1976 "desc": "Rotated by 180°, clockwise",
1981 "desc": "Rotated by 270°, clockwise",
1986 "desc": "Rotated by image-orientating tag°",
1987 "name": "Automatic",
1992 "GstVaapiScaleMethod": {
1996 "desc": "Default scaling mode",
2001 "desc": "Fast scaling mode",
2006 "desc": "High quality scaling mode",
2013 "package": "gstreamer-vaapi",
2014 "source": "gstreamer-vaapi",
2016 "url": "https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/issues"