# qtivtransform

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

下表列出了 qtivtransform 的一些常见属性。如需了解更多信息，请参阅[表：qtivtransform 的元素属性](https://docs.qualcomm.com/doc/80-70029-50SC/topic/qtivtransform.html#section-gsq-z1n-myb)。。

| 属性 | 用法 |
| --- | --- |
| Destination | 设置输出中每个输入帧的 X 轴和 Y 轴位置以及放大/缩小尺寸 |
| Crop | 设置源的可选裁剪。 |
| Rotate | 垂直旋转帧 |
| <ul class="simple"><br><li><p>Flip-horizontal</p></li><br></ul><br><br><br>> <br>> <br>> <ul class="simple"><br>> <li><p>Flip-vertical</p></li><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-70029-50SC/topic/transform-and-transcode-use-cases.html)。

## 端口配置

| 端口名称 | 功能 | 功能 | 功能 |
| --- | --- | --- | --- |
| SINK 模板：'sink'<br><br><br><br>> <br>> <br>> <ul class="simple"><br>> <li><p><em>可用性：</em> 始终可用</p></li><br>> <li><p><em>方向：</em> 接收端</p></li><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><br><br><br>> <br>> <br>> <ul class="simple"><br>> <li><p><em>可用性：</em> 始终可用</p></li><br>> <li><p><em>方向：</em> 接收端</p></li><br>> </ul> | video/x-raw | width: | [ 1, 32767 ] |
| SINK 模板：'sink'<br><br><br><br>> <br>> <br>> <ul class="simple"><br>> <li><p><em>可用性：</em> 始终可用</p></li><br>> <li><p><em>方向：</em> 接收端</p></li><br>> </ul> | video/x-raw | height: | [ 1, 32767 ] |
| SINK 模板：'sink'<br><br><br><br>> <br>> <br>> <ul class="simple"><br>> <li><p><em>可用性：</em> 始终可用</p></li><br>> <li><p><em>方向：</em> 接收端</p></li><br>> </ul> | video/x-raw | framerate： | [ 0/1, 255/1 ] |
| SINK 模板：'sink'<br><br><br><br>> <br>> <br>> <ul class="simple"><br>> <li><p><em>可用性：</em> 始终可用</p></li><br>> <li><p><em>方向：</em> 接收端</p></li><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><br><br><br>> <br>> <br>> <ul class="simple"><br>> <li><p><em>可用性：</em> 始终可用</p></li><br>> <li><p><em>方向：</em> 接收端</p></li><br>> </ul> | video/x-raw (memory:GBM) | width: | [ 1, 32767 ] |
| SINK 模板：'sink'<br><br><br><br>> <br>> <br>> <ul class="simple"><br>> <li><p><em>可用性：</em> 始终可用</p></li><br>> <li><p><em>方向：</em> 接收端</p></li><br>> </ul> | video/x-raw (memory:GBM) | height: | [ 1, 32767 ] |
| SINK 模板：'sink'<br><br><br><br>> <br>> <br>> <ul class="simple"><br>> <li><p><em>可用性：</em> 始终可用</p></li><br>> <li><p><em>方向：</em> 接收端</p></li><br>> </ul> | video/x-raw (memory:GBM) | framerate： | [ 0/1, 255/1 ] |
| SRC 模板：'src'<br><br><br><br>> <br>> <br>> <ul class="simple"><br>> <li><p><em>可用性：</em> 始终可用</p></li><br>> <li><p><em>方向：</em> 发送端</p></li><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><br><br><br>> <br>> <br>> <ul class="simple"><br>> <li><p><em>可用性：</em> 始终可用</p></li><br>> <li><p><em>方向：</em> 发送端</p></li><br>> </ul> | video/x-raw | width: | [ 1, 32767 ] |
| SRC 模板：'src'<br><br><br><br>> <br>> <br>> <ul class="simple"><br>> <li><p><em>可用性：</em> 始终可用</p></li><br>> <li><p><em>方向：</em> 发送端</p></li><br>> </ul> | video/x-raw | height: | [ 1, 32767 ] |
| SRC 模板：'src'<br><br><br><br>> <br>> <br>> <ul class="simple"><br>> <li><p><em>可用性：</em> 始终可用</p></li><br>> <li><p><em>方向：</em> 发送端</p></li><br>> </ul> | video/x-raw | framerate： | [ 0/1, 255/1 ] |
| SRC 模板：'src'<br><br><br><br>> <br>> <br>> <ul class="simple"><br>> <li><p><em>可用性：</em> 始终可用</p></li><br>> <li><p><em>方向：</em> 发送端</p></li><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><br><br><br>> <br>> <br>> <ul class="simple"><br>> <li><p><em>可用性：</em> 始终可用</p></li><br>> <li><p><em>方向：</em> 发送端</p></li><br>> </ul> | video/x-raw (memory:GBM) | width: | [ 1, 32767 ] |
| SRC 模板：'src'<br><br><br><br>> <br>> <br>> <ul class="simple"><br>> <li><p><em>可用性：</em> 始终可用</p></li><br>> <li><p><em>方向：</em> 发送端</p></li><br>> </ul> | video/x-raw (memory:GBM) | height: | [ 1, 32767 ] |
| SRC 模板：'src'<br><br><br><br>> <br>> <br>> <ul class="simple"><br>> <li><p><em>可用性：</em> 始终可用</p></li><br>> <li><p><em>方向：</em> 发送端</p></li><br>> </ul> | video/x-raw (memory:GBM) | framerate： | [ 0/1, 255/1 ] |
|  |  |  |  |
|  |  |  |  |
|  |  |  |  |
|  |  |  |  |
|  |  |  |  |
|  |  |  |  |
|  |  |  |  |

## 元素配置

表：qtivtransform 的元素属性

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

Last Published: Apr 17, 2026

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

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