本發(fā)明屬于h.264/h.265解碼領(lǐng)域,尤其涉及一種基于android平臺的解碼庫性能分析軟件。
背景技術(shù):
對于解碼研究人員而言,在實際的工作中,經(jīng)常需要接觸到各種各樣的碼流,對于得到的碼流要使用所開發(fā)的解碼庫進(jìn)行解碼,來考查解碼庫對于一些特定的碼流的解碼性能以及這些特定的碼流是否可以在android平臺上被正確解碼。通常研究人員的做法是在獲取碼流之后,將其交付給特定人員,再在android平臺上進(jìn)行重復(fù)性地操作。當(dāng)碼流的數(shù)量較多時,則需要進(jìn)行頻繁地操作,又或者因為時間和地點的限制,不能及時地對碼流進(jìn)行測試,因此如何使用一種自動化地方法來解決這些困難,是一個亟待解決的問題。
本發(fā)明的目的在于開發(fā)出一款基于android平臺的解碼庫性能分析app,為解碼研究人員提供一種自動化解碼的工具,避免出現(xiàn)重復(fù)性地體力勞動,達(dá)到節(jié)省開發(fā)時間,提高工作效率,降低出錯概率的目的。
技術(shù)實現(xiàn)要素:
針對上述問題,本發(fā)明提出了一種基于android平臺的解碼庫性能分析軟件,它包含了參數(shù)設(shè)置模塊、常用模塊、打開模塊、記錄模塊。
基于android平臺的解碼庫性能分析軟件,包括以下內(nèi)容。
利用移動客戶端下載基于android平臺的解碼庫性能分析軟件并安裝運(yùn)行,打開軟件的一級頁面。
a1:點擊進(jìn)入到設(shè)置界面,選擇解碼器的類型為h.264/h.265。
a2:對要解碼的幀數(shù)進(jìn)行設(shè)置,默認(rèn)幀數(shù)為600,可以在編輯框編輯解碼幀數(shù),也可以滑動編輯框右側(cè)的滑動條進(jìn)行設(shè)置,解碼幀數(shù)的有效區(qū)間為[1,10000]。
a3:對要解碼時解碼庫的線程數(shù)進(jìn)行設(shè)置,默認(rèn)線程數(shù)為1,可以在編輯框編輯線程數(shù),也可以滑動編輯框右側(cè)的滑動條進(jìn)行設(shè)置,解碼庫的線程數(shù)的有效區(qū)間為[1,8]。
a4:對要解碼時每一秒同時解碼的碼流數(shù)進(jìn)行設(shè)置,默認(rèn)路數(shù)為1,可以在編輯框編輯路數(shù),也可以滑動編輯框右側(cè)的滑動條進(jìn)行設(shè)置,解碼的路數(shù)的有效區(qū)間為[1,16],每一秒最多可以并行解碼16個碼流。
a5:點擊線程偵測按鈕,選擇是否開啟線程偵測,如開啟線程偵測,在解碼時,對于小于720p的線程,軟件為該碼流分配一個線程進(jìn)行解碼,對于大于等于720p但小于1080p的碼流,軟件為其分配兩個線程進(jìn)行解碼,對于大于等于1080p的碼流,軟件為其分配四個線程進(jìn)行解碼;如關(guān)閉線程偵測,則使用b3中所設(shè)置的線程數(shù)。
a6:點擊解碼器偵測按鈕,選擇是否開啟解碼器偵測,如開啟解碼器偵測按鈕,則軟件可以自動為其指定h.264/h.265解碼庫;如不開啟解碼器偵測,則使用b1中所設(shè)置的解碼庫進(jìn)行解碼。
b1:返回到一級界面,點擊常用來進(jìn)行常用碼流的解碼,可以使用勾選的方式來選擇碼流進(jìn)行測試,設(shè)置常用模塊的目的是方便用戶的操作,用戶只需要將碼流放置在常用文件夾中,即可直接點擊常用圖標(biāo)來對這些碼流進(jìn)行解碼。
b2:選擇好碼流之后,可以對選擇的進(jìn)行預(yù)解析,在預(yù)解析界面將會顯示的結(jié)果有文件名、分辨率、熵編碼、解碼器、線程數(shù)、幀數(shù)以及路數(shù)。
b3:預(yù)解析之后可以進(jìn)行碼流的正式解碼,解碼過程中會出現(xiàn)進(jìn)度提示。
b4:解碼完成后可以選擇保存,軟件會提示定義分組名,保存成功后,解碼記錄會被保存進(jìn)數(shù)據(jù)庫。
c1:返回到一級界面,點擊打開進(jìn)入到內(nèi)置存儲界面,會列出一些列的文件夾進(jìn)行選擇,設(shè)置該功能呢的目的,是為了讓用戶可以將碼流放置在多個文件夾,這樣方便區(qū)分。
c2:選擇好碼流之后,可以對選擇的進(jìn)行預(yù)解析,在預(yù)解析界面將會顯示的結(jié)果有文件名、分辨率、熵編碼、解碼器、線程數(shù)、幀數(shù)以及路數(shù)。
c3:預(yù)解析之后可以進(jìn)行碼流的正式解碼,解碼過程中會出現(xiàn)進(jìn)度提示。
c4:解碼完成后可以選擇保存,軟件會提示定義分組名,保存成功后,解碼記錄會被保存進(jìn)數(shù)據(jù)庫。
d1:返回到一級界面,點擊記錄進(jìn)入到歷史記錄界面,此項功能的只要目的是為了方便用戶查看歷史解碼信息,避免重復(fù)性操作。
d2:在此模塊,可以進(jìn)行歷史記錄的查詢,只要在搜索框輸入相應(yīng)的字符,便可以按照文件名和分組名進(jìn)行搜索。
d3:在此模塊可以選擇相應(yīng)的碼流,執(zhí)行刪除操作。
附圖說明
圖1為軟件按照功能劃分之后的結(jié)果。
圖2-4為每個功能模塊下的子功能模塊。
圖5-7為每個功能模塊的操作流程。
圖8-25為軟件的主界面以及每個功能模塊的操作流程。
具體實施方式
基于android平臺的解碼庫性能分析軟件的使用方法,包括以下步驟。
a1:設(shè)置界面如圖9和10所示,自上而下分別是解碼器設(shè)置、幀率設(shè)置、幀數(shù)設(shè)置、線程數(shù)設(shè)置、路數(shù)設(shè)置、線程偵測開關(guān)、解碼器偵測開關(guān)。①點擊頂部返回箭頭,會退回到軟件主界面。②點擊重置選項會將解碼器重置為h.264,將幀率重置為25,將幀數(shù)重置為600,將線程數(shù)重置為1,將路數(shù)重置為1,開啟線程偵測開關(guān),開啟解碼器偵測開關(guān)。③解碼器可以通過點擊下拉菜單來修改;幀率、幀數(shù)、線程數(shù)、路數(shù)可以通過編輯框來修改,也可以通過滑動滑動條來修改;線程偵測、解碼器偵測可以直接點擊修改。
b1:常用界面如圖11所示,常用界面中所顯示的碼流是應(yīng)用自帶的碼流文件,點擊頂部的返回箭頭會直接返回到主界面。
b2:勾選一個碼流文件,會彈出底部按鈕,如圖12所示。此時會提供導(dǎo)入和全選操作來供用戶使用。
b3:點擊全選后,會勾選全部碼流,同時全選按鈕會變?yōu)槿∠粹o,如圖13所示。點擊取消按鈕后,被勾選的碼流會不再勾選,同時底部的按鈕也會消失,恢復(fù)為圖11所示。
b4:點擊導(dǎo)入按鈕后,會出現(xiàn)預(yù)解析之后的結(jié)果,如圖14所示,此時的界面上所顯示的信息包含文件名、文件大小、熵編碼、解碼器、幀數(shù)、線程數(shù)、路數(shù)、幀率、分辨率。左右滑動導(dǎo)入后的結(jié)果,可以查看全部的信息。
b5:點擊界面會跳轉(zhuǎn)到參數(shù)設(shè)置界面,如圖15所示。此時可以設(shè)置的參數(shù)包含解碼器、幀率、幀數(shù)、線程數(shù)。點擊重置按鈕會將將參數(shù)重置為a1中手動設(shè)置的參數(shù)。
b6:點擊返回鍵,會回退到導(dǎo)入結(jié)果的界面上,此時修改的參數(shù)也會顯示到導(dǎo)入界面上。點擊開始測試按鈕,會開始碼流的解碼,解碼過程中會有進(jìn)度提示框出現(xiàn),如圖16所示。
b7:碼流測試完畢后,可以查看解碼結(jié)果,如圖17所示。此時的解碼結(jié)果包含文件名、文件大小、熵編碼、解碼器、幀數(shù)、線程數(shù)、路數(shù)、用時、性能、幀率、碼率、分辨率。
b8:點擊保存按鈕后,底部會有彈出框出現(xiàn),提示定義一個分組名,如圖18所示。
b9:點擊確定后,會出現(xiàn)提示數(shù)據(jù)保存成功,此時的數(shù)據(jù)已經(jīng)插入到了數(shù)據(jù)庫中。
c1:打開選項同常用選項的功能基本相同,唯一不同的是常用選項不能進(jìn)行sdcard的瀏覽,而打開選項則可以瀏覽sdcard,如圖19。關(guān)于打開選項的更多操作可參考b1-b9。
d1:記錄界面如圖20所示,在記錄界面上可以查看的選項有文件名、分組名、測試編號、保存日期、保存時間、文件大小、熵編碼、解碼器、幀數(shù)、線程數(shù)、路數(shù)、用時、性能、幀率、碼率、分辨率。
d2:在搜索框中輸入關(guān)鍵字,會進(jìn)行實時搜索,如圖21所示。
d3:勾選一個記錄,會彈出底部按鈕,如圖22所示。此時會提供刪除和全選操作來供用戶使用。
d4:點擊全選后,會勾選所有的解碼記錄,同時全選按鈕會變?yōu)槿∠粹o,如圖23所示。點擊取消按鈕后,被勾選的解碼記錄會不再勾選,同時底部的按鈕也會消失,恢復(fù)為圖24所示。
d5:點擊刪除后,會刪除所勾選的記錄,如圖25所示。