QAbstractVideoBuffer Class
La classe `QAbstractVideoBuffer` est une abstraction représentant des données vidéo. En savoir plus...
| 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 en interne une classe `QAbstractVideoBuffer` pour référencer un tampon de données vidéo. La création d’une sous-classe de `QAbstractVideoBuffer` vous permet de construire des images vidéo à partir de tampons préalloués ou statiques. La sous-classe peut contenir un tampon matériel et implémenter l’accès aux données en mappant le tampon à la mémoire du processeur.
Le contenu d'un tampon est accessible en mappant ce dernier en mémoire à l'aide de la fonction ` map()`, qui renvoie une structure contenant des informations sur la disposition des plans des données vidéo actuelles.
Voir également QVideoFrame, QVideoFrameFormat et QVideoFrame::MapMode.
Documentation des fonctions membres
[virtual noexcept] QAbstractVideoBuffer::~QAbstractVideoBuffer()
Supprime un tampon vidéo.
[pure virtual] QVideoFrameFormat QAbstractVideoBuffer::format() const
Récupère l'QVideoFrameFormat du tampon vidéo sous-jacent.
Le format doit être disponible lors de la création d'QVideoFrame. QVideoFrame contiendra une instance du format spécifié, qui pourra être détachée et modifiée.
[pure virtual] QAbstractVideoBuffer::MapData QAbstractVideoBuffer::map(QVideoFrame::MapMode mode)
Mappe les plans d’un tampon vidéo en mémoire.
Renvoie une structure ` MapData ` contenant 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 mémoire du processeur, les données sont considérées comme déjà mappées ; la fonction renvoie donc simplement la disposition des plans des données sous-jacentes préallouées.
La structure ` mode ` de mappage indique si le contenu de la mémoire mappée doit être lu à partir du tampon et/ou écrit dans celui-ci. Si le mode de mappage inclut l’indicateur ` 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é, sera réécrit dans le tampon lors du démappage.
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, le cas échéant, 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 en un seul plan. Dans ce cas, le mappage d’un tampon avec ` QVideoFrame ` calculera des plans supplémentaires à partir du pas de ligne spécifié du premier plan, de la hauteur de l’image 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 ` a été appelée avec le drapeau ` QVideoFrame::WriteOnly `, cette fonction réécrit le contenu actuel de la mémoire mappée dans la trame vidéo.
Pour les tampons vidéo du processeur, cette fonction ne peut pas être redéfinie. L’implémentation par défaut de unmap ne fait rien.
Voir également 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.