# qtivtransform

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

qtivtransform 插件使用 GPU 硬件对由元素属性决定的 YUV 或 RGB 输入视频帧进行放大/缩小、翻转、旋转、裁剪和色彩转换。

下表列出了 qtivtransform 的一些通用属性。关于更多详细信息，请参阅 [Table : qtivtransform 的元素属性](https://docs.qualcomm.com/doc/80-70020-50SC/topic/qtivtransform.html#qtivtransform__table_vmx_1bn_myb)。

| 属性 | 用法 |
| --- | --- |
| Destination | 设置输出中每个输入帧的 X 轴和 Y 轴位置以及放大/缩小尺寸 |
| Crop | 设置源的可选裁剪。 |
| Rotate | 垂直旋转帧 |
| <ul class="ul" id="qtivtransform__ul_vyb_2dp_tbc"><br>                                <li class="li">Flip-horizontal</li><br><br>                                <li class="li">Flip-vertical</li><br><br>                            </ul> | 水平和垂直翻转帧。 |

如果未指定 [GstCaps](https://gstreamer.freedesktop.org/documentation/gstreamer/gstcaps.html) 发送端口转换属性，插件将协商与输入中提供的相同功能。在这种情况下，插件在直通模式下运行，直到参数发生更改。

该插件使用 Qualcomm^®^Adreno™ GPU 公开的 Qualcomm IB2C 库进行所有转换操作。该库封装在自定义 GstC2dVideoConverter 抽象层中，其中包含用于创建、配置和处理传入和传出缓存的 API。

GstImageBufferPool 自定义缓存池类可以分配 GBM 或 ION 输出缓存，具体取决于 GstImageBufferPool 和下游插件之间的协商功能。

- 通过 Qualcomm libgbm 完成 GBM 分配。
- 通过发到内核的 IOCTL 命令完成 ION 分配。

## 继承链

[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) → [GstBaseTransform](https://gstreamer.freedesktop.org/documentation/base/gstbasetransform.html?gi-language=c) → GstVideoTransform

下表提供了有关 qtivtransform 的端口模板和元素属性的信息。有关用例信息，请参见[转换和转码用例](https://docs.qualcomm.com/doc/80-70020-50SC/topic/transform-and-transcode-use-cases.html)。

## 端口配置

| 端口名称 | 功能 | 功能 | 功能 |
| --- | --- | --- | --- |
| SINK 模板：'sink'<br><ul class="ul" id="qtivtransform__ul_y22_1qz_q1c"><br>                                    <li class="li"><em class="ph i">可用性：</em> 始终可用</li><br><br>                                    <li class="li"><em class="ph i">方向：</em> 接收</li><br><br>                                </ul> | video/x-raw | format： | { (string)NV12, (string)NV21, (string)YUY2, (string)P010\_10LE, (string)NV12\_10LE32, (string)RGBA, (string)BGRA, (string)ARGB, (string)ABGR, (string)RGBx, (string)BGRx, (string)xRGB, (string)xBGR, (string)RGB, (string)BGR, (string)GRAY8 } |
| SINK 模板：'sink'<br><ul class="ul" id="qtivtransform__ul_y22_1qz_q1c"><br>                                    <li class="li"><em class="ph i">可用性：</em> 始终可用</li><br><br>                                    <li class="li"><em class="ph i">方向：</em> 接收</li><br><br>                                </ul> | video/x-raw | width: | [ 1, 32767 ] |
| SINK 模板：'sink'<br><ul class="ul" id="qtivtransform__ul_y22_1qz_q1c"><br>                                    <li class="li"><em class="ph i">可用性：</em> 始终可用</li><br><br>                                    <li class="li"><em class="ph i">方向：</em> 接收</li><br><br>                                </ul> | video/x-raw | height: | [ 1, 32767 ] |
| SINK 模板：'sink'<br><ul class="ul" id="qtivtransform__ul_y22_1qz_q1c"><br>                                    <li class="li"><em class="ph i">可用性：</em> 始终可用</li><br><br>                                    <li class="li"><em class="ph i">方向：</em> 接收</li><br><br>                                </ul> | video/x-raw | framerate： | [ 0/1, 255/1 ] |
| SINK 模板：'sink'<br><ul class="ul" id="qtivtransform__ul_y22_1qz_q1c"><br>                                    <li class="li"><em class="ph i">可用性：</em> 始终可用</li><br><br>                                    <li class="li"><em class="ph i">方向：</em> 接收</li><br><br>                                </ul> | video/x-raw (memory:GBM) | format： | { (string)NV12, (string)NV21, (string)YUY2, (string)P010\_10LE, (string)NV12\_10LE32, (string)RGBA, (string)BGRA, (string)ARGB, (string)ABGR, (string)RGBx, (string)BGRx, (string)xRGB, (string)xBGR, (string)RGB, (string)BGR, (string)GRAY8 } |
| SINK 模板：'sink'<br><ul class="ul" id="qtivtransform__ul_y22_1qz_q1c"><br>                                    <li class="li"><em class="ph i">可用性：</em> 始终可用</li><br><br>                                    <li class="li"><em class="ph i">方向：</em> 接收</li><br><br>                                </ul> | video/x-raw (memory:GBM) | width: | [ 1, 32767 ] |
| SINK 模板：'sink'<br><ul class="ul" id="qtivtransform__ul_y22_1qz_q1c"><br>                                    <li class="li"><em class="ph i">可用性：</em> 始终可用</li><br><br>                                    <li class="li"><em class="ph i">方向：</em> 接收</li><br><br>                                </ul> | video/x-raw (memory:GBM) | height: | [ 1, 32767 ] |
| SINK 模板：'sink'<br><ul class="ul" id="qtivtransform__ul_y22_1qz_q1c"><br>                                    <li class="li"><em class="ph i">可用性：</em> 始终可用</li><br><br>                                    <li class="li"><em class="ph i">方向：</em> 接收</li><br><br>                                </ul> | video/x-raw (memory:GBM) | framerate： | [ 0/1, 255/1 ] |
| SRC 模板：'src'<br><ul class="ul" id="qtivtransform__ul_ztk_1qz_q1c"><br>                                    <li class="li"><em class="ph i">可用性：</em> 始终可用</li><br><br>                                    <li class="li"><em class="ph i">方向：</em> 发送</li><br><br>                                </ul> | video/x-raw | format： | { (string)NV12, (string)NV21, (string)YUY2, (string)P010\_10LE, (string)RGBA, (string)BGRA, (string)ARGB, (string)ABGR, (string)RGBx, (string)BGRx, (string)xRGB, (string)xBGR, (string)RGB, (string)BGR, (string)GRAY8 } |
| SRC 模板：'src'<br><ul class="ul" id="qtivtransform__ul_ztk_1qz_q1c"><br>                                    <li class="li"><em class="ph i">可用性：</em> 始终可用</li><br><br>                                    <li class="li"><em class="ph i">方向：</em> 发送</li><br><br>                                </ul> | video/x-raw | width: | [ 1, 32767 ] |
| SRC 模板：'src'<br><ul class="ul" id="qtivtransform__ul_ztk_1qz_q1c"><br>                                    <li class="li"><em class="ph i">可用性：</em> 始终可用</li><br><br>                                    <li class="li"><em class="ph i">方向：</em> 发送</li><br><br>                                </ul> | video/x-raw | height: | [ 1, 32767 ] |
| SRC 模板：'src'<br><ul class="ul" id="qtivtransform__ul_ztk_1qz_q1c"><br>                                    <li class="li"><em class="ph i">可用性：</em> 始终可用</li><br><br>                                    <li class="li"><em class="ph i">方向：</em> 发送</li><br><br>                                </ul> | video/x-raw | framerate： | [ 0/1, 255/1 ] |
| SRC 模板：'src'<br><ul class="ul" id="qtivtransform__ul_ztk_1qz_q1c"><br>                                    <li class="li"><em class="ph i">可用性：</em> 始终可用</li><br><br>                                    <li class="li"><em class="ph i">方向：</em> 发送</li><br><br>                                </ul> | video/x-raw (memory:GBM) | format： | { (string)NV12, (string)NV21, (string)YUY2, (string)P010\_10LE, (string)RGBA, (string)BGRA, (string)ARGB, (string)ABGR, (string)RGBx, (string)BGRx, (string)xRGB, (string)xBGR, (string)RGB, (string)BGR, (string)GRAY8 } |
| SRC 模板：'src'<br><ul class="ul" id="qtivtransform__ul_ztk_1qz_q1c"><br>                                    <li class="li"><em class="ph i">可用性：</em> 始终可用</li><br><br>                                    <li class="li"><em class="ph i">方向：</em> 发送</li><br><br>                                </ul> | video/x-raw (memory:GBM) | width: | [ 1, 32767 ] |
| SRC 模板：'src'<br><ul class="ul" id="qtivtransform__ul_ztk_1qz_q1c"><br>                                    <li class="li"><em class="ph i">可用性：</em> 始终可用</li><br><br>                                    <li class="li"><em class="ph i">方向：</em> 发送</li><br><br>                                </ul> | video/x-raw (memory:GBM) | height: | [ 1, 32767 ] |
| SRC 模板：'src'<br><ul class="ul" id="qtivtransform__ul_ztk_1qz_q1c"><br>                                    <li class="li"><em class="ph i">可用性：</em> 始终可用</li><br><br>                                    <li class="li"><em class="ph i">方向：</em> 发送</li><br><br>                                </ul> | video/x-raw (memory:GBM) | framerate： | [ 0/1, 255/1 ] |
|  |  |  |  |
|  |  |  |  |
|  |  |  |  |
|  |  |  |  |
|  |  |  |  |
|  |  |  |  |
|  |  |  |  |

## 元素配置

Table : qtivtransform 的元素属性

| 属性 | 说明 |
| --- | --- |
| name | 对象名称<ul class="ul" id="qtivtransform__ul_wmx_1bn_myb"><br>                                    <li class="li">标志：可读、可写</li><br><br>                                    <li class="li">字符串。默认："videotransform0"</li><br><br>                                </ul> |
| parent | 对象的父级<ul class="ul" id="qtivtransform__ul_xmx_1bn_myb"><br>                                    <li class="li">标志：可读、可写</li><br><br>                                    <li class="li">"GstObject" 类型的对象</li><br><br>                                </ul> |
| engine | 用于转换操作的引擎后端<ul class="ul" id="qtivtransform__ul_hbm_dqz_q1c"><br>                                    <li class="li">标志：可读、可写</li><br><br>                                    <li class="li">枚举“GstVideoConverterBackend”默认： 1，“gles”<ul class="ul" id="qtivtransform__ul_vm1_2qz_q1c"><br>                                            <li class="li"> (1)：gles - 使用基于 OpenGLES 的视频转换器 </li><br><br>                                            <li class="li">(2)：fcv - 使用基于 Qualcomm Computer Vision SDK 的视频转换器</li><br><br>                                        </ul><br></li><br><br>                                </ul><br><br>Note: 目前不支持 Qualcomm Computer Vision SDK（fcv）引擎。 |
| flip-horizontal | 水平翻转视频图像。<ul class="ul" id="qtivtransform__ul_ymx_1bn_myb"><br>                                    <li class="li">标志：可读、可写、可在 NULL、READY、PAUSED 或 PLAYING 状态下更改</li><br><br>                                    <li class="li">Boolean。默认值：false</li><br><br>                                </ul> |
| flip-vertical | 垂直翻转视频图像。<ul class="ul" id="qtivtransform__ul_zmx_1bn_myb"><br>                                    <li class="li">标志：可读、可写、可在 NULL、READY、PAUSED 或 PLAYING 状态下更改</li><br><br>                                    <li class="li">Boolean。默认值：false</li><br><br>                                </ul> |
| rotate | 旋转视频图像<ul class="ul" id="qtivtransform__ul_anx_1bn_myb"><br>                                    <li class="li">标志：可读、可写、可在 NULL、READY、PAUSED 或 PLAYING 状态下更改</li><br><br>                                    <li class="li">枚举“GstVideoTransformRotate”默认：0，“none”<ul class="ul" id="qtivtransform__ul_ugy_ghq_pyb"><br>                                            <li class="li"> (0)：none - 无旋转</li><br><br>                                            <li class="li"> (1)：90CW - 顺时针旋转 90 度</li><br><br>                                            <li class="li"> (2)：90CCW - 逆时针旋转 90 度</li><br><br>                                            <li class="li"> (3)：180 - 旋转 180 度</li><br><br>                                        </ul><br></li><br><br>                                </ul> |
| crop | 输入内的裁剪矩形 ('&lt;X, Y, WIDTH, HEIGHT &gt;')<br>Note: 此属性无法进行时间同步。<br><ul class="ul" id="qtivtransform__ul_bnx_1bn_myb"><br>                                    <li class="li">标志：可读、可写、可在 NULL、READY、PAUSED 或 PLAYING 状态下更改</li><br><br>                                    <li class="li">GstValueArray 类型为 "gint" 的 GValues 数组</li><br><br>                                </ul> |
| destination | 输出内的目标矩形 ('&lt;X, Y, WIDTH, HEIGHT &gt;')<ul class="ul" id="qtivtransform__ul_cnx_1bn_myb"><br>                                    <li class="li">标志：可读、可写、可在 NULL、READY、PAUSED 或 PLAYING 状态下更改</li><br><br>                                    <li class="li">GstValueArray 类型为 "gint" 的 GValues 数组</li><br><br>                                </ul> |
| background | 背景颜色<ul class="ul" id="qtivtransform__ul_dnx_1bn_myb"><br>                                    <li class="li">标志：可读、可写、可在 NULL、READY、PAUSED 或 PLAYING 状态下更改</li><br><br>                                    <li class="li">无符号整型。范围：0 - 4294967295 默认值：4286611584</li><br><br>                                </ul> |

**Parent Topic:** [配置显示器、摄像头、编码和解码插件](https://docs.qualcomm.com/doc/80-70020-50SC/topic/display-plugins.html)

Last Published: Jul 23, 2025

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