Формат вывода OpenH264 DecodeFrameNoDelay

Я использовал OpenH264 Turorial (https://github.com/cisco/openh264/wiki/UsageExampleForDecoder), чтобы успешно декодировать кадр H264, но я не могу понять из учебника, каков выходной формат.

Я использую «unsigned char * pDataResult [3];» (pData в учебнике), и это заполняется, но мне нужно знать длину, чтобы преобразовать ее в байтовые буферы и вернуть в Java. Мне также нужно знать, кто является владельцем этих данных (кажется, что они принадлежат декодеру). Насколько я могу найти, эта информация не упоминается в руководстве или документации.

unsigned char *pDataResult[3];
int iRet = pSvcDecoder->DecodeFrameNoDelay(pBuf, iSize, pDataResult, &sDstBufInfo);

Учебное пособие также перечисляет инициализатор, но дает «…» в качестве назначения.

//output: [0~2] for Y,U,V buffer for Decoding only
unsigned char *pData[3] =...;

Нулевые данные YUV прекращены?

Существует последний параметр SBufferInfo с TagSysMemBuffer:

typedef struct TagSysMemBuffer {
int iWidth;                    ///< width of decoded pic for display
int iHeight;                   ///< height of decoded pic for display
int iFormat;                   ///< type is "EVideoFormatType"int iStride[2];                ///< stride of 2 component
} SSysMEMBuffer;

И длина, вероятно, там, но не совсем точно. Может быть, это «iWidth * iHeight» для каждого буфера?

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]