1. Omx的作用:
标准化各个硬件厂商的部件(decoder/display),可以像PC的部件一样,软件可以通过统一的标准化的接口来访问硬件,硬件厂商都需要遵循这些接口来实现自己的驱动。Gstreamer也是基于这个假设来定义各个element.
现状:现在大部分的stb、tv芯片厂商的decoder,display等硬件设备驱动接口是不一样的,导致软件产品都需要预留一个适配层,来适配不同芯片厂商的接口。比如说decoder和display部件,大部分厂商的接口都是只能操作decoder的input数据,后面decoder和display的数据流都是驱动内部控制的。这种机制导致软件厂商对平台的依赖性增强,不同的平台表现力的差异会比较大,厂商选用好的平台很容易做出好的产品,如果选用差的平台,花再大的努力也是白搭。
进步:现在很多开源软件如android,gstreamer在架构设计上都将各种部件定义为独立的element,并且软件可以通过标准化的接口独立操作这些部件,增强来上层软件的控制力,尽量磨平各个硬件平台的差异,增强软件的可移植性。
个人感觉手机芯片平台在这方面慢慢做得标准化,得益于android系统的流行,正慢慢向PC的模式靠拢。因为消费类电子产品的充分竞争容易走向标准化,深化整个产业的分工,提高行业的生产率,使消费者买到更人性化,价格平民化的产品。