1.本申请涉及计算机图形处理技术领域,具体地,涉及一种视频显示方法及图形处理器。
背景技术:
2.图形处理器的基础功能为对视频数据进行解码显示,在所述gpu对所述视频数据解码后,可以将解码出来的每一帧数据拷贝到屏幕显示的帧存区域,在屏幕刷新时将所述帧存区域中的数据进行显示,从而可以将视频显示在屏幕中。
3.由于屏幕的刷新率固定,而拷贝数据的时机不确定,如果拷贝过程刚好发生在屏幕刷新一帧未完成的时间点,那么屏幕画面显示到一半的时候,画面内容的后半段可能被新数据覆盖,从而导致视频画面出现撕裂现象。
技术实现要素:
4.本申请实施例中提供了一种视频显示方法及图形处理器,可以有效解决视频画面撕裂的问题。
5.根据本申请实施例的第一个方面,提供了一种视频显示方法,该方法包括:获取解码后的视频数据,并将所述解码后的视频数据存储在图形处理器的帧存中;查询寄存器确定显示地址的有效性,所述显示地址为用于屏幕显示的显示帧存区域对应的地址;根据所述显示地址的有效性,将所述解码后的视频数据拷贝到显示帧存区域进行显示。
6.根据本申请实施例第二个方面,提供了一种图形处理器,该图形处理器包括硬件解码模块,双倍速率同步动态随机存储器,以及显示模块;所述硬件解码模块,用于获取解码后的视频数据,并将所述解码后的视频数据存储在所述双倍速率同步动态随机存储器中;所述显示模块用于查询寄存器确定显示地址的有效性,所述显示地址为用于屏幕显示的显示帧存区域对应的地址;所述显示模块还用于根据所述显示地址的有效性,将所述解码后的视频数据拷贝到显示帧存区域进行显示。
7.根据本申请实施例的第三个方面,提供了一种视频显示装置,该装置包括:获取模块,用于获取解码后的视频数据,并将所述解码后的视频数据存储在图形处理器的帧存中;确定模块,用于查询寄存器确定显示地址的有效性,所述显示地址为用于屏幕显示的显示帧存区域对应的地址;拷贝模块,用于根据所述显示地址的有效性,将所述解码后的视频数据拷贝到显示帧存区域进行显示。
8.根据本申请实施例的第四个方面,提供了一种电子设备,该电子设备包括一个或多个处理器;存储器;一个或多个应用程序,其中所述一个或多个应用程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序配置用于执行如上述应用于电子设备的方法。
9.根据本申请实施例的第五个方面,本申请实施列提供一种计算机可读存储介质,所述计算机可读存储介质中存储有程序代码,其中,在所述程序代码运行时执行上述的方
法。
10.采用本申请实施例中提供的视频显示方法,获取解码后的视频数据,并将所述解码后的视频数据存储在图形处理器的帧存中;查询寄存器确定显示地址的有效性;根据所述显示地址的有效性,将所述解码后的视频数据拷贝显示帧存区域进行显示。根据显示地址的有效性,确定拷贝所述解码后的视频数据的时机,可保证屏幕刷新时,每一帧画面的完整性,避免画面撕裂。
附图说明
11.此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
12.图1为本申请实施例提供的图形处理器的结构框图;
13.图2为本申请一个实施例提供的视频显示方法的流程图;
14.图3为本申请另一个实施例提供的视频显示方法的流程图;
15.图4为本申请再一个实施例提供的视频显示方法的流程图;
16.图5为本申请一个实施例提供的视频显示装置的功能模块图;
17.图6为本申请实施例提出的用于执行根据本申请实施例的视频显示方法的电子设备的结构框图。
具体实施方式
18.图形处理器(graphics processing unit,gpu)的基础功能为对视频数据进行解码显示,在所述gpu对所述视频数据解码后,可以将解码出来的每一帧数据拷贝到屏幕显示的帧存区域,在屏幕刷新时将所述帧存区域中的数据进行显示,从而可以将视频显示在屏幕中。
19.由于屏幕的刷新率固定,而拷贝数据的时机不确定,如果拷贝过程刚好发生在屏幕刷新一帧未完成的时间点,那么屏幕画面显示到一半的时候,画面内容的后半段可能被新数据覆盖,从而导致视频画面出现撕裂现象。
20.发明人在研究中发现,gpu在对视频数据解码后,将解码后的视频数据存放在gpu帧存中,可以将gpu帧存中的数据拷贝到用于显示的帧存区,当帧存被扫描时,可以通过查询显示地址有效寄存器得知屏幕刷新时机,此时将视频数据拷贝到显示区域,可以保证屏幕刷新一帧画面的完整性。
21.因此,本申请实施例中提供了一种视频显示方法,获取解码后的视频数据,并将所述解码后的视频数据存储在gpu帧存中;查询寄存器确定显示地址的有效性;根据所述显示地址的有效性,将所述解码后的视频数据拷贝显示帧存区域进行显示。根据显示地址的有效性,确定拷贝所述解码后的视频数据的时机,可保证屏幕刷新时,每一帧画面的完整性,避免画面撕裂。
22.为了使本申请实施例中的技术方案及优点更加清楚明白,以下结合附图对本申请的示例性实施例进行进一步详细的说明,显然,所描述的实施例仅是本申请的一部分实施例,而不是所有实施例的穷举。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
23.请参阅图1,示出了本申请一个实施例提供的图形处理器。图形处理器(graphics processing unit,gpu)10包括硬件解码模块11,双倍速率同步动态随机存储器(double data rate synchronous dynamic random access memory,ddr sdram)12以及显示模块13。
24.所述硬件解码模块12,用于对视频数据进行解码,并将解码后的所述视频数据存储在帧缓冲区中,即ddr sdram 12中。
25.所述显示模块13,用于查询寄存器确定显示地址的有效性,所述显示地址为用于屏幕显示的显示帧存区域对应的地址;根据所述显示地址的有效性,将所述解码后的视频数据拷贝到显示帧存区域进行显示。
26.请参阅图2,本申请实施例提供了一种视频显示方法,具体的该方法可以包括以下步骤。
27.步骤110,获取解码后的视频数据,并将所述解码后的视频数据存储在gpu帧存中。
28.图形处理器的基本功能为视频解码显示,也就是说,gpu具备将视频数据进行解码,再将解码后的视频数据拷贝到显示帧存中进行显示的功能。
29.通常,gpu中可以包括硬件解码模块以及双倍速率同步动态随机存储器(double data rate synchronous dynamic random access memory,ddr sdram)。gpu可以是通过硬件解码模块,对所述视频数据进行解码,得到解码后的视频数据。在得到解码后的视频数据时,gpu可以将所述解码后的视频数据存储到gpu帧存中,即gpu中的ddr sdram中,以供后续使用。
30.在一些实施方式中,也可以是通过其他方式对视频数据进行解码,例如软件解码,gpu可以是获取解码后的视频数据,并将所述解码后的视频数据存储在ddr sdram中。
31.步骤120,查询寄存器确定显示地址的有效性,所述显示地址为用于屏幕显示的显示帧存区域对应的地址。
32.通常,在将所述解码后的视频数据存储在gpu帧存中后,可以将所述gpu帧存中的所述解码后的视频数据,拷贝到显示帧存中,在屏幕刷新时,进行屏上显示。具体的,可以是将解码后的视频数据拷贝到显示帧存中,通过接口输出到显示屏进行显示。
33.可以是在拷贝所述解码后的视频数据之前,将所述显示地址以及显示地址的有效性设置到寄存器中。其中,所述寄存器可以是两个,分别为第一寄存器和第二寄存器,可以是将所述显示地址设置到所述第一寄存器,第二寄存器为显示地址有效属性,由输出模块根据显示设备及刷新率来决定,如果有效,则会更新该第二寄存器的值。作为一种实施方式,在显示地址有效时,可以将所述第二寄存器的值更新为1;在显示地址无效时,可以将所述第二寄存器的值更新为0。
34.在一些实施方式中,可以是按照预设间隔查询寄存器确定显示地址的有效性。可以是获取时间间隔,在所述时间间隔满足所述预设间隔时,查询寄存器确定显示地址的有效性,在没有满足所述预设间隔时,可以是直接将解码后视频数据拷贝到显示帧存区域。所述预设间隔可以根据实际的需要进行设置,在此不做具体限定。
35.显示地址为用于屏幕显示的显示帧存区域对应的地址,在显示帧存区域中,屏幕刷新时,可以将在所述显示帧存区域内的数据显示在屏幕上。从而,在将所述解码后的视频数据存储在gpu帧存中后,则可以查询所述寄存器确定所述显示地址的有效性,并根据查询
到的所述显示地址的有效性进行后续步骤。
36.步骤130,根据所述显示地址的有效性,将所述解码后的视频数据拷贝到显示帧存区域进行显示。
37.在确定所述显示地址的有效性之后,可以根据所述显示地址的有效性,将所述解码后的视频数据拷贝到与所述显示地址所指示的显示帧存区域进行显示。
38.所述显示地址的有效性可能是有效,也可能是无效。在确定所述显示地址的有效性为有效时,可以是直接将所述解码后的视频数据拷贝到显示帧存区域。
39.在确定所述显示地址的有效性为无效时,进行预设时间的短暂休眠,再次查询所述寄存器确定显示地址的有效性,直到在确定所述显示地址有效时,将所述解码后的视频数据拷贝到显示帧存区域进行显示。
40.在将所述解码后的视频数据拷贝到显示帧存区域进行显示时,可以是通过直接存储器访问(direct memory access,dma)的方式将所述解码后的视频数据,从所述图形处理器的帧存中,拷贝到显示帧存区域。dma硬件拷贝速度快,可保证及时将解码后的视频数据拷贝到显示帧存区域进行显示,保证画面的完整性。
41.本申请实施例提供的视频显示方法,获取解码后的视频数据,并将所述解码后的视频数据存储在图形处理器的帧存中;查询寄存器确定显示地址的有效性;根据所述显示地址的有效性,将所述解码后的视频数据拷贝显示帧存区域进行显示。根据显示地址的有效性,确定拷贝所述解码后的视频数据的时机,在显示地址有效性时,进行数据拷贝,可保证屏幕刷新时,每一帧画面的完整性,避免画面撕裂。
42.请参阅图3,本申请另一实施例提供了一种视频显示方法,在前述实施例的基础上重点描述了按照预设间隔查询寄存器的过程,具体的该方法可包括以下步骤。
43.步骤210,获取解码后的视频数据,并将所述解码后的视频数据存储在图形处理器的帧存中。
44.步骤220,获取时间间隔。
45.步骤230,确定所述时间间隔是否满足预设间隔;若是,执行步骤240;若否,执行步骤260。
46.在所述gpu将视频数据进行解码后,可以得到解码后的视频数据。所述gpu可以根据解码后的视频数据获取时间间隔。具体的,可以是对解码后的视频数据的帧数进行计数,以确定时间间隔。
47.通过对所述解码后的视频数据的帧数进行计数可以得到时间间隔,在所述时间间隔满足预设间隔时,可以执行步骤240。在所述时间间隔不满足所述预设间隔时,可以执行步骤260。
48.假设所述预设间隔为60帧,那么,在gpu对所述视频数据开始解码时,可以获取解码后的视频数据的帧数作为所述时间间隔,在解码后的视频数据的帧数为60帧时,表明时间间隔满足所述预设间隔。此时,重新开始获取解码后的视频数据的帧数,也就是说,在解码了60帧视频数据后,执行步骤240,并从0开始重新计算解码后的视频数据的帧数。
49.若获取到解码后的视频数据的帧数为20帧,表明时间间隔不满足所述预设间隔,从而可以执行步骤260。
50.在一些实施方式中,可以是预先设置有定时器,所述定时器可以是按照预设间隔
输出一次信号,可以根据所述定时器输出的信号确定是否满足预设间隔。gpu可以是在接收到定时器输出信号时,认为时间间隔满足预设间隔。
51.所述预设间隔可以根据实际的需要进行设置,在此不做具体限定。
52.步骤240,查询寄存器确定显示地址的有效性,所述显示地址为用于屏幕显示的显示帧存区域对应的地址。
53.步骤250,根据所述显示地址的有效性,将所述解码后的视频数据拷贝到显示帧存区域进行显示。
54.在确定所述时间间隔满足预设间隔时,可以执行步骤240至步骤250,通过查询寄存器确定显示地址的有效性,根据显示地址的有效性将解码后的视频数据拷贝到显示帧存区域进行显示。步骤240至步骤250的其余内容可参照前述实施例对应部分,在此不再赘述。
55.步骤260,将所述解码后的视频数据拷贝到显示帧存区域进行显示。
56.在确定所述时间间隔不满足预设间隔时,可以直接将所述解码后的视频数据拷贝到显示帧存区域进行显示。
57.本申请实施例提供的视频显示方法,在时间间隔满足预设间隔的情况下,查询寄存器确定显示地址的有效性,根据所述显示地址的有效性,将所述解码后的视频数据拷贝显示帧存区域进行显示。根据显示地址的有效性,确定拷贝所述解码后的视频数据的时机,可保证屏幕刷新时,每一帧画面的完整性,避免画面撕裂。
58.请参阅图4,本申请再一实施例提供了一种视频显示方法,在前述实施例的基础上重点描述了根据显示地址的有效性,拷贝解码后的视频数据的过程,具体的该方法可包括以下步骤。
59.步骤310,获取解码后的视频数据,并将所述解码后的视频数据存储在图形处理器的帧存中。
60.步骤310可参照前述实施例对应部分,在此不再赘述。
61.步骤320,将显示地址存储在第一寄存器中。
62.步骤330,将所述显示地址的有效性更新到第二寄存器中。
63.在将解码后的视频数据存储到gpu帧存后,可以设置用于屏幕显示的帧存地址到寄存器。此处可以设置两个寄存器,一个给上层软件进行设置,提供给硬件;另一个用于硬件状态变化后回写,可反馈给上层软件,用于上层软件获取当前地址有效属性。具体的,可以将用于屏幕显示的显示帧存区域对应的地址,即显示地址,存储在第一寄存器中。第二寄存器中存储的是显示地址的有效性,可以根据输出刷新率及显示设备的特征来确定显示地址是否有效,并将确定的显示地址的有效性更新到所述第二寄存器的值。
64.步骤340,查询所述第二寄存器。
65.步骤350,根据所述第二寄存器返回的结果确定所述显示地址的有效性。
66.由于所述第二寄存器中存储的为所述显示地址的有效性,因此,可以直接查询所述第二寄存器,根据所述第二寄存器返回的结果确定所述显示地址的有效性。
67.在一些实施方式中,所述第二寄存器返回的结果可以是0或1。若所述第二寄存器的返回结果为1,表明第一寄存器中的显示地址正在被屏幕刷新用于显示,从而可以确定所述显示地址有效。若所述第二寄存器的返回结果为0,表明未到显示时机,从而可以确定所述显示地址无效。
68.步骤360,若确定所述显示地址有效,从所述图形处理器的帧存中将所述解码后的视频数据拷贝到显示帧存区域进行显示。
69.在确定所述显示地址有效时,可以从所述图形处理器的帧存中,将所述解码后的视频数据拷贝到显示帧存区域进行显示。
70.具体的,可以是通过dma帧存拷贝的方式,将所述解码后的视频数据拷贝到第一寄存器中的显示地址所指示的显示帧存区域,进行显示。
71.步骤370,若确定所述显示地址无效,等待预设时间,继续查询所述第二寄存器,直到确定所述显示地址有效时,从所述图形处理器的帧存中将所述解码后的视频数据拷贝到显示帧存区域进行显示。
72.若确定所述显示地址无效,若此时将解码后的视频数据拷贝到显示帧存区域,可能会出现视频画面撕裂的现象。即此时屏幕上的正显示了部分上一帧的视频数据,此时,拷贝新的视频数据到显示帧存区域,则会将上一帧的视频数据覆盖掉,导致屏幕画面部分是上一帧的视频数据,另一部分是当前拷贝的视频数据。
73.因此,在确定所述显示地址无效时,可以等待预设时间,即进行短暂休眠,再次查询所述第二寄存器,若此时根据所述第二寄存器返回的结果确定显示地址有效,则可以将所述解码后的视频数据拷贝到显示帧存区域进行显示。若此时仍然确定所述显示地址无效,则继续等待预设时间后,再次查询所述第二寄存器。以此循环,直到确定所述显示地址有效时,将所述解码后的视频数据拷贝到显示帧存区域进行显示。
74.所述预设时间通常为微秒级,例如,可以是5us,所述预设时间可以根据实际的需要进行调整,在此不做具体限定。
75.本申请实施例提供的视频显示方法,将显示地址存储在第一寄存器,显示地址的有效性存储在第二寄存器;查询第二寄存器确定显示地址的有效性;根据所述显示地址的有效性,将所述解码后的视频数据拷贝显示帧存区域进行显示。根据显示地址的有效性,确定拷贝所述解码后的视频数据的时机,可保证屏幕刷新时,每一帧画面的完整性,避免画面撕裂。
76.请参阅图5,本申请实施例提供了一种视频显示装置400,所述视频显示装置400包括获取模块410,确定模块420以及拷贝模块430。所述获取模块410,用于获取解码后的视频数据,并将所述解码后的视频数据存储在图形处理器的帧存中;所述确定模块420,用于查询寄存器确定显示地址的有效性,所述显示地址为用于屏幕显示的显示帧存区域对应的地址;所述拷贝模块430,用于根据所述显示地址的有效性,将所述解码后的视频数据拷贝到显示帧存区域进行显示。
77.进一步的,所述视频显示装置400还用于获取时间间隔;确定所述时间间隔是否满足预设间隔;若所述时间间隔满足所述预设间隔,执行查询寄存器确定显示地址的有效性,直到将所述解码后的视频数据拷贝到显示帧存区域进行显示;若所述时间间隔不满足所述预设间隔,将所述解码后的视频数据拷贝到显示帧存区域进行显示。
78.进一步的,所述确定模块420还用于将显示地址存储在第一寄存器中;将所述显示地址的有效性更新到第二寄存器中;查询所述第二寄存器;根据所述第二寄存器返回的结果确定所述显示地址的有效性。
79.进一步的,所述确定模块420还用于若所述第二寄存器的返回结果为1,确定所述
显示地址有效;若所述第二寄存器的返回结果为0,确定所述显示地址无效。
80.进一步的,所述拷贝模块430还用于若确定所述显示地址有效,从所述图形处理器的帧存中将所述解码后的视频数据拷贝到显示帧存区域进行显示;若确定所述显示地址无效,等待预设时间,继续查询所述第二寄存器,直到确定所述显示地址有效时,从所述图形处理器的帧存中将所述解码后的视频数据拷贝到显示帧存区域进行显示。
81.进一步的,所述拷贝模块430还用于通过直接存储器访问的方式将所述解码后的视频数据,从所述图形处理器的帧存中,拷贝到第二寄存器中的显示地址对应的显示帧存区域。
82.本申请实施例提供的视频显示装置,获取解码后的视频数据,并将所述解码后的视频数据存储在图形处理器的帧存中;查询寄存器确定显示地址的有效性;根据所述显示地址的有效性,将所述解码后的视频数据拷贝显示帧存区域进行显示。根据显示地址的有效性,确定拷贝所述解码后的视频数据的时机,可保证屏幕刷新时,每一帧画面的完整性,避免画面撕裂。
83.要说明的是,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
84.请参阅图6,本申请实施例提供了一种电子设备的结构框图,该电子设备500包括处理器510以及存储器520以及一个或多个应用程序,其中所述一个或多个应用程序被存储在所述存储器520中并被配置为由所述一个或多个处理器510执行,所述一个或多个程序配置用于执行上述视频显示的方法。
85.该电子设备500可以是笔记本,个人电脑等能够运行应用程序的终端设备。本申请中的电子设备500可以包括一个或多个如下部件:处理器510、存储器520、以及一个或多个应用程序,其中一个或多个应用程序可以被存储在存储器520中并被配置为由一个或多个处理器510执行,一个或多个程序配置用于执行如前述方法实施例所描述的方法。
86.处理器510可以包括一个或者多个处理核。处理器510利用各种接口和线路连接整个电子设备500内的各个部分,通过运行或执行存储在存储器520内的指令、程序、代码集或指令集,以及调用存储在存储器520内的数据,执行电子设备500的各种功能和处理数据。可选地,处理器510可以采用数字信号处理(digital signal processing,dsp)、现场可编程门阵列(field-programmable gate array,fpga)、可编程逻辑阵列(programmable logic array,pla)中的至少一种硬件形式来实现。处理器510可集成中央处理器(central processing unit,cpu)、图形处理器(graphics processing unit,gpu)和调制解调器等中的一种或几种的组合。其中,cpu主要处理操作系统、用户界面和应用程序等;gpu用于负责显示内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器510中,单独通过一块通信芯片进行实现。
87.存储器520可以包括随机存储器(random access memory,ram),也可以包括只读存储器(read
‑
only memory)。存储器520可用于存储指令、程序、代码、代码集或指令集。存储器520可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于实现至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现下述各个方法实施例的指令等。存储数据区还可以存储电子设备500在使用中所创建的数据(比如电话本、音视频数据、聊天记录数据)等。
88.本申请实施例提供的电子设备,获取解码后的视频数据,并将所述解码后的视频数据存储在图形处理器的帧存中;查询寄存器确定显示地址的有效性;根据所述显示地址的有效性,将所述解码后的视频数据拷贝显示帧存区域进行显示。根据显示地址的有效性,确定拷贝所述解码后的视频数据的时机,可保证屏幕刷新时,每一帧画面的完整性,避免画面撕裂。
89.本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd
‑
rom、光学存储器等)上实施的计算机程序产品的形式。
90.本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
91.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
92.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
93.尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
94.显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
技术特征:
1.一种视频显示方法,其特征在于,所述方法包括:获取解码后的视频数据,并将所述解码后的视频数据存储在图形处理器的帧存中;查询寄存器确定显示地址的有效性,所述显示地址为用于屏幕显示的显示帧存区域对应的地址;根据所述显示地址的有效性,将所述解码后的视频数据拷贝到显示帧存区域进行显示。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:获取时间间隔;确定所述时间间隔是否满足预设间隔;若所述时间间隔满足所述预设间隔,执行查询寄存器确定显示地址的有效性,直到将所述解码后的视频数据拷贝到显示帧存区域进行显示;若所述时间间隔不满足所述预设间隔,将所述解码后的视频数据拷贝到显示帧存区域进行显示。3.根据权利要求1所述的方法,其特征在于,所述查询寄存器确定显示地址的有效性,包括:将显示地址存储在第一寄存器中;将所述显示地址的有效性更新到第二寄存器中;查询所述第二寄存器;根据所述第二寄存器返回的结果确定所述显示地址的有效性。4.根据权利要求3所述的方法,其特征在于,所述根据所述第二寄存器返回的结果确定所述显示地址的有效性,包括:若所述第二寄存器的返回结果为1,确定所述显示地址有效;若所述第二寄存器的返回结果为0,确定所述显示地址无效。5.根据权利要求3所述的方法,其特征在于,所述根据所述显示地址的有效性,将所述解码后的视频数据拷贝到显示帧存区域进行显示,包括:若确定所述显示地址有效,从所述图形处理器的帧存中将所述解码后的视频数据拷贝到显示帧存区域进行显示;若确定所述显示地址无效,等待预设时间,继续查询所述第二寄存器,直到确定所述显示地址有效时,从所述图形处理器的帧存中将所述解码后的视频数据拷贝到显示帧存区域进行显示。6.根据权利要求5所述的方法,其特征在于,所述从所述图形处理器的帧存中将所述解码后的视频数据拷贝到显示帧存区域进行显示,包括:通过直接存储器访问的方式将所述解码后的视频数据,从所述图形处理器的帧存中,拷贝到第二寄存器中的显示地址对应的显示帧存区域。7.一种图形处理器,其特征在于,所述图形处理器包括硬件解码模块,双倍速率同步动态随机存储器,以及显示模块;所述硬件解码模块,用于获取解码后的视频数据,并将所述解码后的视频数据存储在所述双倍速率同步动态随机存储器中;所述显示模块用于查询寄存器确定显示地址的有效性,所述显示地址为用于屏幕显示
的显示帧存区域对应的地址;所述显示模块还用于根据所述显示地址的有效性,将所述解码后的视频数据拷贝到显示帧存区域进行显示。8.一种视频显示装置,其特征在于,所述装置包括:获取模块,用于获取解码后的视频数据,并将所述解码后的视频数据存储在图形处理器的帧存中;确定模块,用于查询寄存器确定显示地址的有效性,所述显示地址为用于屏幕显示的显示帧存区域对应的地址;拷贝模块,用于根据所述显示地址的有效性,将所述解码后的视频数据拷贝到显示帧存区域进行显示。9.一种电子设备,其特征在于,所述电子设备包括:一个或多个处理器;存储器,与所述一个或多个处理器电连接;一个或多个应用程序,其中所述一个或多个应用程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个应用程序配置用于执行如权利要求1至6任一项所述的方法。10.一种计算机可读取存储介质,其特征在于,所述计算机可读取存储介质中存储有程序代码,所述程序代码可被处理器调用执行如权利要求1至6任一项所述的方法。
技术总结
本申请实施例中提供了一种视频显示方法及图形处理器,该方法包括:获取解码后的视频数据,并将所述解码后的视频数据存储在图形处理器的帧存中;查询寄存器确定显示地址的有效性;根据所述显示地址的有效性,将所述解码后的视频数据拷贝显示帧存区域进行显示。根据显示地址的有效性,确定拷贝所述解码后的视频数据的时机,可保证屏幕刷新时,每一帧画面的完整性,避免画面撕裂。避免画面撕裂。避免画面撕裂。
技术研发人员:敬念
受保护的技术使用者:长沙景美集成电路设计有限公司
技术研发日:2021.03.02
技术公布日:2021/6/29
转载请注明原文地址:https://doc.8miu.com/read-6927.html