Класс QVideoSurfaceFormat
Класс QVideoSurfaceFormat определяет формат потока поверхности видеопрезентации. Подробнее...
| Заголовок: | #include <QVideoSurfaceFormat> |
| qmake: | QT += multimedia |
Типы публичного доступа
| перечисление | Direction { TopToBottom, BottomToTop } |
| перечисление | YCbCrColorSpace { YCbCr_Undefined, YCbCr_BT601, YCbCr_BT709, YCbCr_xvYCC601, YCbCr_xvYCC709, YCbCr_JPEG } |
Функции публичного доступа
| QVideoSurfaceFormat() | |
| QVideoSurfaceFormat(const QSize &size, QVideoFrame::PixelFormat format, QAbstractVideoBuffer::HandleType type = QAbstractVideoBuffer::NoHandle) | |
| QVideoSurfaceFormat(const QVideoSurfaceFormat &other) | |
| ~QVideoSurfaceFormat() | |
| int | frameHeight() const |
| qreal | frameRate() const |
| QSize | frameSize() const |
| int | frameWidth() const |
| QAbstractVideoBuffer::HandleType | handleType() const |
| bool | isValid() const |
| QSize | pixelAspectRatio() const |
| QVideoFrame::PixelFormat | pixelFormat() const |
| QVariant | property(const char *name) const |
| QList<QByteArray> | propertyNames() const |
| Direction | scanLineDirection() const |
| void | setFrameRate(qreal rate) |
| void | setFrameSize(const QSize &size) |
| void | setFrameSize(int width, int height) |
| void | setPixelAspectRatio(const QSize &ratio) |
| void | setPixelAspectRatio(int horizontal, int vertical) |
| void | setProperty(const char *name, const QVariant &value) |
| void | setScanLineDirection(Direction direction) |
| void | setViewport(const QRect &viewport) |
| void | setYCbCrColorSpace(YCbCrColorSpace space) |
| QSize | sizeHint() const |
| QRect | viewport() const |
| YCbCrColorSpace | yCbCrColorSpace() const |
| bool | operator!=(const QVideoSurfaceFormat &other) const |
| QVideoSurfaceFormat & | operator=(const QVideoSurfaceFormat &other) |
| bool | operator==(const QVideoSurfaceFormat &other) const |
Подробное описание
Класс QVideoSurfaceFormat определяет формат потока поверхности видеопрезентации.
Поверхность видео отображает поток видеокадров. Формат поверхности описывает тип кадров и определяет, как они должны отображаться.
Основные свойства видеопотока, необходимые для настройки поверхности видео, — это формат пикселей, задаваемый функцией pixelFormat(), и размеры кадра, задаваемые функцией frameSize().
Если поверхность должна отображать кадры с использованием дескриптора кадра, формат поверхности также будет включать тип дескриптора, который предоставляется функцией handleType().
Область кадра, которая фактически отображается на поверхности видео, задаётся свойством viewport(). Поток может иметь область просмотра меньше всего кадра, чтобы разрешить видео меньше, чем ближайший оптимальный размер кадра видео. Например, ширина кадра может быть расширена, чтобы начало каждой строки сканирования было выровнено по восьми байтам.
Другие общие свойства — это pixelAspectRatio(), scanLineDirection() и frameRate(). Кроме того, поток может иметь некоторые дополнительные свойства, специфичные для типа, которые перечислены функцией dynamicPropertyNames() и к которым можно получить доступ с помощью функций property() и setProperty().
Документация по типам членов
перечисление QVideoSurfaceFormat::Direction
Перечисляет направление расположения строк сканирования видео.
| Постоянная | Значение | Описание |
|---|---|---|
QVideoSurfaceFormat::TopToBottom |
0 |
Строки сканирования располагаются сверху вниз. |
QVideoSurfaceFormat::BottomToTop |
1 |
Строки сканирования располагаются снизу вверх. |
перечисление QVideoSurfaceFormat::YCbCrColorSpace
Перечисляет цветовое пространство Y'CbCr видеокадров.
| Постоянная | Значение | Описание |
|---|---|---|
QVideoSurfaceFormat::YCbCr_Undefined |
0 |
Цветовое пространство не указано. |
QVideoSurfaceFormat::YCbCr_BT601 |
1 |
Цветовое пространство Y'CbCr, определённое рекомендацией ITU-R BT.601, с диапазоном значений Y от 16 до 235 и диапазоном значений Cb/Cr от 16 до 240. Используется в видео стандартного разрешения. |
QVideoSurfaceFormat::YCbCr_BT709 |
2 |
Цветовое пространство Y'CbCr, определённое рекомендацией ITU-R BT.709, с тем же диапазоном значений, что и YCbCr_BT601. Используется для HDTV. |
QVideoSurfaceFormat::YCbCr_xvYCC601 |
3 |
Цветовое пространство BT.601 с расширенным диапазоном значений до 0-255. Обратно совместимо с BT.601 и использует значения за пределами диапазона BT.601 для представления более широкого диапазона цветов. |
QVideoSurfaceFormat::YCbCr_xvYCC709 |
4 |
Цветовое пространство BT.709 с расширенным диапазоном значений до 0-255. |
QVideoSurfaceFormat::YCbCr_JPEG |
5 |
Полный диапазон цветового пространства Y'CbCr, используемый в файлах JPEG. |
Документация по функциям членов
QVideoSurfaceFormat::QVideoSurfaceFormat()
Создаёт формат видеопотока по умолчанию.
QVideoSurfaceFormat::QVideoSurfaceFormat(const QSize &size, QVideoFrame::PixelFormat format, QAbstractVideoBuffer::HandleType type = QAbstractVideoBuffer::NoHandle)
Создаёт описание потока, который получает буферы типа type с заданным размером кадра size и форматом пикселей format.
QVideoSurfaceFormat::QVideoSurfaceFormat(const QVideoSurfaceFormat &other)
Создаёт копию other.
QVideoSurfaceFormat::~QVideoSurfaceFormat()
Уничтожает описание видеопотока.
int QVideoSurfaceFormat::frameHeight() const
Возвращает высоту кадра в видеопотоке.
qreal QVideoSurfaceFormat::frameRate() const
Возвращает частоту кадров видеопотока в кадрах в секунду.
См. также setFrameRate().
QSize QVideoSurfaceFormat::frameSize() const
Возвращает размеры кадров в видеопотоке.
См. также setFrameSize(), frameWidth() и frameHeight().
int QVideoSurfaceFormat::frameWidth() const
Возвращает ширину кадров в видеопотоке.
См. также frameSize() и frameHeight().
QAbstractVideoBuffer::HandleType QVideoSurfaceFormat::handleType() const
Возвращает тип дескриптора, используемого поверхностью для представления данных кадра.
Если тип дескриптора QAbstractVideoBuffer::NoHandle, буферы с любым типом дескриптора допустимы, при условии, что они могут быть отображены с флагом QAbstractVideoBuffer::ReadOnly. Если handleType() не равно QAbstractVideoBuffer::NoHandle, то тип дескриптора буфера должен совпадать с типом дескриптора формата поверхности.
bool QVideoSurfaceFormat::isValid() const
Определяет, имеет ли формат видеоповерхности допустимый формат пикселей и размер кадра.
Возвращает true, если формат допустим, и false в противном случае.
QSize QVideoSurfaceFormat::pixelAspectRatio() const
Возвращает соотношение сторон пикселей видеопотока.
См. также setPixelAspectRatio().
QVideoFrame::PixelFormat QVideoSurfaceFormat::pixelFormat() const
Возвращает формат пикселей кадров в видеопотоке.
QVariant QVideoSurfaceFormat::property(const char *name) const
Возвращает значение свойства видеоформата с именем name.
См. также setProperty().
QList<QByteArray> QVideoSurfaceFormat::propertyNames() const
Возвращает список имён динамических свойств видеоформата.
Direction QVideoSurfaceFormat::scanLineDirection() const
Возвращает направление сканирования строк.
См. также setScanLineDirection().
void QVideoSurfaceFormat::setFrameRate(qreal rate)
Устанавливает частоту кадров rate видеопотока в кадрах в секунду.
См. также frameRate().
void QVideoSurfaceFormat::setFrameSize(const QSize &size)
Устанавливает размер кадров в видеопотоке на size.
Это сбросит viewport() для заполнения всего кадра.
См. также frameSize().
void QVideoSurfaceFormat::setFrameSize(int width, int height)
Это перегруженный метод.
Устанавливает width и height кадров в видеопотоке.
Это сбросит viewport() для заполнения всего кадра.
void QVideoSurfaceFormat::setPixelAspectRatio(const QSize &ratio)
Устанавливает соотношение сторон пикселей видеопотока ratio.
См. также pixelAspectRatio().
void QVideoSurfaceFormat::setPixelAspectRatio(int horizontal, int vertical)
Это перегруженный метод.
Устанавливает горизонтальную и вертикальную компоненты соотношения сторон пикселей видеопотока.
void QVideoSurfaceFormat::setProperty(const char *name, const QVariant &value)
Устанавливает свойство видеоформата с именем name на значение value.
Попытка установить только для чтения свойство будет проигнорирована.
См. также property().
void QVideoSurfaceFormat::setScanLineDirection(Direction direction)
Устанавливает направление сканирования строк direction.
См. также scanLineDirection().
void QVideoSurfaceFormat::setViewport(const QRect &viewport)
Устанавливает область отображения видеопотока на viewport.
См. также viewport().
void QVideoSurfaceFormat::setYCbCrColorSpace(YCbCrColorSpace space)
Устанавливает цветовое пространство Y'CbCr space видеопотока. Используется только с сырыми типами кадров YUV.
См. также yCbCrColorSpace().
QSize QVideoSurfaceFormat::sizeHint() const
Возвращает рекомендуемый размер в пикселях для видеопотока.
Это размер области отображения, масштабированный в соответствии с соотношением сторон пикселей.
QRect QVideoSurfaceFormat::viewport() const
Возвращает область отображения видеопотока.
Область отображения — это область кадра видео, которая фактически отображается.
По умолчанию область отображения охватывает весь кадр.
См. также setViewport().
YCbCrColorSpace QVideoSurfaceFormat::yCbCrColorSpace() const
Возвращает цветовое пространство Y'CbCr видеопотока.
См. также setYCbCrColorSpace().
bool QVideoSurfaceFormat::operator!=(const QVideoSurfaceFormat &other) const
Возвращает true, если other отличается от данного формата видео, и false, если они совпадают.
QVideoSurfaceFormat &QVideoSurfaceFormat::operator=(const QVideoSurfaceFormat &other)
Присваивает значения other этому объекту.
bool QVideoSurfaceFormat::operator==(const QVideoSurfaceFormat &other) const
Возвращает true, если other совпадает с данным форматом видео, и false, если они различаются.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.9/qvideosurfaceformat.html