哲哲 发表于 2012-6-29 13:00:44

程序库,解码器,开源软件

介绍一下pi上面的程序库,解码器,开源软件。
先介绍库,pi需要一套库来操纵GPU。pi提供了这些库(注意,这些库不是开源的):
OpenGL ES 2.0
OpenGL 是 一个 3D 库,在桌面和嵌入式系统中很常见 ,由Khronos Group 定义.OpenVG
OpenVG 是一个 2D 矢量画图库, 在桌面和嵌入式系统中很常见,也是 由Khronos Group 定义.EGL
EGL是一个在 Khronos 渲染 APIs ( OpenGL ES or OpenVG) 和 本地平台窗口系统 之间的接口。OpenMAX IL
OpenMAX 提供了一套API, 抽象了audio,video和静态image处理的函数。 OpenMAX 定义了三层,这里是IL层,提供了媒体框架(如 Gstreamer )和多媒体模块(如codecs)的接口。


前三个是标准的linux 库,所以很容易移植。 OpenMAX IL现在还没有标准的API,所以是一个定制的实现。所有这些库都是由SoC公司Broadcom提供。
如果需要进一步了解,Wikipedia和Khronos网站上有很多的资料介绍这些API。


先写到这里,后面再介绍解码器和开源软件。

哲哲 发表于 2012-6-29 13:02:16

自己顶顶,呵呵

哲哲 发表于 2012-6-29 13:48:53

继续介绍解码器:

pi有两个授权的编解码器:MPEG4 and h.264. 编解码器授权对设备的价格有很大影响,所以这就是为什么现在只有两个编解码器。pi有没授权的解码器比如:MPEG2, VC1等等, 但不被GPU加速.

pi的 GPU 能硬解 1080p30的H264, MPEG1/2/4, VC1, AVS, MJPG. pi能软解VP6, VP7, VP8, RV, Theora, WMV9 . 之所以被限制是因为没有购买授权。以后可能会支持 VP8, MJPG 和Theora,因为这些不需要授权。

哲哲 发表于 2012-6-29 14:01:51

开源vs闭源

图像加速库(访问GPU)是闭源的,有SOC产商提供。Pi的基金会对这个没法控制。
这没有 GPL问题,因为这是用户态的 libraries ,没有链接进内核.

有一些驱动是链接进内核的,所以是开源的且是GPL授权的。其中一个驱动是用户空间到内核空间操纵GPU的接口。用户态的库通过这些驱动来和GPU通讯并操纵GPU。

哲哲 发表于 2012-6-29 14:05:38

这里有张图描述了哪些是开源的,哪些不是:
http://www.raspberrypi.org/wp-content/uploads/2012/01/RaspberryArch.jpgWhat's OSS, and what's not?

bianbian 发表于 2012-6-29 14:13:48

支持一下lz,暂时对视频开发没兴趣.

树老大 发表于 2012-6-29 16:32:34

技术贴,感谢支持了。

leerein 发表于 2012-9-9 02:40:43

高人呀

menglongfc 发表于 2012-10-12 12:15:57

技术贴,纯顶

cscscheng 发表于 2012-10-14 13:10:16

高人啊..有源码吗..解码器....omxplayer..播放TS流不知道为什么..多个ts流一起缓存会出现解码一卡一卡的
页: [1] 2
查看完整版本: 程序库,解码器,开源软件