Класс 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.
Эта функция была добавлена в Qt 5.11.
См. также 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.13/qvideosurfaceformat.html