我正在尝试使用 openmax 的视频播放器管道,它接受原始 h264 流对其进行解码并将其传递给渲染。在配置端口时,我想将框架宽度和框架高度设置为 1280 * 720。但是在设置参数时出现参数错误。如何在 openmax 组件中设置端口的框架宽度和框架高度,作为这些框架的新手,我的知识有限。在设置宽度和高度之前我还应该设置其他字段吗?
这就是我尝试设置参数的方式
memset(&portdef,0,sizeof(OMX_PARAM_PORTDEFINITIONTYPE));
portdef.nSize = sizeof(OMX_PARAM_PORTDEFINITIONTYPE);
portdef.nVersion.nVersion = OMX_VERSION;
portdef.nPortIndex = 131;
portdef.format.video.nFrameWidth = 1280;
portdef.format.video.nFrameHeight = 720;
portdef.nBufferSize = portdef.format.video.nFrameWidth * portdef.format.video.nFrameHeight * 3 / 2;
/* set the video decode properties */
if((error = OMX_SetParameter(video_decode,OMX_IndexParamPortDefinition,&portdef)) != OMX_ErrorNone)
printf("set parameter error for decoder %x\n",error);
我得到的错误是
set parameter error for decoder 80001005
那就是错误的参数错误。为什么会来?