QAbstractVideoBuffer Class
La clase QAbstractVideoBuffer es una abstracción para datos de video. Más...
| Cabecera: | #include <QAbstractVideoBuffer> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Multimedia)target_link_libraries(mytarget PRIVATE Qt6::Multimedia) |
| qmake: | QT += multimedia |
| Desde: | Qt 6.8 |
Tipos Públicos
| struct | MapData |
Funciones Públicas
| virtual | ~QAbstractVideoBuffer() |
| virtual QVideoFrameFormat | format() const = 0 |
| virtual QAbstractVideoBuffer::MapData | map(QVideoFrame::MapMode mode) = 0 |
| virtual void | unmap() |
Descripción Detallada
La clase QVideoFrame hace uso de un QAbstractVideoBuffer internamente para referenciar un buffer de datos de video. Crear una subclase de QAbstractVideoBuffer permite construir fotogramas de vídeo a partir de buffers preasignados o estáticos. La subclase puede contener un búfer de hardware, e implementar el acceso a los datos mapeando el búfer a la memoria de la CPU.
Se puede acceder al contenido de un búfer asignando el búfer a la memoria mediante la función map(), que devuelve una estructura que contiene información sobre la disposición en plano de los datos de vídeo actuales.
Véase también QVideoFrame, QVideoFrameFormat, y QVideoFrame::MapMode.
Documentación de las funciones miembro
[virtual noexcept] QAbstractVideoBuffer::~QAbstractVideoBuffer()
Destruye un búfer de vídeo.
[pure virtual] QVideoFrameFormat QAbstractVideoBuffer::format() const
Obtiene QVideoFrameFormat del búfer de vídeo subyacente.
El formato debe estar disponible al construir QVideoFrame. QVideoFrame contendrá una instancia del formato dado, que puede separarse y modificarse.
[pure virtual] QAbstractVideoBuffer::MapData QAbstractVideoBuffer::map(QVideoFrame::MapMode mode)
Asigna los planos de un búfer de vídeo a la memoria.
Devuelve una estructura MapData que contiene información sobre la disposición de los planos de los datos de vídeo actuales mapeados. Si el mapeo falla, el método devuelve la estructura por defecto. En el caso de los búferes de memoria de la CPU, los datos se consideran ya asignados, por lo que la función sólo devuelve la disposición de planos de los datos subyacentes preasignados.
El mapa mode indica si el contenido de la memoria mapeada debe leerse y/o escribirse en el búfer. Si el modo map incluye la bandera QVideoFrame::ReadOnly la memoria mapeada se llenará con el contenido del buffer cuando se mapee inicialmente. Si el modo de mapeo incluye la bandera QVideoFrame::WriteOnly, el contenido de la memoria mapeada posiblemente modificada se escribirá de nuevo en el buffer cuando se desmapee.
Cuando ya no es necesario acceder a los datos, se llama a la función unmap para liberar la memoria mapeada y posiblemente actualizar el contenido del búfer.
Si el formato de los datos de vídeo es multiplanar, el método puede mapear todos los datos de píxeles como un único plano. En este caso, al mapear un búfer con QVideoFrame se calcularán planos adicionales a partir del paso de línea especificado del primer plano, la altura del fotograma y el tamaño de los datos.
[virtual] void QAbstractVideoBuffer::unmap()
Libera la memoria mapeada por la función map().
Si MapMode incluyó la bandera QVideoFrame::WriteOnly, esto escribirá el contenido actual de la memoria mapeada de vuelta al cuadro de video.
Para las memorias de vídeo de la CPU, la función puede no ser sobrescrita. La implementación por defecto de unmap no hace nada.
Véase también map().
© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.