Класс 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 | 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 |
| QVideoSurfaceFormat & | operator=(const QVideoSurfaceFormat &other) |
| bool | operator==(const QVideoSurfaceFormat &other) const |
Подробное описание
Класс QVideoSurfaceFormat определяет формат потока видео-представления поверхности.
Поверхность видео отображает поток кадров видео. Формат поверхности описывает тип кадров и определяет, как они должны отображаться.
Основные свойства потока видео, необходимые для настройки поверхности видео, — это формат пикселей, задаваемый функцией pixelFormat(), и размеры кадра, задаваемые функцией frameSize().
Если поверхность предназначена для отображения кадров с использованием дескриптора кадра, формат поверхности также будет включать тип дескриптора, который задаётся функцией handleType().
Область кадра, которая фактически отображается на поверхности видео, задаётся функцией viewport(). Поток может иметь область просмотра меньше всей области кадра, чтобы позволить отображать видео, размер которого меньше ближайшего оптимального размера кадра видео. Например, ширина кадра может быть расширена, чтобы начало каждой строки сканирования было кратно восьми байтам.
Другие распространённые свойства — это pixelAspectRatio(), scanLineDirection() и frameRate(). Кроме того, поток может иметь некоторые дополнительные свойства, специфичные для типа, которые перечислены функцией dynamicPropertyNames() и к которым можно получить доступ с помощью функций property() и setProperty().
Документация типов членов
enum QVideoSurfaceFormat::Direction
Перечисляет направление расположения строк сканирования видео.
| Постоянная | Значение | Описание |
|---|---|---|
QVideoSurfaceFormat::TopToBottom |
0 |
Строки сканирования расположены сверху вниз. |
QVideoSurfaceFormat::BottomToTop |
1 |
Строки сканирования расположены снизу вверх. |
enum 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::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)
Это перегруженная функция.
Устанавливает ширину и высоту кадров в видеопотоке.
Это сбросит 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)
Это перегруженная функция.
Устанавливает горизонтальную и вертикальную составляющие соотношения сторон пикселей видеопотока.
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 видеопотока. Используется только с сырыми типами кадров 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, если они одинаковые.
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.12/qvideosurfaceformat.html