есть ли способ получить размеры видео H264 на raspberry pi, используя OpenMAX напрямую, без необходимости использовать ffmpeg< /em> или что-то еще? Похоже, что все примеры пи имеют для этого жестко закодированные значения.
Спасибо!
есть ли способ получить размеры видео H264 на raspberry pi, используя OpenMAX напрямую, без необходимости использовать ffmpeg< /em> или что-то еще? Похоже, что все примеры пи имеют для этого жестко закодированные значения.
Спасибо!
Да, это возможно путем запроса структуры 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 (что происходит после обработки первого буфера). В противном случае эти значения могут и, вероятно, будут неправильными.