OpenMAX, Raspberry PI: получение видеоразмеров H264

есть ли способ получить размеры видео H264 на raspberry pi, используя OpenMAX напрямую, без необходимости использовать ffmpeg< /em> или что-то еще? Похоже, что все примеры пи имеют для этого жестко закодированные значения.

Спасибо!


person moka    schedule 08.03.2015    source источник


Ответы (1)


Да, это возможно путем запроса структуры OMX_PARAM_PORTDEFINITIONTYPE выходного порта декодера. Вы должны использовать что-то в этом роде:

OMX_PARAM_PORTDEFINITIONTYPE portdef;
portdef.nSize = sizeof(OMX_PARAM_PORTDEFINITIONTYPE);
portdef.nVersion.nVersion = OMX_VERSION;
portdef.nPortIndex = 131;

OMX_GetParameter(ILC_GET_HANDLE(video_decode), OMX_IndexParamPortDefinitionType, portdef);

printf("Width: %d, Height: %d\n", portdef.format.video.nFrameWidth, portdef.format.nFrameHeight);

Обратите внимание, что это даст вам правильные значения только после запуска события OMX_EventPortSettingsChanged (что происходит после обработки первого буфера). В противном случае эти значения могут и, вероятно, будут неправильными.

person sk_pleasant    schedule 29.03.2015