nvjmi解码流程时序图如下图所示。
解码主要包括两部分,一是发送待解码的数据块到output plane,二是从capture plane接收解码后的图像数据。
在开始解码之前,首先需要对output plane和capture plane分别进行配置。output plane配置先与capture plane配置。
1)output plane:将缓存空间加入到buf队列中,用于编码块的数据缓存。
2)capture plane:将缓存空间加入到buf队列中,用于解码后的数据缓存。
当发送第一个packet到output plane后,capture plane会生成一个resolution change事件,用于重新调整caputre plane的配置。并且,此时一般返回EAGAIN,需要接下来的编码块才能够解码获取图像数据。