Класс 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)");
- пустая строка, если возникает ошибка.
См. также
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()
.