问:
1:stream 是一个什么概念。是不是特指PVP的输入和输出流?一个pvp的初始化过程只需要调用两次adi_pvp_OpenStream?一次给输入一次给输出? 比如如下函数: ADI_PVP_RESULT adi_pvp_OpenStream ( ADI_PVP_PIPE_HANDLE const hPipe, ADI_PVP_STREAM eStream, ADI_PVP_STREAM_DIR eDirection, void *const pStreamMem, uint32_t nStreamMemSize, uint32_t nElementWidth, ADI_PVP_STREAM_HANDLE * phStream ) 2:另外对于结构体ADI_PVP_STREAM: Enumeration of different stream types in PVP Enumerator: ADI_PVP_STREAM_CAMERA0 Camera stream 0 ADI_PVP_STREAM_CAMERA1 Camera stream 1 ADI_PVP_STREAM_CAMERA2 Camera stream 2 ADI_PVP_STREAM_MEMORY memory stream ADI_PVP_STREAM_STATUS status stream ADI_PVP_MAX_STREAMS Maximum number of streams 这里的Camera sream 0 -3 是对应什么呢? 输出的opf吗?
答:代码中PVP有三层概念,最高层是PVP device,目前只有PVP device0一个,根据它的句柄去初始化及配置下一层的PVP pipe,pipe中分为camera pipe和memory pipe。Pipe之下是stream,stream可以认为是与memory相关的输入输出流,Camera pipe中最多可以有三个stream同时工作,对应opf0-2三个opf。Memory pipe只有一个,对应opf3. 在open camera pipe的stream时,只需要open output stream,因为camera pipe的数据是从camera直接过来的,与memory连接的地方就是camera pipe的输出。Open memory stream时要input 和output同时open,因为memory stream的数据输入和输出都是memory。 |