Spec-Zone.ru › Qt

Класс QVideoFrameFormat

Класс QVideoFrameFormat задаёт формат потока поверхности видеопредставления. Подробнее...

Заголовок: #include <QVideoFrameFormat>
CMake: find_package(Qt6 COMPONENTS Multimedia REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::Multimedia)
qmake: QT += multimedia
  • Список всех членов, включая унаследованные

Открытые типы

Перечисление Direction { TopToBottom, BottomToTop }
Перечисление PixelFormat { Format_Invalid, Format_ARGB8888, Format_ARGB8888_Premultiplied, Format_XRGB8888, Format_BGRA8888, …, Format_SamplerRect }
Перечисление YCbCrColorSpace { YCbCr_Undefined, YCbCr_BT601, YCbCr_BT709, YCbCr_xvYCC601, YCbCr_xvYCC709, YCbCr_JPEG }

Открытые функции

QVideoFrameFormat(QVideoFrameFormat &&other)
QVideoFrameFormat(const QVideoFrameFormat &other)
QVideoFrameFormat(const QSize &size, QVideoFrameFormat::PixelFormat format)
QVideoFrameFormat()
QVideoFrameFormat & operator=(const QVideoFrameFormat &other)
QVideoFrameFormat & operator=(QVideoFrameFormat &&other)
~QVideoFrameFormat()
int frameHeight() const
qreal frameRate() const
QSize frameSize() const
int frameWidth() const
bool isMirrored() const
bool isValid() const
QVideoFrameFormat::PixelFormat pixelFormat() const
int planeCount() const
QVideoFrameFormat::Direction scanLineDirection() const
void setFrameRate(qreal rate)
void setFrameSize(const QSize &size)
void setFrameSize(int width, int height)
void setMirrored(bool mirrored)
void setScanLineDirection(QVideoFrameFormat::Direction direction)
void setViewport(const QRect &viewport)
void setYCbCrColorSpace(QVideoFrameFormat::YCbCrColorSpace space)
QRect viewport() const
QVideoFrameFormat::YCbCrColorSpace yCbCrColorSpace() const
bool operator!=(const QVideoFrameFormat &other) const
bool operator==(const QVideoFrameFormat &other) const

Статические открытые члены

QImage::Format imageFormatFromPixelFormat(QVideoFrameFormat::PixelFormat format)
QVideoFrameFormat::PixelFormat pixelFormatFromImageFormat(QImage::Format format)
QString pixelFormatToString(QVideoFrameFormat::PixelFormat pixelFormat)

Подробное описание

Видеоприёмник представляет поток видеокадров. QVideoFrameFormat описывает тип кадров и определяет, как они должны быть представлены.

Основные свойства видеопотока, необходимые для настройки видеоприёмника, — это формат пикселей, задаваемый методом pixelFormat(), и размеры кадра, задаваемые методом frameSize().

Область кадра, которая фактически отображается на поверхности видео, задаётся свойством viewport(). Поток может иметь область просмотра меньше всего кадра, чтобы разрешить видео, меньшее, чем ближайший оптимальный размер видеокадра. Например, ширина кадра может быть расширена, чтобы начало каждой строки сканирования было выровнено по восьми байтам.

Другие распространённые свойства — это scanLineDirection(), frameRate() и yCrCbColorSpace().

Документация по типам членов

Перечисление QVideoFrameFormat::Direction

Перечисляет направление расположения строк сканирования видео.

Постоянная Значение Описание
QVideoFrameFormat::TopToBottom 0 Строки сканирования расположены сверху вниз.
QVideoFrameFormat::BottomToTop 1 Строки сканирования расположены снизу вверх.

Перечисление QVideoFrameFormat::PixelFormat

Перечисляет типы данных видео.

