QAbstractVideoBuffer Class
QAbstractVideoBufferクラスは、ビデオデータを抽象化したものです。詳細...
ヘッダー | #include <QAbstractVideoBuffer> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Multimedia) target_link_libraries(mytarget PRIVATE Qt6::Multimedia) |
qmake: | QT += multimedia |
以来: | Qt 6.8 |
パブリックな型
struct | MapData |
パブリック関数
virtual | ~QAbstractVideoBuffer() |
virtual QVideoFrameFormat | format() const = 0 |
virtual QAbstractVideoBuffer::MapData | map(QVideoFrame::MapMode mode) = 0 |
virtual void | unmap() |
詳細説明
QVideoFrame クラスは、内部的に QAbstractVideoBuffer を使用して、ビデオ データのバッファを参照します。QAbstractVideoBuffer のサブクラスを作成すると、事前に割り当てられたバッファまたは静的バッファからビデオ フレームを構築できます。サブクラスにはハードウェア・バッファを含めることができ、バッファをCPUメモリにマッピングすることでデータへのアクセスを実装します。
バッファの内容は、map ()関数を使用してバッファをメモリにマッピングすることでアクセスできます。 ()関数は、現在のビデオデータの平面レイアウトに関する情報を含む構造体を返します。
QVideoFrame 、QVideoFrameFormat 、QVideoFrame::MapModeも参照のこと 。
メンバ関数ドキュメント
[virtual noexcept]
QAbstractVideoBuffer::~QAbstractVideoBuffer()
ビデオバッファを破壊する。
[pure virtual]
QVideoFrameFormat QAbstractVideoBuffer::format() const
基礎となるビデオバッファのQVideoFrameFormat を取得する。
QVideoFrame QVideoFrame は、切り離したり変更したりできる、指定されたフォーマットのインスタンスを含みます。
[pure virtual]
QAbstractVideoBuffer::MapData QAbstractVideoBuffer::map(QVideoFrame::MapMode mode)
ビデオバッファのプレーンをメモリにマッピングする。
マップされた現在のビデオ・データのプレーン・レイアウトに関する情報を含むMapData 構造体を返す。マッピングに失敗した場合、このメソッドはデフォルトの構造体を返す。CPU メモリ バッファの場合、データはすでにマップされていると見なされるため、この関数は、事前に割り当てられた基礎データのプレーン レイアウトを返すだけです。
マップmode は、マップされたメモリの内容をバッファから読み込んだりバッファに書き込んだりするかどうかを示します。マップモードにQVideoFrame::ReadOnly
フラグが含まれている場合、マップされたメモリは、最初にマップされたときにバッファの内容で満たされます。マップモードにQVideoFrame::WriteOnly
フラグが含まれている場合、マップが解除されると、変更された可能性のあるマップされたメモリの内容がバッファに書き戻される。
データへのアクセスが不要になると、unmap 関数が呼び出され、マップされたメモリが解放され、バッファの内容が更新されます。
ビデオデータのフォーマットがマルチプレーンである場合、このメソッドはピクセルデータ全体を単一プレーンとしてマッピングすることができます。この場合、QVideoFrame でバッファをマッピングすると、最初のプレーンの指定されたラインストライド、フレームの高さ、およびデータサイズから追加のプレーンが計算されます。
[virtual]
void QAbstractVideoBuffer::unmap()
map() 関数によってマップされたメモリを解放する。
MapMode にQVideoFrame::WriteOnly
フラグが含まれていた場合、マップされたメモリの現在の内容がビデオフレームに書き戻される。
CPUビデオバッファの場合、この関数はオーバーライドされない。unmap
のデフォルト実装は何もしない。
map()も参照のこと 。
© 2025 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.