Документация
ОС Аврора 5.1.0

Класс Aurora::StreamCamera::VideoDecoder

Видеодекодер. Подробнее…

Подключение: #include <streamcamera.h>

Публичные функции

~VideoDecoder() = default
bool decode(const uint8_t * data,size_t size, uint64_t timestampUs, FrameType frameType, void(*)(void *) releaseCallback, void * releaseCallbackData)
void drain()
void flush()
std::string getParameter(VideoDecoderParameter param) const
std::string getParameterRange(VideoDecoderParameter param) const
std::vector< PixelFormat > getSupportedPixelFormats()
bool init(VideoDecoderMetadata metadata)
void setListener(VideoDecoderListener * listener)
bool setParameter(VideoDecoderParameter param, const std::string & value)
void stop()

Защищенные данные

VideoDecoderListener* m_decoderListener

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

Видеодекодер.

Деструктор

~VideoDecoder() = default

Описание методов

bool decode(const uint8_t * data,size_t size, uint64_t timestampUs, FrameType frameType, void(*)(void *) releaseCallback, void * releaseCallbackData)

Декодирует видеокадр.

Может блокировать, если очередь кодеков заполнена, поэтому может вызываться из отдельного потока.

Аргументы

  • [in] data — указатель на закодированный видеоблок.
  • [in] size — размер закодированного видеоблока.
  • [in] timestampUs — временная метка видеокадра.
  • [in] releaseCallback — метод вызывается, когда данные в памяти больше не нужны.
  • [in] releaseCallbackData — параметр releaseCallback.

void drain()

Сбрасывает очередь видеодекодера.

void flush()

Очищает очередь видеодекодера.

std::string getParameter(VideoDecoderParameter param) const

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

Аргументы

  • [in] param — индекс параметра.

Возвращает

Синтаксис возвращаемого значения для getParameter():

  • "v";
  • "(x,y,w,h)" для прямоугольника;
  • пустая строка, если возникает ошибка.

std::string getParameterRange(VideoDecoderParameter param) const

Возвращает возможные значения параметра.

Аргументы

  • [in] param — индекс параметра.

Возвращает

Синтаксис возвращаемого значения:

  • "v1,v2,v3" для возможного набора значений, например "1,2" или "false,true";
  • "v1-v10" для непрерывного значения, например "1-10" или "0,0-1,0" для значений с плавающей точкой;
  • "v1,v2-v10" для дискретного значения;
  • "-" для значения только для чтения;
  • "x" для прямоугольника (значение "(x,y,w,h)");
  • пустая строка, если возникает ошибка.

См. также

Camera::getParameterRange

std::vector< PixelFormat > getSupportedPixelFormats()

Список поддерживаемых форматов пикселей.

Список отсортирован по предпочтениям кодека.

Возвращает

Список поддерживаемых форматов пикселей или пустой список в случае возникновения ошибки.

bool init(VideoDecoderMetadata)

Инициализирует видеокодер.

После вызова метода декодер может использовать закодированные видеокадры. Последующие вызовы VideoDecoder::init() завершатся ошибкой. Уничтожает объект декодера, чтобы остановить видеодекодер и сгенерировать событие конца потока.

Возвращает

True, если видеодекодер успешно инициализирован.

void setListener(VideoDecoderListener * listener)

Установить обратные вызовы.

Аргументы

  • [in] listener — объект с обратными вызовами.

bool setParameter(VideoDecoderParameter param, const std::string & value)

Устанавливает значение параметра.

Аргументы

  • [in] param — индекс параметра.
  • [in] value:
    • "v" для дискретного или непрерывного значения;
    • "(x,y,w,h)" для прямоугольника.

Возвращает

True означает, что значение принято.

void stop()

Останавливает декодер.

Поля

VideoDecoderListener * m_decoderListener

Используется в setListener().

Мы используем cookies для персонализации сайта и его более удобного использования. Вы можете запретить cookies в настройках браузера.

Пожалуйста ознакомьтесь с политикой использования cookies.