生のh264ストリームを受け入れてデコードし、レンダリングに渡すopenmaxを使用して、ビデオプレーヤーパイプラインを試していました。ポートの構成中に、フレームの幅と高さを 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
それが不正なパラメータ エラーです。なぜそれが来るのですか?