专利名称:一种用于移动设备的低功耗播放方法和装置的利记博彩app
技术领域:
本发明涉及视频技术领域,尤其涉及一种用于移动设备的低功耗播放方法和装置。
背景技术:
目前,移动设备的技术发展迅速,移动设备的处理能力不断提高,从而基于移动设备的各种应用也越来越多。而随着无线网络技术和多媒体应用的推广,也出现了各种应用于移动设备的播放器,比如ffplay以及skyfe79等播放器。如图1所示为现有的应用于移动设备的播放器的结构示意图,该播放器包括数据通讯接口、文件读取模块、分离模块、音频解码模块、音频渲染模块、视频解码模块、视频渲染模块、播放控制器和播放接口,文件读取模块通过数据通讯接口读取音视频数据后,由分离模块将该音视频数据分离成音频数据和视频数据,然后由音频解码模块及音频渲染模块对该音频数据进行解码及渲染,并输出给音频播放装置进行播放,同时由视频解码模块及视频渲染模块对该视频数据进行解码及渲染,并通过播放接口在用户交互界面显示给用户观看。播放控制器可以对其它各个模块进行控制以保证播放正常进行。如图2所示为现有的播放器的播放线程示意图,该播放线程示意图是基于图1所示的播放器的结构之上的。上述现有的应用于移动设备的播放器存在着如下诸多问题:1、线程非常多,这在台式机多核CPU上可以有多线程的效率优势,但是与此同时多线程间交互数据等待也需要时间成本,增加了 CPU的运作时间,因而增加了系统的功耗。这在台式机上是正常的设计,因为台式机的供电是市电,不需要考虑功耗的问题,只要能维持冷却CPU即可。但在移动嵌入式设备环境中,一般都是单核的CPU,多线程本身并不会加速程序的运行,反而多线程的切换会增加系统的功耗,而对电池供电的移动设备来说,功耗是一个最主要的参考因素。2、输出仅仅使用I帧的解码缓冲。如果解码缓冲区中的帧没有被输出,即使CPU空闲的时候,也不会继续解码下一帧,因此不能充分利用CPU的空闲时间进行解码来平衡解码时间。3、现有移动设备的播放器基于SDL库作为支撑库,SDL库代码庞大,而且采用SDL库在进行视频缩放时都是利用CPU进行软件缩放,系统功耗较大。
发明内容
本发明实施例提供一种用于移动设备的低功耗播放方法和装置,用于减少播放器对于移动设备的功耗,提高CPU的利用率,同时提高播放质量。—方面,本发明实施例提供了一种用于移动设备的低功耗播放方法,该方法包括:利用一个线程对音视频数据进行分类解析及视频解码操作;对经过音频解码后的音频数据进行音频渲染操作并通过音频播放装置进行播放;对经过视频解码操作后的视频数据进行视频渲染操作并通过用户交互界面展示给用户。
优选地,本发明实施例中对经过音频解码后的音频数据进行音频渲染操作之前还包括:判断音频数据的硬件解码是否失败,若失败则调用音频软解码模块进行音频数据解码。优选地,本发明实施例还包括:在对视频数据进行视频渲染操作时在缓冲区内缓冲多帧。优选地,本发明实施例中还包括:用户交互界面的定时器以变化的屏幕刷新率来从所述缓冲区内刷出完整的视频帧。优选地,本发明实施例中用户交互界面的定时器以变化的屏幕刷新率来从所述缓冲区内刷出完整的视频帧包括:根据视频帧的解码时间及相邻帧的时间差来确定下一次需要刷新屏幕的时间点;通过所述下一次需要刷新屏幕的时间点来询问缓冲器是否有完整视频帧刷出。优选地,本发明实施例中用户交互界面的定时器以变化的屏幕刷新率来从所述缓冲区内刷出完整的视频帧还包括:当中央处理器CPU资源不足时,若出现视频和音频不同步现象,则丢弃不同步的视频帧。优选地,本发明实施例中当通过用户交互界面展示视频时,在图形处理器(Graphic Processing Unit, GPU)中完成视频图像的缩放功能。另一方面,本发明实施例还提供了一种用于移动设备的低功耗播放装置,该装置包括:解码模块,用于利用一个线程对音视频数据进行分类解析及视频解码操作;音频渲染模块,用于对经过音频解码后的音频数据进行音频渲染操作并通过音频播放装置进行播放;视频渲染模块,用于对经过视频解码操作后的视频数据进行视频渲染操作并通过用户交互界面展示给用户。优选地,本发明实施例还包括:判断模块,用于判断音频数据的硬件解码是否失败;音频软解码模块,用于在音频数据的硬件解码失败时,对音频数据进行软件解码。优选地,本发明实施例中视频渲染模块在对视频数据进行视频渲染操作时在缓冲区内缓冲多帧。优选地,本发明实施例还包括一定时器,所述定时器以变化的屏幕刷新率来从所述缓冲区内刷出完整的视频帧,并通过用户交互界面呈现给用户。优选地,本发明实施例还包括:刷新时间点确定模块,用于根据视频帧的解码时间及相邻帧的时间差来确定下一次需要刷新屏幕的时间点;询问模块,用于通过所述下一次需要刷新屏幕的时间点来询问缓冲器是否有完整视频帧刷出。优选地,本发明实施例还包括:丢帧单元,用于当中央处理器CPU资源不足,且出现视频和音频不同步现象时,丢弃不同步的视频帧。优选地,本发明实施例还包括:图形处理器,用于当通过用户交互界面展示视频时,根据用户指示完成视频图像的缩放功能。本发明实施例可以在单CPU的移动设备的环境下,减少线程切换的时间成本,减少线程间的交互,减少对共享内存访问加锁的数量;本发明实施例增加了解码后的视频缓冲帧的数量,从而充分利用CPU的空闲时间进行解码;而且本发明实施例采用了动态刷新频率,可以使得视频渲染模块完成帧缓冲时和定时器刷新率频率同步配合,以最小的询问消息准确快速地将视频刷出至用户交互界面显示;最后本发明实施例缩放的功能在图形处理器中实现,不占用CPU的运行时间,操作更加高效。
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为现有的应用于移动设备的播放器的结构示意图;图2为现有的播放器的播放线程示意图;图3为本发明实施例提供的一种用于移动设备的低功耗播放方法的流程示意图;图4为本发明实施例的播放线程示意图;图5为本发明实施例提供的另一种用于移动设备的低功耗播放方法的流程示意图;图6为本发明实施例提供的一种视频帧的时序图;图7为本发明实施例提供的一种用于移动设备的低功耗播放装置的结构示意图;图8为本发明实施例提供的另一种用于移动设备的低功耗播放装置的结构示意图;图9为本发明实施例提供的一种定时器的结构示意图。
具体实施例方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。如图3所示为本发明实施例提供的一种用于移动设备的低功耗播放方法的流程示意图,该方法包括如下步骤:S301:利用一个线程对音视频数据进行分类解析、音频解码及视频解码操作。在本实施例中,对于音视频数据的分类解析、以及分类后的音频解码及视频解码都通过一个线程来完成。请参见图4,图4为本发明实施例的播放线程示意图,由图4可见,本实施例中播放程序的启动仅包含3个线程:1、UI线程,可以通过定时器刷新界面;2、音视频读取及视频解码线程,可以读取视频文件或者视频流,解复用(demux)出视频包、音频包以及字幕包,并且将视频包解码之后放入视频帧缓冲区内,字幕包解码之后,叠加到解码后的视频帧内;3、音频回调线程,如果是系统认识的压缩格式,例如mp3或者aac格式,直接将音频包输出到音频播放设备上;否则就调用音频解码器进行解码之后,再往音频播放设备输出。上述音视频数据的分类解析、以及分类后的视频解码都通过音视频读取及视频解码线程来完成了。另外,在本实施例中,仅线程1、2之间以及线程2、3之间存在同时访问数据的等待同步问题,相比于图2公开的现有技术,减少了很多的访问同步,减少线程切换,有利于程序的快速执行。而且多帧缓冲区的设计,也使得在缓冲区未满的状态下,①线程的输出未完成即被切换至②线程,②线程无需等待即可继续执行。(众所周知的事实是,①线程输出至界面耗时比较多,在将视频帧输出到Π界面的时候,操作系统比较容易切换到其他线程运行)S302:对经过音频解码后的音频数据进行音频渲染操作并通过音频播放装置进行播放。S303:对经过视频解码操作后的视频数据进行视频渲染操作并通过用户交互界面展示给用户。 在本实施例中,上述步骤S302和步骤S303可以和现有技术中相类似,因此在本实施例中不再加以赘述,而在后续实施例中对于这些步骤的改进进行进一步描述。需要指出的是,上述步骤S302和步骤S303并没有先后的顺序关系,即本发明实施例对步骤S302和步骤S303的顺序关系并不加以限定。本发明实施例单线程的设计可以在单CPU的移动设备的环境下,减少线程切换的时间成本,减少线程间的交互,减少对共享内存访问加锁的数量。如图5所示为本发明实施例提供的另一种用于移动设备的低功耗播放方法的流程示意图,该方法包括如下步骤:S501:利用一个线程对音视频数据进行分类解析、音频解码及视频解码操作。S502:判断音频数据的硬件解码是否失败,若失败则进入步骤S503,否则进入S504。S503:调用音频软解码模块进行音频数据解码。现有的播放器在进行音频解码时都是通过硬件解码来进行的,若硬件解码失败,则会无音频输出,因此,本实施例首先判断音频数据的硬件解码是否成功,若失败时则采用软件进行软解码,以保证音频的正常输出。S504:对经过音频解码后的音频数据进行音频渲染操作并通过音频播放装置进行播放。S505:对经过视频解码后的视频数据进行视频渲染,并在进行视频渲染操作时在缓冲区内缓冲多帧。具体来说,本发明实施例可以通过对多帧的存储空间准备,对应视频解码时间戳的存储以及队列进出的控制方面进行改动,从而实现多帧的缓冲。在现有技术中,解码缓冲区内仅可以缓冲I帧,如果解码缓冲区内的视频帧没有被输出,则即使CPU空闲的时候,也不会继续解码下一帧。而本申请可以增加解码后的视频缓冲帧的数量,从而充分利用CPU的空闲时间进行解码。S506:用户交互界面的定时器以变化的屏幕刷新率来从所述缓冲区内刷出完整的视频帧。在现有技术中,用户交互界面的定时器是以固定的屏幕刷新率来刷出视频帧的,比如ffplay播放器的屏幕刷新率是1/60秒,也就是说用户交互界面以1/60秒的频率不断向解码缓冲区询问是否有完整视频帧刷出,而一般用户交互界面的定时器需要询问三次才会有一帧输出,该种固定频率的询问方式系统询问消息多,直接增加系统消耗。在本申请中,屏幕刷新率是可变的,即下一次需要刷新屏幕的时间点是可变的,该动态的屏幕刷新率可以通过如下方式来确定:根据视频帧的解码时间及相邻帧的时间差来确定动态的屏幕刷新率。请参见图6,其为本发明实施例提供的一种视频帧的时序图,横轴代表时间轴,其中Tdl是帧I的解码时间,T2-T1代表相邻帧的时间差,即帧2与帧I的时间差。例如刷新频率为20帧/秒,则两帧间的时间间隔为50毫秒(ms)。图6中,比如第一帧显示结束之后tdl = 20毫秒,则设定下一帧(第二帧)为30毫秒之后显示;假如td2 = 80毫秒,则设定下一帧(第四帧)为20毫秒之后显示,中间的第三帧丢弃不进行显示,减少了 一次无用的循环。刷新率相当于帧率,帧率=在这段时间内显示的帧数/显示时间秒数以图6中前三帧为例(到第三帧的结束位置为界限),如果没有采用本发明的方案,在150毫秒的时间内,显示了三帧,帧率=3/(3*50*0.001) = 20(帧/秒),这个数据是固定值;但如果采用本发明的方案,在150毫秒的时间内,显示了两帧,帧率=2/(3*50*0.001) = 13.33(帧/秒),这个数据是可变的,即刷新率是可变的,也就如上所举例的,下一次需要刷新屏幕的时间点是可变的。可见当以上述动态刷新频率向解码缓冲区询问是否有完整视频帧刷出时,可以使得视频渲染模块完成帧缓冲时和定时器刷新率频率同步配合,以最小的询问消息准确快速地将视频刷出至用户交互界面显示。上述输出视频帧的描述是基于CPU资源足够时,本申请播放器的正常视频帧输出流程,但是,当CPU资源不足时,有可能会出现视频和音频不同步的现象,比如出现视频滞后,音频超前的现象。在这种情况下,本发明实施例采用丢帧的技术来进行解决,请再参见图6,由于巾贞2的解码时间Td2已经超出了第三巾贞的当前时间戳(presentation timestamp, PTS),则丢弃巾贞3而直接显示巾贞4。S507:用户交互界面的播放窗口播放上述视频帧。作为本发明的一个实施例,当用户在用户交互界面进行播放视频的缩放操作时,该缩放功能是通过图形处理器来实现的。本发明实施例至少具有如下有益效果:1、本申请单线程的设计可以在单CPU的移动设备的环境下,减少线程切换的时间成本,减少线程间的交互,减少对共享内存访问加锁的数量。2、本申请增加了解码后的视频缓冲帧的数量,从而充分利用CPU的空闲时间进行解码。3、采用了动态刷新频率,可以使得视频渲染模块完成帧缓冲时和定时器刷新率频率同步配合,以最小的询问消息准确快速地将视频刷出至用户交互界面显示。4、缩放的功能在图形处理器中实现,不占用CPU的运行时间,操作更加高效。如图7所示为本发明实施例提供的一种用于移动设备的低功耗播放装置的结构示意图,该低功耗播放装置包括:解码模块710、音频渲染模块720和视频渲染模块730,其中解码模块710分别和音频渲染模块720及视频渲染模块730相连。需要指出的是,本播放装置除了包括上述三种模块外,还可以包括其它播放器中常设的模块,比如播放控制器、文件读取模块等,在本实施例中仅对本申请改进所涉及的模块进行描述。解码模块710用于利用一个线程对音视频数据进行分类解析、音频解码及视频解码操作。在本实施例中,对于音视频数据的分类解析、以及分类后的音频解码及视频解码都由解码模块710通过一个线程来完成。请参见图4,由图4可见,上述音视频数据的分类解析、以及分类后的音频解码及视频解码都通过视频读取及解析线程来完成了。相对于图2所公开的现有技术,本申请单线程的设计可以在单CPU的移动设备的环境下,减少线程切换的时间成本,减少线程间的交互,减少对共享内存访问加锁的数量。音频渲染模块720用于对经过音频解码后的音频数据进行音频渲染操作并通过音频播放装置进行播放。视频渲染模块730用于对经过视频解码操作后的视频数据进行视频渲染操作并通过用户交互界面展示给用户。本发明实施例单线程的设计可以在单CPU的移动设备的环境下,减少线程切换的时间成本,减少线程间的交互,减少对共享内存访问加锁的数量。如图8所示为本发明实施例提供的另一种用于移动设备的低功耗播放装置的结构示意图,该低功耗播放装置包括:解码模块810、音频渲染模块820、视频渲染模块830、判断模块840、音频软解码模块850、解码缓冲区860、定时器870、丢帧模块880和图形处理器890。解码模块810用于利用一个线程对音视频数据进行分类解析、音频解码及视频解码操作。判断模块840用于判断音频数据的硬件解码是否失败。音频软解码模块850用于在解码模块810对音频数据的硬件解码失败时,对音频数据进行软件解码。现有的播放器在进行音频解码时都是通过硬件解码来进行的,若硬件解码失败,则会无音频输出,因此,本实施例首先通过判断模块840判断音频数据的硬件解码是否成功,若失败时则通过音频软解码模块850采用软件进行软解码,以保证音频的正常输出。音频渲染模块820用于对经过音频解码后的音频数据进行音频渲染操作并通过音频播放装置进行播放。解码缓冲区860用于缓冲解码模块810所解码出来的视频帧。在现有技术中,解码缓冲区内仅可以缓冲I帧,如果解码缓冲区内的视频帧没有被输出,则即使CPU空闲的时候,也不会继续解码下一帧。而本申请的解码缓冲区860可以增加解码后的视频缓冲帧的数量,从而充分利用CPU的空闲时间进行解码。定时器870以变化的屏幕刷新率来从解码缓冲区860内刷出完整的视频帧,并通过用户交互界面呈现给用户。作为本发明的一个实施例,如图9所示,定时器870包括:刷新率确定模块871和询问模块872。刷新时间点确定模块871用于根据视频帧的解码时间及相邻帧的时间差来确定下一次需要刷新屏幕的时间点。该动态的屏幕刷新率可以通过如下方式来确定:根据视频帧的解码时间及相邻帧的时间差来确定动态的屏幕刷新率。请参见图6,其为本发明实施例提供的一种视频帧的时序图,横轴代表时间轴,其中Tdl是帧I的解码时间,T2-T1代表相邻帧的时间差,即帧2与帧I的时间差,在本实施例中,当要刷出帧I时,临时确定屏幕刷新率,即临时确定下一次需要刷新屏幕的时间点,后续输出帧2、帧3等视频帧时的屏幕刷新率与帧I相同,不再赘述。询问模块872用于通过刷新率确定模块871所确定的下一次需要刷新屏幕的时间点来询问缓冲器是否有完整视频帧刷出。
可见当以上述动态刷新频率向解码缓冲区询问是否有完整视频帧刷出时,可以使得视频渲染模块完成帧缓冲时和定时器刷新率频率同步配合,以最小的询问消息准确快速地将视频刷出至用户交互界面显示。丢帧模块880用于当中央处理器CPU资源不足,且出现视频和音频不同步现象时,丢弃不同步的视频帧。请再参见图6,由于帧2的解码时间Td2已经超出了第三帧的既定标准时间(Predetermined Time Standards, PTS),则丢弃巾贞3而直接显不巾贞4。图形处理器890用于当通过用户交互界面展示视频时,根据用户指示完成视频图像的缩放功能。另外,本发明实施例的播放器还包括现有播放器中常设的模块,比如:播放控制器、文件读取模块等,在此不再赘述。本发明实施例至少具有如下有益效果:1、本申请单线程的设计可以在单CPU的移动设备的环境下,减少线程切换的时间成本,减少线程间的交互,减少对共享内存访问加锁的数量。2、本申请增加了解码后的视频缓冲帧的数量,从而充分利用CPU的空闲时间进行解码。3、采用了动态刷新频率,可以使得视频渲染模块完成帧缓冲时和定时器刷新率频率同步配合,以最小的询问消息准确快速地将视频刷出至用户交互界面显示。4、缩放的功能在图形处理器中实现,不占用CPU的运行时间,操作更加高效。在一个或多个示例性的设计中,本发明实施例所描述的上述功能可以在硬件、软件、固件或这三者的任意组合来实现。如果在软件中实现,这些功能可以存储与电脑可读的媒介上,或以一个或多个指令或代码形式传输于电脑可读的媒介上。电脑可读媒介包括电脑存储媒介和便于使得让电脑程序从一个地方转移到其它地方的通信媒介。存储媒介可以是任何通用或特殊电脑可以接入访问的可用媒体。例如,这样的电脑可读媒体可以包括但不限于RAM、ROM、EEPROM、CD-ROM或其它光盘存储、磁盘存储或其它磁性存储装置,或其它任何可以用于承载或存储以指令或数据结构和其它可被通用或特殊电脑、或通用或特殊处理器读取形式的程序代码的媒介。此外,任何连接都可以被适当地定义为电脑可读媒介,例如,如果软件是从一个网站站点、服务器或其它远程资源通过一个同轴电缆、光纤电脑、双绞线、数字用户线(DSL)或以例如红外、无线和微波等无线方式传输的也被包含在所定义的电脑可读媒介中。所述的碟片(disk)和磁盘(disc)包括压缩磁盘、镭射盘、光盘、DVD、软盘和蓝光光盘,磁盘通常以磁性复制数据,而碟片通常以激光进行光学复制数据。上述的组合也可以包含在电脑可读媒介中。以上所述的具体实施方式
,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式
而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种用于移动设备的低功耗播放方法,其特征在于,所述方法包括: 利用一个线程对音视频数据进行分类解析及视频解码操作; 对经过音频解码后的音频数据进行音频渲染操作并通过音频播放装置进行播放; 对经过视频解码操作后的视频数据进行视频渲染操作并通过用户交互界面展示给用户。
2.如权利要求1所述的用于移动设备的低功耗播放方法,其特征在于,所述对经过音频解码后的音频数据进行音频渲染操作之前还包括: 判断音频数据的硬件解码是否失败,若失败则调用音频软解码模块进行音频数据解码。
3.如权利要求1所述的用于移动设备的低功耗播放方法,其特征在于,还包括: 在对视频数据进行视频渲染操作时在缓冲区内缓冲多帧。
4.如权利要求3所述的用于移动设备的低功耗播放方法,其特征在于,还包括:用户交互界面的定时器以变化的屏幕刷新率来从所述缓冲区内刷出完整的视频帧。
5.如权利要求4所述的用于移动设备的低功耗播放方法,其特征在于,所述用户交互界面的定时器以变化的屏幕刷新率来从所述缓冲区内刷出完整的视频帧包括: 根据视频帧的解码时间及相邻帧的时间差来确定下一次需要刷新屏幕的时间点; 通过所述下一次需要刷新屏幕的时间点来询问缓冲器是否有完整视频帧刷出。
6.如权利要求5所述的用于移动设备的低功耗播放方法,其特征在于,所述用户交互界面的定时器以变化的屏幕刷新率来从所述缓冲区内刷出完整的视频帧还包括: 当中央处理器CPU资源不足时,若出现视频和音频不同步现象,则丢弃不同步的视频帧。
7.如权利要求1所述的用于移动设备的低功耗播放方法,其特征在于,当通过用户交互界面展示视频时,在图形处理器GPU中完成视频图像的缩放功能。
8.一种用于移动设备的低功耗播放装置,其特征在于,所述装置包括: 解码模块,用于利用一个线程对音视频数据进行分类解析及视频解码操作; 音频渲染模块,用于对经过音频解码后的音频数据进行音频渲染操作并通过音频播放装置进行播放; 视频渲染模块,用于对经过视频解码操作后的视频数据进行视频渲染操作并通过用户交互界面展示给用户。
9.如权利要求8所述的用于移动设备的低功耗播放装置,其特征在于,还包括: 判断模块,用于判断音频数据的硬件解码是否失败; 音频软解码模块,用于在音频数据的硬件解码失败时,对音频数据进行软件解码。
10.如权利要求8所述的用于移动设备的低功耗播放装置,其特征在于,所述视频渲染模块在对视频数据进行视频渲染操作时在缓冲区内缓冲多帧。
11.如权利要求10所述的用于移动设备的低功耗播放装置,其特征在于,还包括一定时器,所述定时器以变化的屏幕刷新率来从所述缓冲区内刷出完整的视频帧,并通过用户交互界面呈现给用户。
12.如权利要求11所述的用于移动设备的低功耗播放装置, 其特征在于,还包括: 刷新时间点确定模块,用于根据视频帧的解码时间及相邻帧的时间差来确定下一次需要刷新屏幕的时间点; 询问模块,用于通过所述下一次需要刷新屏幕的时间点来询问缓冲器是否有完整视频中贞刷出。
13.如权利要求12所述的用于移动设备的低功耗播放装置,其特征在于,还包括: 丢帧单元,用于当中央处理器CPU资源不足,且出现视频和音频不同步现象时,丢弃不同步的视频帧。
14.如权利要求12所述的用于移动设备的低功耗播放装置,其特征在于,还包括: 图形处理器,用于当通过用户交互界面展示视频时,根据用户指示完成视频图像的缩放功能。 ·
全文摘要
本发明实施例提供一种用于移动设备的低功耗播放方法和装置,方法包括利用一个线程对音视频数据进行分类解析、音频解码及视频解码操作;对经过音频解码后的音频数据进行音频渲染操作并通过音频播放装置进行播放;对经过视频解码操作后的视频数据进行视频渲染操作并通过用户交互界面展示给用户。本发明实施例可以减少线程切换的时间成本,减少线程间的交互,减少对共享内存访问加锁的数量;其次增加了解码后的视频缓冲帧的数量,从而充分利用CPU的空闲时间进行解码;而且还采用了动态刷新频率,可以使得视频渲染模块完成帧缓冲时和定时器刷新率频率同步配合;最后本发明实施例缩放的功能在图形处理器中实现,不占用CPU的运行时间,操作更加高效。
文档编号G11B20/10GK103177744SQ20111043233
公开日2013年6月26日 申请日期2011年12月21日 优先权日2011年12月21日
发明者黄志阳 申请人:深圳市快播科技有限公司