Постоянная Значение Описание
QVideoFrameFormat::Format_Invalid 0 Кадр недействителен.
QVideoFrameFormat::Format_ARGB8888 1 Кадр хранится в формате ARGB с 8 битами на компонент.
QVideoFrameFormat::Format_ARGB8888_Premultiplied 2 Кадр хранится в предварительно умноженном формате ARGB с 8 битами на компонент.
QVideoFrameFormat::Format_XRGB8888 3 Кадр хранится в формате RGB с 32 битами на пиксель (0xff, R, G, B).
QVideoFrameFormat::Format_BGRA8888 4 Кадр хранится в формате 32-битного BGRA (0xBBGGRRAA).
QVideoFrameFormat::Format_BGRA8888_Premultiplied 5 Кадр хранится в предварительно умноженном 32-битном формате BGRA.
QVideoFrameFormat::Format_ABGR8888 7 Кадр хранится в 32-битном формате ABGR (0xAABBGGRR).
QVideoFrameFormat::Format_XBGR8888 8 Кадр хранится в 32-битном формате BGR (0xffBBGGRR).
QVideoFrameFormat::Format_RGBA8888 9 Кадр хранится в памяти как байты R, G, B, A/X, где R находится по наименьшему адресу, а A/X — по наибольшему.
QVideoFrameFormat::Format_BGRX8888 6 Кадр хранится в формате 32-битного BGRx, [31:0] B:G:R:x 8:8:8:8 little endian
QVideoFrameFormat::Format_RGBX8888 10 Кадр хранится в памяти как байты R, G, B, A/X, где R находится по наименьшему адресу, а A/X — по наибольшему.
QVideoFrameFormat::Format_AYUV 11 Кадр хранится в упакованном 32-битном формате AYUV (0xAAYYUUVV).
QVideoFrameFormat::Format_AYUV_Premultiplied 12 Кадр хранится в предварительно умноженном упакованном 32-битном формате AYUV (0xAAYYUUVV).
QVideoFrameFormat::Format_YUV420P 13 Кадр хранится в формате с планами YUV с 8 битами на компонент, при этом планы U и V горизонтально и вертикально субдискретизированы, т.е. высота и ширина планов U и V вдвое меньше, чем у плана Y.
QVideoFrameFormat::Format_YUV422P 14 Кадр хранится в формате с планами YUV с 8 битами на компонент, при этом планы U и V горизонтально субдискретизированы (ширина планов U и V вдвое меньше, чем у плана Y), а высота планов U и V такая же, как у Y.
QVideoFrameFormat::Format_YV12 15 Кадр хранится в формате с планами YVU с 8 битами на компонент, при этом планы V и U горизонтально и вертикально субдискретизированы, т.е. высота и ширина планов V и U вдвое меньше, чем у плана Y.
QVideoFrameFormat::Format_UYVY 16 Кадр хранится в упакованном формате YUV с 8 битами на компонент, при этом планы U и V горизонтально субдискретизированы (U-Y-V-Y), т.е. два горизонтально смежных пикселя хранятся как 32-битный макропиксель, содержащий значение Y для каждого пикселя и общие значения U и V.
QVideoFrameFormat::Format_YUYV 17 Кадр хранится в упакованном формате YUV с 8 битами на компонент, при этом планы U и V горизонтально субдискретизированы (Y-U-Y-V), т.е. два горизонтально смежных пикселя хранятся как 32-битный макропиксель, содержащий значение Y для каждого пикселя и общие значения U и V.
QVideoFrameFormat::Format_NV12 18 Кадр хранится в полуплоскостном формате YUV с 8 битами на компонент с планом Y, за которым следует горизонтально и вертикально субдискретизированный, упакованный план UV (U-V).
QVideoFrameFormat::Format_NV21 19 Кадр хранится в полуплоскостном формате YUV с 8 битами на компонент с планом Y, за которым следует горизонтально и вертикально субдискретизированный, упакованный план VU (V-U).
QVideoFrameFormat::Format_IMC1 20 Кадр хранится в формате с планами YUV с 8 битами на компонент, при этом планы U и V горизонтально и вертикально субдискретизированы. Это аналогично типу Format_YUV420P, за исключением того, что байты на строке планов U и V дополняются до того же выравнивания, что и у плана Y.
QVideoFrameFormat::Format_IMC2 21 Кадр хранится в формате с планами YUV с 8 битами на компонент, при этом планы U и V горизонтально и вертикально субдискретизированы. Это аналогично типу Format_YUV420P, за исключением того, что строки планов U и V чередуются, т.е. каждая строка данных U следует за строкой данных V, образуя одну строку с таким же выравниванием, как и данные Y.
QVideoFrameFormat::Format_IMC3 22 Кадр хранится в формате с планами YVU с 8 битами на компонент, при этом планы V и U горизонтально и вертикально субдискретизированы. Это аналогично типу Format_YV12, за исключением того, что байты на строке планов V и U дополняются до того же выравнивания, что и у плана Y.
QVideoFrameFormat::Format_IMC4 23 Кадр хранится в формате с планами YVU с 8 битами на компонент, при этом планы V и U горизонтально и вертикально субдискретизированы. Это аналогично типу Format_YV12, за исключением того, что строки планов V и U чередуются, т.е. каждая строка данных V следует за строкой данных U, образуя одну строку с таким же выравниванием, как и данные Y.
QVideoFrameFormat::Format_P010 26 Кадр хранится в полуплоскостном формате YUV с 16 битами на компонент с планом Y, за которым следует горизонтально и вертикально субдискретизированный, упакованный план UV (U-V). Используются только 10 наиболее значимых битов каждой компоненты.
QVideoFrameFormat::Format_P016 27 Кадр хранится в полуплоскостном формате YUV с 16 битами на компонент с планом Y, за которым следует горизонтально и вертикально субдискретизированный, упакованный план UV (U-V).
QVideoFrameFormat::Format_Y8 24 Кадр хранится в 8-битном серотоновом формате.
QVideoFrameFormat::Format_Y16 25 Кадр хранится в 16-битном линейном серотоновом формате. Little endian.
QVideoFrameFormat::Format_Jpeg 29 Кадр хранится в сжатом формате JPEG.
QVideoFrameFormat::Format_SamplerExternalOES 28 Кадр хранится во внешнем формате текстуры OES.
QVideoFrameFormat::Format_SamplerRect 30 Кадр хранится в формате прямоугольной текстуры.

