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 ` 함수를 호출하여 매핑된 메모리를 해제하고, 필요한 경우 버퍼 내용을 업데이트합니다.
비디오 데이터의 형식이 다중 평면(multiplanar)인 경우, 이 메서드는 전체 픽셀 데이터를 단일 평면으로 매핑할 수 있습니다. 이 경우, ` QVideoFrame `를 사용하여 버퍼를 매핑하면 첫 번째 평면의 지정된 라인 스트라이드, 프레임 높이 및 데이터 크기를 기반으로 추가 평면이 계산됩니다.
[virtual] void QAbstractVideoBuffer::unmap()
map() 함수로 매핑된 메모리를 해제합니다.
MapMode 에 QVideoFrame::WriteOnly 플래그가 포함된 경우, 이 함수는 매핑된 메모리의 현재 내용을 비디오 프레임으로 다시 기록합니다.
CPU 비디오 버퍼의 경우, 이 함수는 재정의될 수 없습니다. unmap 의 기본 구현은 아무 작업도 수행하지 않습니다.
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.