问题描述
Video Processing Subsystem (VPSS) 功能强大,但我们在应用中只需要其中某个子功能。如果使用完整版本,资源消耗会非常大。VPSS将所有子功能封装在一起,所以我们将IP配置为仅包含CSC的模式,以为不需要的功能就不会影响系统API。于是,我们直接调用了XV_CSC相关的API,认为应该很简单,然而程序却崩溃了。后续调查发现,VPSS会生成两个设备信息,一个是VPSS本身,另一个是子功能的设备信息。
解决方法
起初,我们以为是CSC的地址不对,尝试加上VPSS的基地址,但仍然无法解决问题。最后,我们决定放弃调用子功能的API,转而直接使用VPSS系统的API。经过反复阅读VPSS的程序和调试,逐渐理解了VPSS的API设计,最终成功地使IP正常工作。不得不说,这些API写得非常好。