Перечисление QVideoFrameFormat::YCbCrColorSpace

Перечисляет цветовое пространство Y'CbCr видеокадров.

Постоянная Значение Описание
QVideoFrameFormat::YCbCr_Undefined 0 Цветовое пространство не указано.
QVideoFrameFormat::YCbCr_BT601 1 Цветовое пространство Y'CbCr, определенное рекомендацией ITU-R BT.601, с диапазоном значений Y от 16 до 235 и диапазоном Cb/Cr от 16 до 240. Используется в видео стандартного разрешения.
QVideoFrameFormat::YCbCr_BT709 2 Цветовое пространство Y'CbCr, определенное рекомендацией ITU-R BT.709, с тем же диапазоном значений, что и YCbCr_BT601. Используется для HDTV.
QVideoFrameFormat::YCbCr_xvYCC601 3 Цветовое пространство BT.601 с расширенным диапазоном значений до 0 до 255. Совместимо со стандартом BT.601 и использует значения за пределами диапазона BT.601 для представления более широкого набора цветов.
QVideoFrameFormat::YCbCr_xvYCC709 4 Цветовое пространство BT.709 с расширенным диапазоном значений до 0 до 255.
QVideoFrameFormat::YCbCr_JPEG 5 Полное цветовое пространство Y'CbCr, используемое в файлах JPEG.

Документация по функциям-членам

QVideoFrameFormat::QVideoFrameFormat(QVideoFrameFormat &&other)

Создает QVideoFrameFormat, перемещая данные из other.

QVideoFrameFormat::QVideoFrameFormat(const QVideoFrameFormat &other)

Создает копию other.

QVideoFrameFormat::QVideoFrameFormat(const QSize &size, QVideoFrameFormat::PixelFormat format)

Создает видеопоток с заданным размером кадра size и форматом пикселей format.

QVideoFrameFormat::QVideoFrameFormat()

Создаёт формат видеопотока по умолчанию.

QVideoFrameFormat &QVideoFrameFormat::operator=(const QVideoFrameFormat &other)

Присваивает значения объекта other текущему объекту.

QVideoFrameFormat &QVideoFrameFormat::operator=(QVideoFrameFormat &&other)

Перемещает значения объекта other в текущий объект QVideoFrameFormat.

QVideoFrameFormat::~QVideoFrameFormat()

Удаляет описание видеопотока.

int QVideoFrameFormat::frameHeight() const

Возвращает высоту кадра в видеопотоке.

qreal QVideoFrameFormat::frameRate() const

Возвращает частоту кадров видеопотока в кадрах в секунду.

См. также setFrameRate().

QSize QVideoFrameFormat::frameSize() const

Возвращает размеры кадров в видеопотоке.

См. также setFrameSize(), frameWidth() и frameHeight().

int QVideoFrameFormat::frameWidth() const

Возвращает ширину кадров в видеопотоке.

См. также frameSize() и frameHeight().

