QAbstractVideoBuffer Class
La classe QAbstractVideoBuffer est une abstraction pour les données vidéo. Plus d'informations...
| En-tête : | #include <QAbstractVideoBuffer> |
| CMake : | find_package(Qt6 REQUIRED COMPONENTS Multimedia)target_link_libraries(mytarget PRIVATE Qt6::Multimedia) |
| qmake : | QT += multimedia |
| Depuis : | Qt 6.8 |
Types publics
| struct | MapData |
Fonctions publiques
| virtual | ~QAbstractVideoBuffer() |
| virtual QVideoFrameFormat | format() const = 0 |
| virtual QAbstractVideoBuffer::MapData | map(QVideoFrame::MapMode mode) = 0 |
| virtual void | unmap() |
Description détaillée
La classe QVideoFrame utilise un QAbstractVideoBuffer en interne pour référencer une mémoire tampon de données vidéo. La création d'une sous-classe de QAbstractVideoBuffer permet de construire des images vidéo à partir de tampons préalloués ou statiques. La sous-classe peut contenir une mémoire tampon matérielle et implémenter l'accès aux données en mappant la mémoire tampon à la mémoire du processeur.
Il est possible d'accéder au contenu d'un tampon en le mappant à la mémoire à l'aide de la fonction map(), qui renvoie une structure contenant des informations sur la disposition du plan des données vidéo actuelles.
Voir également QVideoFrame, QVideoFrameFormat, et QVideoFrame::MapMode.
Documentation des fonctions membres
[virtual noexcept] QAbstractVideoBuffer::~QAbstractVideoBuffer()
Détruit une mémoire tampon vidéo.
[pure virtual] QVideoFrameFormat QAbstractVideoBuffer::format() const
Obtient QVideoFrameFormat de la mémoire tampon vidéo sous-jacente.
Le format doit être disponible lors de la construction de QVideoFrame. QVideoFrame contiendra une instance du format donné, qui pourra être détachée et modifiée.
[pure virtual] QAbstractVideoBuffer::MapData QAbstractVideoBuffer::map(QVideoFrame::MapMode mode)
Mappage des plans d'un tampon vidéo dans la mémoire.
Renvoie une structure MapData qui contient des informations sur la disposition des plans des données vidéo actuelles mappées. Si le mappage échoue, la méthode renvoie la structure par défaut. Pour les tampons de mémoire de l'unité centrale, les données sont considérées comme déjà mappées, de sorte que la fonction renvoie simplement la disposition des plans des données sous-jacentes préallouées.
La carte mode indique si le contenu de la mémoire mappée doit être lu et/ou écrit dans la mémoire tampon. Si le mode de mappage inclut le drapeau QVideoFrame::ReadOnly, la mémoire mappée sera remplie avec le contenu du tampon lors du mappage initial. Si le mode de mappage inclut l'indicateur QVideoFrame::WriteOnly, le contenu de la mémoire mappée éventuellement modifiée sera réécrit dans la mémoire tampon lorsqu'elle sera démappée.
Lorsque l'accès aux données n'est plus nécessaire, la fonction unmap est appelée pour libérer la mémoire mappée et éventuellement mettre à jour le contenu du tampon.
Si le format des données vidéo est multiplanaire, la méthode peut mapper l'ensemble des données de pixels comme un seul plan. Dans ce cas, le mappage d'une mémoire tampon avec QVideoFrame calculera des plans supplémentaires à partir de la ligne spécifiée du premier plan, de la hauteur de la trame et de la taille des données.
[virtual] void QAbstractVideoBuffer::unmap()
Libère la mémoire mappée par la fonction map().
Si la fonction MapMode comportait l'indicateur QVideoFrame::WriteOnly, le contenu actuel de la mémoire mappée sera réécrit dans la trame vidéo.
Pour les tampons vidéo de l'unité centrale, la fonction peut ne pas être remplacée. L'implémentation par défaut de unmap ne fait rien.
Voir aussi 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.