有什么方法可以让H264视频在树莓圆周率上直接使用OpenMAX获得视频维数,而不需要使用ffmpeg或其他什么?所有pi示例似乎都有硬编码的值。
谢谢!
发布于 2015-03-29 01:15:08
是的,这可以通过查询解码器输出端口的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事件触发后(在处理第一个缓冲区后发生)提供正确的值。否则,这个值可能而且很可能是错误的。
https://stackoverflow.com/questions/28921632
复制相似问题