[static] QImage::Format QVideoFrameFormat::imageFormatFromPixelFormat(QVideoFrameFormat::PixelFormat format)

Возвращает формат изображения, эквивалентный пиксельному формату видеокадра format. Если эквивалентного формата нет, возвращается QImage::Format_Invalid.

Примечание: QImage обычно не поддерживает YUV-форматы.

bool QVideoFrameFormat::isMirrored() const

Возвращает true, если поверхность отражена относительно вертикальной оси. Это обычно необходимо для видеокадров, получаемых с передней камеры мобильного устройства.

Примечание: Отражение здесь отличается от QImage::mirrored, так как вертикально отражённое изображение QImage будет отражено относительно оси x.

bool QVideoFrameFormat::isValid() const

Определяет, имеет ли формат видеоповерхности допустимый пиксельный формат и размер кадра.

Возвращает true, если формат действителен, и false в противном случае.

QVideoFrameFormat::PixelFormat QVideoFrameFormat::pixelFormat() const

Возвращает пиксельный формат кадров в видеопотоке.

[static] QVideoFrameFormat::PixelFormat QVideoFrameFormat::pixelFormatFromImageFormat(QImage::Format format)

Возвращает эквивалентный пиксельный формат видео для формата изображения format. Если эквивалентного формата нет, возвращается QVideoFrameFormat::Format_Invalid.

Примечание: QImage обычно не поддерживает YUV-форматы.

[static] QString QVideoFrameFormat::pixelFormatToString(QVideoFrameFormat::PixelFormat pixelFormat)

Возвращает строковое представление заданного пиксельного формата pixelFormat.

int QVideoFrameFormat::planeCount() const

Возвращает количество планов, используемых в формате. Это число зависит от пиксельного формата и равно 1 для форматов на основе RGB, а для форматов на основе YUV находится в диапазоне от 1 до 3.

QVideoFrameFormat::Direction QVideoFrameFormat::scanLineDirection() const

Возвращает направление сканирования строк.

См. также setScanLineDirection().

void QVideoFrameFormat::setFrameRate(qreal rate)

Устанавливает частоту кадров видеопотока в кадрах в секунду.

См. также frameRate().

void QVideoFrameFormat::setFrameSize(const QSize &size)

Устанавливает размер кадров в видеопотоке в size.

Это сбросит viewport() на заполнение всего кадра.

См. также frameSize().

void QVideoFrameFormat::setFrameSize(int width, int height)

Это перегруженный метод.

Устанавливает ширину и высоту кадров в видеопотоке.

Это сбросит viewport() на заполнение всего кадра.

void QVideoFrameFormat::setMirrored(bool mirrored)

Устанавливает, отражена ли поверхность относительно вертикальной оси. Обычно используется для видеокадров, полученных с передней камеры мобильного устройства. Значение по умолчанию - false.

Примечание: Отражение здесь отличается от QImage::mirrored, так как вертикально отражённое изображение QImage будет отражено относительно оси x.

См. также isMirrored().

void QVideoFrameFormat::setScanLineDirection(QVideoFrameFormat::Direction direction)

Устанавливает направление сканирования строк.

См. также scanLineDirection().

void QVideoFrameFormat::setViewport(const QRect &viewport)

Устанавливает область просмотра видеопотока в viewport.

См. также viewport().

void QVideoFrameFormat::setYCbCrColorSpace(QVideoFrameFormat::YCbCrColorSpace space)

Устанавливает цветовое пространство Y'CbCr видеопотока. Используется только с сырыми YUV-кадрами.

См. также yCbCrColorSpace().

QRect QVideoFrameFormat::viewport() const

Возвращает область просмотра видеопотока.

Область просмотра — это область видеокадра, которая отображается.

По умолчанию область просмотра охватывает весь кадр.

См. также setViewport().

QVideoFrameFormat::YCbCrColorSpace QVideoFrameFormat::yCbCrColorSpace() const

Возвращает цветовое пространство Y'CbCr видеопотока.

См. также setYCbCrColorSpace().

bool QVideoFrameFormat::operator!=(const QVideoFrameFormat &other) const

Возвращает true, если other отличается от текущего формата видео, и false, если они совпадают.

bool QVideoFrameFormat::operator==(const QVideoFrameFormat &other) const

Возвращает true, если other совпадает с текущим форматом видео, и false, если они отличаются.

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.2/qvideoframeformat.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API