Класс QVideoSurfaceFormat
Класс QVideoSurfaceFormat определяет формат потока для поверхности видео-представления. Подробнее...
| Заголовок: | #include <QVideoSurfaceFormat> |
| qmake: | QT += multimedia |
Типы публичного доступа
| Перечисление | Direction { TopToBottom, BottomToTop } |
| Перечисление | YCbCrColorSpace { YCbCr_Undefined, YCbCr_BT601, YCbCr_BT709, YCbCr_xvYCC601, YCbCr_xvYCC709, YCbCr_JPEG } |
Функции публичного доступа
| QVideoSurfaceFormat(const QVideoSurfaceFormat &other) | |
| QVideoSurfaceFormat(const QSize &size, QVideoFrame::PixelFormat format, QAbstractVideoBuffer::HandleType type = QAbstractVideoBuffer::NoHandle) | |
| QVideoSurfaceFormat() | |
| QVideoSurfaceFormat & | operator=(const QVideoSurfaceFormat &other) |
| ~QVideoSurfaceFormat() | |
| int | frameHeight() const |
| qreal | frameRate() const |
| QSize | frameSize() const |
| int | frameWidth() const |
| QAbstractVideoBuffer::HandleType | handleType() const |
| bool | isMirrored() const |
| bool | isValid() const |
| QSize | pixelAspectRatio() const |
| QVideoFrame::PixelFormat | pixelFormat() const |
| QVariant | property(const char *name) const |
| QList<QByteArray> | propertyNames() const |
| QVideoSurfaceFormat::Direction | scanLineDirection() const |
| void | setFrameRate(qreal rate) |
| void | setFrameSize(const QSize &size) |
| void | setFrameSize(int width, int height) |
| void | setMirrored(bool mirrored) |
| void | setPixelAspectRatio(const QSize &ratio) |
| void | setPixelAspectRatio(int horizontal, int vertical) |
| void | setProperty(const char *name, const QVariant &value) |
| void | setScanLineDirection(QVideoSurfaceFormat::Direction direction) |
| void | setViewport(const QRect &viewport) |
| void | setYCbCrColorSpace(QVideoSurfaceFormat::YCbCrColorSpace space) |
| QSize | sizeHint() const |
| QRect | viewport() const |
| QVideoSurfaceFormat::YCbCrColorSpace | yCbCrColorSpace() const |
| bool | operator!=(const QVideoSurfaceFormat &other) const |
| bool | operator==(const QVideoSurfaceFormat &other) const |
Подробное описание
Поверхность видео отображает поток видеокадров. Формат поверхности описывает тип кадров и определяет, как они должны отображаться.
Основные свойства видеопотока, необходимые для настройки видеоповерхности, — это формат пикселей, задаваемый 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(const QVideoSurfaceFormat &other)
Создаёт копию other.
QVideoSurfaceFormat::QVideoSurfaceFormat(const QSize &size, QVideoFrame::PixelFormat format, QAbstractVideoBuffer::HandleType type = QAbstractVideoBuffer::NoHandle)
Создаёт описание потока, который получает буферы типа type с заданным размером кадра size и форматом пикселей format.
QVideoSurfaceFormat::QVideoSurfaceFormat()
Создаёт пустой формат видеопотока.
QVideoSurfaceFormat &QVideoSurfaceFormat::operator=(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::isMirrored() const
Возвращает true, если поверхность отражена относительно вертикальной оси. Это обычно необходимо для видеокадров, поступающих с передней камеры мобильного устройства.
Примечание: Отражение здесь отличается от QImage::mirrored, так как вертикально отражённое QImage будет отражено относительно оси x.
Функция была добавлена в Qt 5.11.
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
Возвращает список имён динамических свойств видеоформата.
QVideoSurfaceFormat::Direction QVideoSurfaceFormat::scanLineDirection() const
Возвращает направление сканирования строк.
См. также setScanLineDirection().
void QVideoSurfaceFormat::setFrameRate(qreal rate)
Устанавливает частоту кадров видеопотока в кадрах в секунду.
См. также frameRate().
void QVideoSurfaceFormat::setFrameSize(const QSize &size)
Устанавливает размер кадров в видеопотоке на size.
Это сбросит viewport() на заполнение всего кадра.
См. также frameSize().
void QVideoSurfaceFormat::setFrameSize(int width, int height)
Это перегруженная функция.
Устанавливает width и height кадров в видеопотоке.
Это сбросит viewport() на заполнение всего кадра.
void QVideoSurfaceFormat::setMirrored(bool mirrored)
Устанавливает, отражена ли поверхность относительно вертикальной оси. Это обычно необходимо для видеокадров, поступающих с передней камеры мобильного устройства. Значение по умолчанию — false.
Примечание: Отражение здесь отличается от QImage::mirrored, так как вертикально отражённое QImage будет отражено относительно оси x.
См. также isMirrored().
void QVideoSurfaceFormat::setPixelAspectRatio(const QSize &ratio)
Устанавливает соотношение сторон пикселей видеопотока.
См. также pixelAspectRatio().
void QVideoSurfaceFormat::setPixelAspectRatio(int horizontal, int vertical)
Это перегруженная функция.
Устанавливает значения horizontal и vertical соотношения сторон пикселей видеопотока.
void QVideoSurfaceFormat::setProperty(const char *name, const QVariant &value)
Устанавливает свойство видеоформата с именем name на значение value.
Попытка установить только для чтения свойство будет проигнорирована.
См. также property().
void QVideoSurfaceFormat::setScanLineDirection(QVideoSurfaceFormat::Direction direction)
Устанавливает направление сканирования строк.
См. также scanLineDirection().
void QVideoSurfaceFormat::setViewport(const QRect &viewport)
Устанавливает область просмотра видеопотока на viewport.
См. также viewport().
void QVideoSurfaceFormat::setYCbCrColorSpace(QVideoSurfaceFormat::YCbCrColorSpace space)
Устанавливает цветовое пространство Y'CbCr space видеопотока. Используется только с типами кадров YUV.
См. также yCbCrColorSpace().
QSize QVideoSurfaceFormat::sizeHint() const
Возвращает рекомендуемый размер видеопотока в пикселях.
Это размер области просмотра, масштабированный в соответствии с соотношением сторон пикселей.
QRect QVideoSurfaceFormat::viewport() const
Возвращает область просмотра видеопотока.
Область просмотра — это область видеокадра, которая фактически отображается.
По умолчанию область просмотра охватывает весь кадр.
См. также setViewport().
QVideoSurfaceFormat::YCbCrColorSpace QVideoSurfaceFormat::yCbCrColorSpace() const
Возвращает цветовое пространство Y'CbCr видеопотока.
См. также setYCbCrColorSpace().
bool QVideoSurfaceFormat::operator!=(const QVideoSurfaceFormat &other) const
Возвращает true, если other отличается от данного видеоформата, и false, если они одинаковы.
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.14/qvideosurfaceformat.html