• 
    <ul id="o6k0g"></ul>
    <ul id="o6k0g"></ul>

    嵌入式Linux平臺下的顯示方法技術(shù)

    技術(shù)編號:8682458 閱讀:278 留言:0更新日期:2013-05-09 02:32
    本發(fā)明專利技術(shù)涉及一種嵌入式Linux平臺下的顯示方法,包括:設(shè)置顯卡輸出的分辨率;根據(jù)所述分辨率、圖形層顯示格式和視頻層顯示格式,計算用于存儲圖形和視頻的存儲空間的大小;將所述存儲空間劃分為圖形層存儲空間和視頻層存儲空間;配置顯卡的寄存器,以使能所述圖形層存儲空間和所述視頻層存儲空間的分離;嵌入式Linux系統(tǒng)中的用戶的顯示實體訪問顯卡,從所述圖形層存儲空間讀寫圖形數(shù)據(jù),從所述視頻層存儲空間讀寫視頻數(shù)據(jù)。通過本發(fā)明專利技術(shù),將顯卡的圖形層與視頻層分離開來,用戶層顯示設(shè)備可以獨立對每一層進行控制。大大減少系統(tǒng)的復(fù)雜性,增加了穩(wěn)定性與可靠性。

    【技術(shù)實現(xiàn)步驟摘要】

    本專利技術(shù)涉及一種圖形和視頻的顯示方法,具體涉及ー種。
    技術(shù)介紹
    嵌入式Linux技術(shù)以其高效、穩(wěn)定以及占用資源少等特性廣泛應(yīng)用于消費類電子、多媒體終端等領(lǐng)域。一直以來,如何能將圖形用戶界面(GUI)高效的顯示出來是嵌入式Linux平臺下的一大弱項。傳統(tǒng)的顯示方法是基于X Window系統(tǒng)的,如圖1所示。X window采用Client/Server模式,底層與輸入輸出設(shè)備驅(qū)動進行通信,如鍵盤、鼠標以及顯卡;中間層是X Server,它是X window系統(tǒng)的核心,上層是ー個個的X Client端,可以是ー個獨立的應(yīng)用程序,如瀏覽器,也可以是ー個圖形庫,比如Qt、GTK庫等。X Client與X Server通信遵循Xll協(xié)議,簡單來講,X Server監(jiān)聽X Client端發(fā)送過來的圖形輸出請求,并負責(zé)完成相應(yīng)的操作,最后給X Client端ー個響應(yīng)。由于X window系統(tǒng)過于龐大和復(fù)雜,并不適合于應(yīng)用在嵌入式Linux系統(tǒng)中,雖然可以對其進行裁剪,但是裁剪難度不小,穩(wěn)定性也無法得到保證。另外,X window系統(tǒng)由于采用C/S模式,顯示數(shù)據(jù)必然要經(jīng)過額外的拷貝花銷,大大降低了顯示的實時性。同吋,X window沒有提供圖形層和視頻層的分離機制,應(yīng)用層瀏覽器不能同時顯示圖形層和視頻層,因為占據(jù)了同一存儲空間,瀏覽器在順序訪問存儲空間讀取數(shù)據(jù)來顯示時,視頻層覆蓋在前的圖形層,或者圖形層覆蓋了在前的視頻層,即不是“透明的”。但是,在實際的應(yīng)用中,用戶往往希望混合顯示視頻數(shù)據(jù)以及圖形⑶I,因此需要一種圖形層和視頻層彼此不相干擾的同時顯示的方法。
    技術(shù)實現(xiàn)思路
    為了能夠在嵌入式Linux平臺下高效的進行圖形和視頻的顯示,本專利技術(shù)提供ー種,包括:設(shè)置顯卡輸出的分辨率;根據(jù)所述分辨率、圖形層顯示格式和視頻層顯示格式,計算用于存儲圖形和視頻的存儲空間的大小;將所述存儲空間劃分為圖形層存儲空間和視頻層存儲空間;配置顯卡的寄存器,以使能所述圖形層存儲空間和所述視頻層存儲空間的分離;嵌入式Linux系統(tǒng)中的用戶的顯示實體訪問顯卡,從所述圖形層存儲空間讀寫圖形數(shù)據(jù),從所述視頻層存儲空間讀寫視頻數(shù)據(jù)。采用本技術(shù)方案后可以獲得以下有益的技術(shù)效果:I)繞開X window系統(tǒng),大大減少系統(tǒng)的復(fù)雜性,增加了穩(wěn)定性與可靠性;2)由于直接通過用戶的顯示實體將顯示數(shù)據(jù)直接寫入到顯卡的緩存中去,避免了中間環(huán)節(jié)的數(shù)據(jù)拷貝,顯示性能以及實時性大為提高;3)將顯卡的圖形實體與視頻實體分離開來,用戶的顯示實體可以獨立對圖形實體和視頻實體進行控制。附圖說明圖1為現(xiàn)有技術(shù)的采用X Window系統(tǒng)的顯示方法。圖2為本專利技術(shù)的的流程圖。具體實施例方式總體來說,本專利技術(shù)的技術(shù)方案涉及嵌入式Linux內(nèi)核層的顯卡以及用戶的顯示實體兩部分。如圖2所示,在嵌入式Linux系統(tǒng)中,根據(jù)顯卡的分辨率、圖形層顯示格式和視頻層顯示格式計算用于存儲圖形和視頻的存儲空間大小,可選地,也可以根據(jù)兩種顯示格式中占用空間較大的一個來計算存儲空間。圖形層顯示格式和視頻層顯示格式可以采用同一格式。將該存儲空間劃分為圖形層存儲空間和視頻層存儲空間。這兩個存儲空間不重疊,而且可以是鄰接的。所述圖形層存儲空間的大小根據(jù)圖形層顯示格式的一個像素所占用的字節(jié)而設(shè)定,所述視頻層存儲空間的大小根據(jù)視頻層顯示格式的一個像素所占用的字節(jié)而設(shè)定。嵌入式Linux系統(tǒng)中用戶的顯示實體訪問顯卡,從所述圖形層存儲空間讀寫圖形數(shù)據(jù),從所述視頻層存儲空間讀寫視頻數(shù)據(jù),也可以往上述兩個存儲空間內(nèi)寫入數(shù)據(jù)。以具有frame buffer功能的顯卡為例,將frame buffer映射到用戶的顯示實體,該顯示實體就可以像寫內(nèi)存的方式一樣將顯示數(shù)據(jù)寫入到顯卡的frame buffer中去,或者從frame buffer中讀取數(shù)據(jù)來顯示。同時,修改顯卡的驅(qū)動參數(shù),設(shè)置相關(guān)的寄存器,將顯卡的圖形層與視頻層進行分離,具體而言,是將各自的存儲空間進行分離,不再占用相同的一段存儲空間。分離后,圖形層存儲空間與視頻層存儲空間在frame buffer中的起始地址不同并且不會重疊,這樣對于用戶的顯示實體來說,就可以獨立的控制顯卡的圖形層以及視頻層的輸出和輸入。下面以Intel Sandy Bridge平臺i5_2300的CPU為例(顯卡集成在CPU中),介紹本專利技術(shù)的技術(shù)方案的實現(xiàn)步驟:I)在顯卡的GRUB啟動參數(shù)中設(shè)置顯卡輸出的分辨率設(shè)置,比如video =VGA-1:1280x1024060 ;2)在內(nèi)核顯卡驅(qū)動參數(shù)中根據(jù)先前GRUB中的設(shè)置,計算出frame buffer的空間范圍,比如分辨率是1280x1024的情況下,并且存在圖形層以及視頻層,每個像素按照ARGB格式表示,占用4個字節(jié),則圖形層和視頻層共占用的字節(jié)數(shù)為=1280x1024x4x2。如果視頻層采用YUYV格式,則圖形層和視頻層共占用的字節(jié)數(shù)為1280x1024x4+1280x1024x2。然后,采用i0remap_WC函數(shù)將這樣大小的字節(jié)空間的顯卡顯存映射出來,得到的虛擬地址即是frame buffer的首地址;3)分別設(shè)置圖形層以及視頻層的相關(guān)寄存器,以使能圖形層和視頻層,所述相關(guān)寄存器包括:起始地址寄存器、stride寄存器、顯示格式寄存器(顯示格式一般包括ARGB以及YUYV等)以及key color寄存器,以使得圖形層和視頻層對于彼此可以是“透明的”,特別是動態(tài)的視頻層數(shù)據(jù)不會被圖形層數(shù)據(jù)覆蓋,而無法顯示出來。根據(jù)不同的廠商芯片,設(shè)置的寄存器也不同,具體需要根據(jù)寄存器的用戶手冊來配置,但是基本原理就是在使能圖形層存儲空間和視頻層存儲空間的分離,比如Inteli5-2300CPU中key color寄存器的定義為: Bit ~ 31: 24 保留位 23: 16 RGB通道中R通道的目標比較值 15: 8RGB通道中G通道的目標比較值 7: 0 RGB通道中B通道的目標比較值如果設(shè)置上面寄存器中R通道值為a,G通道值為b,B通道值為c,那么圖形層像素點值為(a<<16|b<<8|c)的點將是透明的,即它顯示的圖像為視頻層該位置的值。4)在設(shè)置上述寄存器時,對于圖形層來說,選擇ARGB的顯示格式,而對于視頻層來說,一般選擇YUYV格式,這樣不僅可以避免格式轉(zhuǎn)換(因為一般解碼庫的輸出就是YV12格式),還可以減少需要拷貝到顯卡的存儲空間里去的數(shù)據(jù)量;5)在用戶層為應(yīng)用實體創(chuàng)建“/dev/fbO”設(shè)備樹文件;6)用戶的應(yīng)用實體讀取GRUB配置文件中的參數(shù),利用mmap函數(shù)將“/dev/fbO”進行內(nèi)存映射,得到的地址即是frame buffer可被應(yīng)用實體訪問的起始地址,大小空間為前面所述一致,即圖形層存儲空間+視頻層存儲空間。圖形層存儲空間與視頻層存儲空間是連續(xù)的,這樣各自的起始地址為:圖形層空間起始地址=frame buffer起始地址;視頻層空間起始地址=frame buffer起始地址+圖形層空間大小。用戶的顯示實體根據(jù)圖形層空間以及視頻層空間的起始地址分別進行圖形數(shù)據(jù)和視頻數(shù)據(jù)的刷新。如此,這樣對于用戶的應(yīng)用實體來說,就可以獨立的控制顯卡的圖形以及視頻輸出。上述實施例用來解釋說明本專利技術(shù),而不是對本專利技術(shù)進行限制,本文檔來自技高網(wǎng)...

    【技術(shù)保護點】
    一種嵌入式Linux平臺下的顯示方法,其特征在于,包括:設(shè)置顯卡輸出的分辨率;根據(jù)所述分辨率、圖形層顯示格式和視頻層顯示格式,計算用于存儲圖形和視頻的存儲空間的大小;將所述存儲空間劃分為圖形層存儲空間和視頻層存儲空間;配置顯卡的寄存器,以使能所述圖形層存儲空間和所述視頻層存儲空間的分離;嵌入式Linux系統(tǒng)中的用戶的顯示實體訪問顯卡,從所述圖形層存儲空間讀寫圖形數(shù)據(jù),從所述視頻層存儲空間讀寫視頻數(shù)據(jù)。

    【技術(shù)特征摘要】
    1.一種嵌入式Linux平臺下的顯示方法,其特征在于,包括: 設(shè)置顯卡輸出的分辨率; 根據(jù)所述分辨率、圖形層顯示格式和視頻層顯示格式,計算用于存儲圖形和視頻的存儲空間的大小; 將所述存儲空間劃分為圖形層存儲空間和視頻層存儲空間; 配置顯卡的寄存器,以使能所述圖形層存儲空間和所述視頻層存儲空間的分離; 嵌入式Linux系統(tǒng)中的用戶的顯示實體訪問顯卡,從所述圖形層存儲空間讀寫圖形數(shù)據(jù),從所述視頻層存儲空間讀寫視頻數(shù)據(jù)。2.根據(jù)權(quán)利要求1所述的嵌入式Linux平臺下的顯示方法,其特征在干, 所述圖形層存儲空間的大小根據(jù)圖形層顯示格式的一個像素所占用的字節(jié)而設(shè)定, 所述視頻層存儲空間的大小根據(jù)視頻層顯示格式的一個像素所占用的字節(jié)而設(shè)定。3.根據(jù)權(quán)利要求1所述的嵌入式Linux平臺下的顯示方法,其特征在于,所述圖形層存儲空間和所述視頻層存儲空間...

    【專利技術(shù)屬性】
    技術(shù)研發(fā)人員:彭席漢張興明傅利泉朱江明吳軍吳堅
    申請(專利權(quán))人:浙江大華技術(shù)股份有限公司
    類型:發(fā)明
    國別省市:

    網(wǎng)友詢問留言 已有0條評論
    • 還沒有人留言評論。發(fā)表了對其他瀏覽者有用的留言會獲得科技券。

    1
    主站蜘蛛池模板: 久久中文精品无码中文字幕| 久久精品日韩av无码| 日本精品人妻无码免费大全| 人妻丰满熟妇岳AV无码区HD| 精品国产a∨无码一区二区三区| 一本天堂ⅴ无码亚洲道久久| 国产精品无码2021在线观看| 久久久亚洲精品无码| 免费人妻无码不卡中文字幕18禁| 国产精品VA在线观看无码不卡| 97久久精品无码一区二区| 亚洲最大av无码网址| 无码人妻精品中文字幕免费东京热 | 久久久久无码精品国产app| 中国少妇无码专区| 精品久久久久久无码中文字幕一区| 亚洲gv猛男gv无码男同短文 | 无码人妻av一区二区三区蜜臀| 国产午夜无码片免费| 亚洲av中文无码字幕色不卡| 国产做无码视频在线观看浪潮| 亚洲一级特黄大片无码毛片 | 成人免费一区二区无码视频| 色欲A∨无码蜜臀AV免费播| 国产aⅴ无码专区亚洲av麻豆| 日韩放荡少妇无码视频| 永久免费av无码网站韩国毛片| 国产乱人无码伦av在线a| 亚洲精品无码成人片久久| 国产高清无码二区| 亚洲国产91精品无码专区| 成人免费无码大片a毛片软件| 色综合无码AV网站| 亚洲AV无码一区二区乱子仑 | 真人无码作爱免费视频| 亚洲AV无码一区二区三区鸳鸯影院 | 亚洲成A人片在线观看无码3D | 国产午夜av无码无片久久96| 午夜福利无码不卡在线观看| 亚洲日韩精品一区二区三区无码 | 人妻少妇看A偷人无码电影|