一种适配安卓系统的视频解码方法及其装置的制造方法_2

文档序号:9892071阅读:来源:国知局
,显示模块3对视频数据进行显示,驱动模块2用于创建解码模块4,管理模块6用于对缓存模块5进行监控并获得状态信号,管理模块6向驱动模块反馈状态信号。
[0021 ]视频解码方法实施例:
参照图2并结合图1,图2是适配安卓系统的视频解码方法的流程图。首先执行步骤Sll,程序开始,安卓系统接口层I创建驱动模块2,将相应的初始化信息传递到驱动模块2以初始化驱动模块2,随后执行步骤S12,驱动模块2创建解码模块4,并将视频信息以结构体的形式传递给解码模块4,解码模块4初始化内部变量与状态,驱动模块2进入主线程处理相关的消息与任务。
[0022]然后执行步骤S13,从解码模块4获取缓存信息,缓存信息包括缓存的个数和缓存的容量大小。随后执行步骤S14,判断是否获取成功,如不成功获取,则返回步骤S13,直到获取缓存信息,如成功获取缓存信息,则执行步骤SI5,将缓存信息输出至显示模块3,且将驱动模块2置成暂停状态,等待显示模块3将申请到的缓存模块传递下来。由于驱动模块2无法得知解码模块4解析出缓存信息的时间点,故采用这种不断查询的方法进行获取。
[0023]随后执行步骤S16,显示模块3根据缓存信息申请出相应容量大小和相应个数的缓存模块5。以一播放分辨率为1080*720、具有3个参考帧的H264视频为例对缓存模块5的申请进行举例说明,创建解码模块4时,将1080*720的分辨率信息和h264的视频格式信息设置到解码模块中,解码器根据这些视频信息初始化对应的资源,解码模块从视频信息里解析出参考帧的数目为3时,则可根据缓存模块个数等于参考帧个数、缓冲个数和显示模块占用个数的和,缓冲个数一般为4个,显示模块占用个数一般为2个,故缓存模块的个数为9个。且当视频格式为YVl2时,每个像素点由Y、U、V三个分量表示,比例为4:1:1,故缓存模块的容量大小为分辨率*3/2,即缓存模块的容量大小为1080*720*3/2。
[0024]随后执行步骤S17,将缓存模块5的地址传递至驱动模块2,随后执行步骤S18,驱动模块2将缓存模块5的地址传递至解码模块4,然后执行步骤S19,创建管理模块6,管理模块6对缓存模块5进行监控,每个缓存模块5有三个状态:解码模块占用、显示模块占用和空闲,缓存模块状态转换依次为:解码模块占用-显示模块占用-空闲,通过管理模块6对缓存模块5的监控并获取状态信号,管理模块6向驱动模块2反馈状态信号,使得驱动模块2通过缓存模块状态的转换以达到解码模块与显示模块的交互使用。
[0025]然后执行步骤S20,从缓存模块5拷贝码流数据到解码模块4进行解码,解码后的视频数据保存在缓存模块5保存,最后执行步骤S21,显示模块3从缓存模块5获取解码后的视频进行显示。在视频播放时,不选循环执行步骤S20和步骤S21,不断将视频进行解码和播放,直至视频播放完毕。
[0026]由上可见,解码模块内部不进行申请用于存放视频数据的缓存模块,而是通过由显示模块进行申请,解码时通过在显示模块的缓存模块进行读取解码,显示时通过显示模块读取缓存模块内解码后的视频数据进行显示,实现解码模块和显示模块共享缓存模块,共享缓存的设置有利于减少拷贝次数的同时也减少了缓存模块个数的申请使用,以及通过获取视频信息对应的缓存信息来对缓存模块进行申请,有效地降低缓存模块的申请大小和个数,继而实现提高缓存模块的拷贝效率或者减少拷贝的次数,从而提高视频解码的性能与解码效率。
【主权项】
1.一种适配安卓系统的视频解码方法,其特征在于,包括: 将视频信息传递至解码模块的步骤; 从所述解码模块获取缓存信息的步骤; 显示模块根据所述缓存信息创建缓存模块的步骤; 所述解码模块对所述缓存模块内的码流数据进行解码的步骤; 在所述缓存模块保存解码后的视频数据的步骤; 所述显示模块对所述视频数据进行显示的步骤。2.根据权利要求1所述的视频解码方法,其特征在于: 在视频信息传递至所述解码模块的步骤之前,所述视频解码方法还包括: 创建驱动模块并初始化所述驱动模块的步骤; 所述驱动模块创建所述解码模块的步骤。3.根据权利要求1所述的视频解码方法,其特征在于: 在从所述解码模块获取所述缓存信息的步骤之后,所述视频解码方法还包括: 判断是否成功获取所述缓存信息的步骤; 如成功获取所述缓存信息,则执行将所述缓存信息输出至所述显示模块。4.根据权利要求1所述的视频解码方法,其特征在于: 在所述显示模块根据所述缓存信息创建所述缓存模块之后,所述视频解码方法还包括: 将所述缓存模块的地址传递至所述解码模块的步骤。5.根据权利要求1所述的视频解码方法,其特征在于: 所述解码模块对所述缓存模块内的码流数据进行解码的步骤之前,所述视频解码方法还包括管理模块对所述缓存模块进行监控的步骤。6.根据权利要求1至5任一项所述的视频解码方法,其特征在于: 所述缓存信息包括缓存容量和缓存个数。7.一种适配安卓系统的视频解码装置,包括显示模块和解码模块,其特征在于: 所述解码模块接收视频信息,所述解码模块向所述显示模块输出缓存信息,所述显示模块根据所述缓存信息创建缓存模块,所述解码模块对所述缓存模块内的码流数据进行解码,所述缓存模块保存解码后的视频数据,所述显示模块对所述视频数据进行显示。8.根据权利要求7所述的视频解码装置,其特征在于: 所述视频解码装置还包括驱动模块,所述驱动模块用于创建所述解码模块。9.根据权利要求7所述的视频解码装置,其特征在于: 所述视频解码装置还包括管理模块,所述管理模块用于对所述缓存模块进行监控并获得状态信号,所述管理模块向所述驱动模块反馈所述状态信号。10.根据权利要求7至9任一项所述的视频解码装置,其特征在于: 所述缓存信息包括缓存容量和缓存个数。
【专利摘要】本发明提供一种适配安卓系统的视频解码方法及其装置,视频解码方法包括:将视频信息传递至解码模块的步骤;从解码模块获取缓存信息的步骤;显示模块根据缓存信息创建缓存模块的步骤;解码模块对缓存模块内的码流数据进行解码的步骤;在缓存模块保存解码后的视频数据的步骤;显示模块对视频数据进行显示的步骤。以及使用该视频解码方法的视频解码装置。通过由显示模块对缓存模块进行申请,使解码和显示共缓存的设置有利于减少拷贝次数的同时也减少了缓存模块个数的申请使用,以及通过获取视频信息对应的缓存信息来对缓存模块进行申请,有效地降低缓存模块的申请大小和个数,继而提高视频解码的性能与解码效率。
【IPC分类】H04N21/44, H04N21/4402
【公开号】CN105657540
【申请号】
【发明人】王喜望
【申请人】珠海全志科技股份有限公司
【公开日】2016年6月8日
【申请日】2016年1月5日
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1