WEB开发网
开发学院手机开发Android 开发 Android Codec 集成和 video Overlay 阅读

Android Codec 集成和 video Overlay

 2010-07-01 15:05:00 来源:WEB开发网   
核心提示:/pv_omxregistry.cpp中实现的,除了omx封装外其他两种方式我没仔细看过,Android Codec 集成和 video Overlay(3),Node方式PV还没提供文档,而mio集成方式在doc里面有它的开发文档,首先要获得vpu解码后的数据,这里主要涉及到下面目录中的文件:/external/op
/pv_omxregistry.cpp中实现的。

除了omx封装外其他两种方式我没仔细看过,Node方式PV还没提供文档,而mio集成方式在doc里面有它的开发文档。

B、Video Overlay

Android原来是video playback的输出是使用的Isurface接口,也就是说它是用surfaceflinger来实现window的合并的,SW merge必然导致播放的效率低下,而且资源消耗很高。FSL在这里实现了硬件overlay的方式来播放视频,就是使用ipu进行硬件的merge,说穿了就是把vpu解码后的数据直接送到ipu的overlay buffer。

这里涉及到两个底层的lib,一个就是libipu.so,还一个是libvpu.so,vpu负责解码,而ipu负责显示。在这里要改变的主要是两个地方,首先要获得vpu解码后的数据,这里主要涉及到下面目录中的文件:

/external/opencore/nodes/pvomxbasedecnode/src/pvmf_omx_basedec_node.h

/external/opencore/nodes/pvomxbasedecnode/include/pvmf_omx_basedec_node.cpp

/external/opencore/nodes/pvomxvideodecnode/src/pvmf_omx_ideodec_node.cpp

然后就是将数据送到overlay buffer,这部分修改的内容实际上就是实现了ipu 的一个sequence,这个sequence的内容可以参照:

/external/fsl_imx_lib/ipu/mxc_ipu_hl_lib.h

具体的修改内容在下面几个文件:

/android/android_surface_output.cpp

/android/android_surface_outpur.h

上一页  1 2 3 

Tags:Android Codec 集成

编辑录入:coldstar [复制链接] [打 印]
赞助商链接