OpenMAX,Raspberry PI:获取H264的视频尺寸

时间:2015-03-08 00:11:38

标签: c raspberry-pi h.264 openmax

有没有办法直接使用 OpenMAX 获取 H264 视频的视频尺寸 不必使用 ffmpeg 还是其他什么?所有pi示例似乎都有硬编码值。

谢谢!

1 个答案:

答案 0 :(得分:2)

是的,可以通过查询解码器输出端口的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事件触发后(在处理第一个缓冲区后发生)时为您提供正确的值。否则,这些值可能也可能是错误的。