《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于TMS320C6416的DRM音頻解碼實現及優化
基于TMS320C6416的DRM音頻解碼實現及優化
來源:電子技術應用2011年第5期
崔 穎,趙 宇,馬永濤,劉開華
天津大學 電子信息工程學院,天津300072
摘要: 給出了數字廣播調幅系統DRM的AAC音頻解碼器在定點DSP芯片TMS320C6416上的實現方案,從多方面對AAC音頻解碼器的關鍵技術進行優化。實驗結果表明,算法的運行速度提高了10倍,存儲器占用情況有較大改善,為DRM廣播信號解碼系統執行音頻解碼之前的解調和信道解碼程序節省了很大的周期資源和處理空間。
中圖分類號: TN914
文獻標識碼: A
文章編號: 0258-7998(2011)05-0031-04
Realization and optimization of audio decoder in DRM system based on TMS320C6416
Cui Ying, Zhao Yu,Ma Yongtao,Liu Kaihua
Electronic Information Engineering Academy of Tianjin University, Tianjin 300072,China
Abstract: This paper presents the solution of AAC audio decoder in digital radio mondiale on TMS320C6416. Various of its key technologies are optimized. Experiment results show that the algorithm runs ten times faster and the memory used has been improved considerably, saving a lot of processing space and resource for the decoding system of DRM broadcast signal to implement demodulation and channel decoding before audio decoding.
Key words : DRM;AAC;audio decoder;TMS320C6416


    數字廣播調幅系統DRM(Digital Radio Mondiale)采用先進音頻編碼AAC(Advanced Audio Coding)作為其主要的信源編碼方式[1],在與模擬調幅廣播同樣的帶寬(9 kHz或10 kHz)下實現了調頻的音質。DRM不僅解決了模擬調幅廣播抗干擾能力差等缺點,而且在音頻業務的基礎上又增加了文本、圖像、數據等附加業務,豐富了調幅廣播的內容,大大提高了調幅廣播的市場競爭力,成為調幅廣播發展的必然趨勢。
    信源編碼是DRM系統的關鍵技術,其壓縮節目音頻源信號,只需較少的傳輸帶寬就可保證接收端的重建音頻信號有較好的音質。DRM音頻解碼器的實現和優化決定了系統能否正確實現音頻解碼,并完成音頻的實時播放,使用戶得到良好音質。本文中AAC音頻解碼程序在DSP硬件平臺上運行,由于硬件平臺性能有限,要求音解碼器不僅要能確保音頻質量,還要不能占用DSP系統太多的資源。因此研究DRM音頻解碼器在高性能DSP平臺上的實現及其優化具有非常重要的現實意義。
1 DRM音頻解碼流程
    通用MPEG-4 AAC音頻編解碼器的原理和實現技術已經很成熟,不再詳述。DRM系統的信源編碼方案中所采用的頻帶恢復技術(SBR)提供了類似于MPEG-4 AAC中感知噪聲整形(PNS)模塊的功能,故DRM系統采用的音頻編碼方案不包括PNS模塊,同時也去除了長期預測(LTP)、采樣率可分級(SSR)等復雜的模塊,降低了算法復雜度,對處理器的處理能力要求也相對較低,適合應用于嵌入式開發平臺上。AAC的采樣率有12 kHz和24 kHz兩種,5個(12 kHz采樣頻率)或10個(24 kHz采樣頻率)音頻幀組成一個持續時間固定為400 ms的音頻超級幀。本文優化之前首先在PC機的VC++6.0環境下實現了DRM廣播信號的正確解碼和實時播放,測試信號為單聲道、48 kHz采樣,采用AAC音頻編碼的wav格式的DRM廣播信號源,其中AAC的采樣率為24 kHz,即一個音頻超幀包含10個子幀。在VC++6.0環境下運行整個工程,經同步、解調和信道解碼后獲得DRM信號源中的AAC音頻編碼數據,在每次AAC子幀解碼前將每子幀數據輸出到一個文件。在DSP上測試音頻解碼程序時,可以直接提取AAC數據進行解碼,解碼流程如圖 1所示。解碼過程如下:

    (1)對傳來的AAC子幀數據進行比特流分解,根據DRM系統中音頻子幀結構獲取語法單元、霍夫曼碼字等各部分的數據。
    (2)進行霍夫曼解碼,這部分用到了一系列的霍夫曼碼書進行查詢解碼。頻域數據和比例因子的獲得都在這一步。該過程需要在將順序打亂的碼字重新組合在一起的同時,進行霍夫曼解碼,并將解碼之后的數據放置到正確的位置上,準備進行下一步的反量化。
    (3)對解碼后的頻域數據進行反量化。
    (4)將反量化的結果乘以(2)中生成的比例因子。
    (5)濾波器組部分。這部分在解碼時采用了逆改進離散余弦變換(IMDCT)[2],還包括一個加窗的過程和疊加的過程。功能模塊的輸出為信號的時域值。
2 TMS320C6416的DSP開發平臺
    TMS320C6416(簡稱C6416)[3]是一種高性能的32 bit定點DSP芯片。本文使用的C6416的工作頻率達到600 MHz。其特點包括:具有8個功能單元的高級超長指令體系結構的CPU;所有指令有條件執行;支持8/16/32 bit可變長度數據訪問;支持常用算術運算的飽和與歸一化操作;兩級高速緩存(Cache)存儲器結構及豐富的片內外設,如增強型直接存儲器訪問EDMA控制器、多通道緩沖串口McBSP等。C6416開發板上除C6416 DSP芯片外,還帶有外擴的512 K×8 bit的FLASH。
    開發環境采用DSP集成開發環境CCS(Code Composer Studio),它集成了代碼編輯、編譯、工程管理、代碼生成與調試、代碼性能剖析、數據查看、繪制數據圖像、DSP/BIOS參數設置,以及提供各種優化建議等工具模塊。
3 音頻解碼程序的優化
    本文優化之前先在PC機VC++6.0環境下實現了DRM廣播信號的正確解碼和實時播放,但移植到DSP平臺之后不能實時播放。本文單獨將音頻解碼部分的程序移植到DSP開發平臺CCS3.1開發環境中,測試數據為前文中存儲的AAC解碼前每子幀的數據。優化前,不帶有SBR解碼的情況下,音頻解碼程序中一個音頻超幀里每個子幀解碼所花費的周期數,即運行效率如下:
    子幀1:1 901 300        子幀2:3 667 994
    子幀3:3 469 783        子幀4:3 397 752
    子幀5:1 745 753        子幀6:3 416 357
    子幀7:3 439 464        子幀8:3 331 484
    子幀9:1 721 339        子幀10:1 764 605
    (共計27 855 831周期)
    在DSP上單獨測試音頻解碼的效率,計算所花費的時鐘周期數的語句如下:
    st=clock( ); aac_frame_decode(, , , ); end=clock(); printf("clock cost %d\n",end - st);
其中aac_frame_decode( )是信道解碼與音頻解碼的接口函數,該函數調用AAC解碼程序,在此,其參數與返回值已省略。在CCS環境下,運行程序前點擊Profile剖析菜單下Clock選項中的Enable,就打開了CCS的程序運行周期計數功能。兩次clock函數調用返回值之差就是解碼函數花費的周期數。表1是利用CCS3.1中Profile工具分別計算的程序優化前后一個超幀解碼過程中每個函數所花費的周期數。
      優化的本質是提高程序的運行效率,同時保持程序原有功能準確無誤。本文針對本課題中的具體問題,提出以下對應的優化措施:
      (1)去除原程序中用不到的函數。最初的音頻解碼程序是針對所有MPEG-4 AAC標準使用的,其中包含了很多功能模塊,如MP4解碼、PNS解碼、LTP解碼等。這些功能在DRM系統的音頻編碼標準AAC中是用不到的,所以應當將它們去除,否則其生成的代碼不僅無用,而且會占用大量存儲空間。在CCS3.1中點擊Profile菜單下的Analysis Toolkit選項中的Code coverage and Exclusive Profiler,按照提示運行程序,可以得到一個Excel文件。該文件將代碼覆蓋程度、每個函數調用次數以及執行函數CPU所花費的周期數等展示出來,從而可以方便地找到每個文件中一直沒有運行的函數,去除這些函數可節省大量存儲空間且保證程序功能無誤。
    (2)循環體優化。原始的音頻解碼程序已經采用了一些常用的算法級別的優化,如IMDCT的快速算法[4]、霍夫曼解碼的查表快速算法等,但仍沒有達到最理想的速度。主要原因是for循環和定點化的問題。在AAC解碼器中,循環體幾乎占用了60%的資源,因此它的優化非常重要。要想充分發揮C6416 DSP處理器的8個功能單元并行執行指令的功能,需要讓編譯器盡可能多地生成由2條以上指令組成的超長指令。C/C++編譯器可以對代碼進行不同級別的優化。高級優化由專門的優化器完成,與目標DSP有關的低級優化由代碼生成器完成。圖2是編譯器、優化器和代碼生成器的執行圖。

 

 

    最簡單的執行優化的方法是用cl6x編譯程序[5],在命令行設置-On選項即可。n是優化的級別(n為0、1、2或3),它控制優化的類型和程度。-O3級別下,編譯器可對循環代碼實現軟件流水[6],優化器將會充分利用處理器的8個功能單元,盡可能多地生成并行指令,使最后的可執行代碼運行速度達到最高,以達到優化代碼的目的。
    軟件流水是用來安排循環指令并使這個循環多次迭代并行執行的一種技術。簡單循環情況下,軟件流水能夠正常的發揮作用,但在多層嵌套循環情況下,軟件流水往往會失敗。簡化循環是充分發揮軟件流水的通用而有效的辦法。如本文中一個函數reordered_spectral_data( )中存在多達5層嵌套的for循環,有的循環中還有條件分支函數,在-O3優化情況下,解一個超幀10次調用這個函數之后,共花費7 613 426個周期,與其他函數開銷相比如圖3(a)所示。這是因為優化器只能對最內層的循環進行軟件流水操作,而外層的循環只能按照原語句執行,于是大量語句只能以最慢的方式執行。
    經過對這個函數中的循環語句進行分析和調試,同時參照AAC標準,在保證功能正確實現的基礎上對該函數做如下改進:這個函數的功能是將打亂順序的霍夫曼碼字重新排序,并進行霍夫曼解碼。在碼字重新排序的過程中有碼書查找的步驟,編碼時碼書的選擇是有優先級別的,解碼時需要從最高級到最低級依次判斷是否存在以這個碼書編碼的碼字,如果有就進行解碼,沒有就判斷下一個碼書,每判斷一個碼書就是一次大循環。事實上,碼書級別都很低,先前大部分循環中判斷的碼書都是錯誤的,所以可以另外用一個小的循環檢查出級別最高的碼書,這樣就會在真正解碼的嵌套循環中省去許多無用的循環。另外在嵌套的for循環中,有一層是針對窗組進行的循環,即有幾個窗組需要解碼,就循環幾次。事實上,窗組往往只有一個,多窗組的情況極為少見,所以這層for循環在大部分情況下可以去除。但多窗組的情況畢竟存在,可以事先用一個if條件判斷窗組個數,再根據結果條件執行相應的程序。這就使程序在大多數情況下能夠節省大量的運行時間,因為它會執行軟件流水生成的代碼,而在極少情況下會執行效率最慢的未經優化的代碼。
    按照上述的分析進行優化之后,結果如圖3(b)所示。reordered_spectral_data()函數優化之后的開銷為:10次調用這個函數共花費1 029 512周期,與優化前的7 613 426周期相比,運行速度提高了7倍多。

    (3)消除存儲器相關性。如果C6416編譯器可以確定兩條指令是不相關的,則安排它們并行執行,否則安排指令串行執行。有幾個方法可以幫助編譯器確定哪些指令不相關:使用restrict關鍵字聲明指針;一起使用-pm選項和-O3選項確定程序優先級,在程序優先級中,所有源文件都被編譯成一個模塊,從而使編譯器更有效地消除相關性;使用-mt選項向編譯器說明代碼不存在存儲器相關性,即允許編譯器在無存儲器相關性的假設下進行優化。
 (4)使用內聯函數。C6416編譯器提供的內聯函數是直接映射為內聯指令的特殊函數,內聯函數的代碼高效、長度短??梢允褂脙嚷摵瘮挡⑿袃灮疌代碼。
    (5)在循環前加上#pragma MUST_ITERATE(, ,),向編譯器傳遞循環次數信息,編譯器會生成更好的循環代碼,或消除因不知道循環次數而產生的冗余循環以便減小整個代碼量。
4 DRM音頻解碼器的測試結果
    通過實施上述各種優化方法,從算法程序上的等效替代到充分利用編譯的優化功能,音頻解碼程序運行效率有了明顯的提高。下面是同一個超幀解碼中每個子幀花費的周期數,總計數周期為2 641 488,與優化前程序花費的27 855 831個周期相比,運行時間不到原來的1/10。
    子幀1:396 470        子幀2:250 626    
    子幀3:247 983        子幀4:226 120
    子幀5:254 623        子幀6:224 668
    子幀7:231 056        子幀8:254 901
    子幀9:277 520        子幀10:279 424
    (共計2 641 488周期)
    從表1可以看出,優化后一些函數的訪問次數為0,這是由于優化采用了內聯函數的功能,它們的代碼被內聯在一些較大的函數中,如faad_getbits( )函數;另一種情況:如對于pns_decode( )函數,由于DRM系統的音頻編碼標準中的SBR技術提供了相當于PNS的功能,所以AAC中的PNS模塊沒有使用,優化中被刪除。對比表1中優化前后數據可知,很多函數花費的周期大大減少,如decode_scale_factors函數等。

    本文給出了DRM音頻解碼器在TMS320C6416上的實現方案,并結合TMS320C6416的特性,從去除無用函數、內聯函數替換、循環體優化等多方面對音頻解碼程序進行了優化。在充分利用EDMA硬件資源的音頻驅動程序的配合下,優化后的音頻解碼程序能夠完成音樂的實時播放。DRM中一個AAC超幀的時間為400 ms,優化后解碼一個音頻超幀耗費的周期數從2 800萬降至300萬,即每秒音頻解碼需750萬周期,遠小于C6416每秒所能執行的周期數(600 M),不但能保證音頻解碼和播放的實時性,還為DRM廣播信號解碼系統執行音頻解碼之前的解調和信道解碼程序節省了很大的周期資源和處理空間。
參考文獻
[1] ETSI ES 201 980 V3.1.1[S].Digital Radio Mondiale(DRM):System Specification,2009.
[2] CHO Yang Ki,SONG Tae Hoon,Kim Hi Seok.An optimized algorithm for computing the modified discrete cosine transform and its inverse transform[J],IEEE,2004:626-628.
[3] Texas Instruments.TMS320C6414,TMS320C6415,TMS320C6416 fixed-point digital signal processors.SPRS 146N. 2005.
[4] 竇維蓓,劉若珩,王建昕,等,基于DSP的IMDCT快速算法[J].清華大學學報,2000,40(3):99-103.
[5] Texas Instruments Incorporated.TMS320C6000系列DSP編程工具與指南[M].北京:清華大學出版社,2006.
[6] 馬君國,王遠模,常華俊,等.在DSP處理器上并行實現ATR算法[EB/OL].http://www.eeworld.com.cn/designarticles/dsp/200703/11490.html.

此內容為AET網站原創,未經授權禁止轉載。
热re99久久精品国产66热_欧美小视频在线观看_日韩成人激情影院_庆余年2免费日韩剧观看大牛_91久久久久久国产精品_国产原创欧美精品_美女999久久久精品视频_欧美大成色www永久网站婷_国产色婷婷国产综合在线理论片a_国产精品电影在线观看_日韩精品视频在线观看网址_97在线观看免费_性欧美亚洲xxxx乳在线观看_久久精品美女视频网站_777国产偷窥盗摄精品视频_在线日韩第一页
  • <strike id="ygamy"></strike>
  • 
    
      • <del id="ygamy"></del>
        <tfoot id="ygamy"></tfoot>
          <strike id="ygamy"></strike>
          性久久久久久久久| 亚洲国产精品ⅴa在线观看| 亚洲九九九在线观看| 国产视频一区免费看| 国产精品成人国产乱一区| 亚洲国产一区二区三区青草影视| 亚洲精品一区在线| 久久综合九色综合网站| 麻豆国产va免费精品高清在线| 欧美国产日本在线| 国产日韩精品综合网站| 亚洲美女视频在线观看| 亚洲宅男天堂在线观看无病毒| 亚洲成色www8888| 午夜精品久久久| 国产精品卡一卡二卡三| 精品二区久久| 欧美日韩大片一区二区三区| 欧美高清视频一区二区三区在线观看| 国产日韩三区| 日韩网站在线| 国产精品每日更新| 在线播放中文一区| 久久精品国产精品亚洲精品| 欧美在线亚洲一区| 暖暖成人免费视频| 日韩视频免费观看高清在线视频| 在线看欧美视频| 另类成人小视频在线| 亚洲精品一区二区三区在线观看| 在线看欧美视频| 欧美理论电影网| 国产亚洲欧美激情| 欧美 日韩 国产精品免费观看| 欧美精品在线一区二区| 午夜国产精品视频免费体验区| 久久综合婷婷| 欧美日韩国产三区| 国产欧美日韩免费| 久久九九全国免费精品观看| 亚洲自拍都市欧美小说| 美女在线一区二区| 国产精品入口夜色视频大尺度| 欧美日韩成人综合| 欧美视频一区二区三区| 99pao成人国产永久免费视频| 亚洲欧美日韩在线不卡| 一区二区在线观看av| 亚洲毛片在线观看| 欧美视频日韩视频在线观看| 国产精品影片在线观看| 亚洲欧美激情一区| 美女诱惑一区| 先锋影音久久久| 国产精品一级| 欧美在线视频网站| 欧美二区在线| 麻豆久久久9性大片| 一本色道久久88亚洲综合88| 欧美第一黄色网| 欧美激情视频在线免费观看 欧美视频免费一| 欧美性jizz18性欧美| 国产欧美日韩精品a在线观看| 激情懂色av一区av二区av| 久久人人97超碰精品888| 国产精品裸体一区二区三区| 国产一区二区三区四区在线观看| 亚洲精品视频在线看| 国外成人免费视频| 黑人极品videos精品欧美裸| 国产精品免费观看视频| 中文久久精品| 欧美成人免费一级人片100| 国产精品99久久久久久久女警| 男女精品网站| 国产精品丝袜xxxxxxx| 性欧美大战久久久久久久久| 亚洲主播在线| 日韩视频在线观看国产| 亚洲综合999| 国产在线精品成人一区二区三区| 在线观看视频一区二区| 韩国在线一区| 亚洲美女黄网| 欧美在线首页| 欧美性猛交一区二区三区精品| 性亚洲最疯狂xxxx高清| 亚洲国产岛国毛片在线| 亚洲精品久久| 欧美一区二区三区免费观看| 欧美日韩中文精品| 日韩天堂在线观看| 欧美日韩一二区| 日韩亚洲欧美成人一区| 欧美在线啊v一区| 国产一区香蕉久久| 亚洲图中文字幕| 99日韩精品| 在线播放豆国产99亚洲| 久久9热精品视频| 欧美成人资源网| 欧美日韩国产综合一区二区| 欧美在线一二三| 亚洲欧美一区二区原创| 男女av一区三区二区色多| 老牛国产精品一区的观看方式| 久久精品视频va| 欧美三级视频在线播放| 亚洲一区三区在线观看| ●精品国产综合乱码久久久久| 欧美一区二区三区视频在线| 久久av资源网| 久久国产精品免费一区| 激情91久久| 国产亚洲欧美日韩美女| 国产精品网站在线播放| 国产精品日本欧美一区二区三区| 亚洲国产高清自拍| 亚洲国产精品久久精品怡红院| 国产精品一区二区久久国产| 蜜桃视频一区| 国产精品欧美日韩久久| 亚洲大片在线| 欧美韩国在线| 国产精品久久久久久久久动漫| 中文日韩在线视频| 一区二区免费在线观看| 久久久久www| 欧美巨乳在线| 欧美一区二视频在线免费观看| 国产欧美日韩一区二区三区在线| 久久久人成影片一区二区三区观看| 午夜免费电影一区在线观看| 在线亚洲一区二区| 欧美jizzhd精品欧美喷水| 久久夜色精品国产| 国产视频一区在线观看| 亚洲欧美国产精品桃花| 欧美国产激情二区三区| 国产一区香蕉久久| 欧美专区中文字幕| 欧美久久一区| 一区二区在线视频播放| 国产精品一级二级三级| 狠狠88综合久久久久综合网| 亚洲精品综合| 亚洲欧洲一区二区三区久久| 亚洲国产精品一区二区www在线| 亚洲网站在线| 午夜精品在线看| 久久久精品国产免大香伊| 国产欧美视频一区二区三区| 国产麻豆综合| 国产精品推荐精品| 日韩午夜av在线| 在线成人av网站| 亚洲国产欧美一区二区三区同亚洲| 欧美a级片网| 免费日韩精品中文字幕视频在线| 欧美一级大片在线观看| 国产精品久久久久久久一区探花| 亚洲六月丁香色婷婷综合久久| 国产亚洲一区在线播放| 亚洲午夜激情在线| 亚洲香蕉在线观看| 久久久久综合网| 亚洲欧美日韩一区二区三区在线观看| 国产视频一区在线观看| 国产亚洲精品7777| 精品88久久久久88久久久| 依依成人综合视频| 欧美午夜一区二区| 99综合在线| 久久只有精品| 国产精品久久久久久久电影| 欧美午夜剧场| 宅男精品导航| 久久gogo国模裸体人体| 久久欧美中文字幕| 国产精品羞羞答答| 国产一区二区三区直播精品电影| 欧美视频日韩视频在线观看| 日韩亚洲在线| 久久精品一区二区三区中文字幕| 欧美日韩国产成人在线观看| 亚洲高清自拍| 久久成人资源| 亚洲国产视频a| 一区二区三区欧美视频| 国产精品国产亚洲精品看不卡15| 99国产欧美久久久精品| 国产人久久人人人人爽| 国产欧美激情| 在线中文字幕一区| 中文在线不卡视频| 亚洲狼人综合| 在线观看欧美| 最近中文字幕mv在线一区二区三区四区| 一区二区久久久久| 这里只有精品视频| 宅男66日本亚洲欧美视频| 欧美视频二区| 欧美日韩专区在线| 在线精品国产成人综合| 久久一区欧美| 亚洲欧美日韩国产综合精品二区| 亚洲国产成人在线| 欧美午夜视频在线| 性色av一区二区三区红粉影视| 在线亚洲观看| 亚洲国产免费| 欧美国产日韩一二三区| 欧美啪啪一区| 久久成人免费日本黄色| 亚洲国产91精品在线观看| 国产一区二区三区直播精品电影| 国产专区精品视频| 精品粉嫩aⅴ一区二区三区四区| 国产亚洲精品综合一区91| 国产精品免费电影| 欧美日韩你懂的| 午夜精品成人在线视频| 欧美激情1区2区| 最近中文字幕日韩精品| 欧美在线视频一区二区| 欧美岛国在线观看| 亚洲综合色丁香婷婷六月图片| 国产欧美大片| 亚洲国产精品成人精品| 亚洲精美视频| 国产在线精品成人一区二区三区| 欧美体内she精视频在线观看| 国产在线国偷精品产拍免费yy| 99爱精品视频| 久久婷婷综合激情| 久久综合影音| 欧美成人福利视频| 亚洲国产成人高清精品| 欧美日本在线| 免费观看成人鲁鲁鲁鲁鲁视频| 亚洲午夜成aⅴ人片| 欧美日韩免费一区| 国产小视频国产精品| 欧美激情视频在线免费观看 欧美视频免费一| 久久性色av| 欧美少妇一区二区| 在线一区二区三区四区五区| 国产日韩在线亚洲字幕中文| 欧美高清视频一区二区| 国产中文一区二区三区| 国产精品无码永久免费888| 国产亚洲欧美日韩在线一区| 欧美日韩1区| 国产主播喷水一区二区| 亚洲影院色在线观看免费| 亚洲精品中文字| 欧美精品午夜| 国产午夜亚洲精品不卡| 亚洲午夜精品一区二区三区他趣| 亚洲高清久久网| 伊人久久久大香线蕉综合直播| 最新国产精品拍自在线播放| 欧美激情在线狂野欧美精品| 另类专区欧美制服同性| 99国产精品视频免费观看一公开| 国产日产欧美一区| 欧美日本韩国一区二区三区| 亚洲高清视频一区二区| 一区二区视频免费完整版观看| 欧美亚洲视频一区二区| 亚洲精品在线视频观看| 国产精品系列在线| 国产一区二区三区久久久| 欧美在线综合| 亚洲午夜在线观看视频在线| 国产综合视频在线观看| 香蕉久久一区二区不卡无毒影院| 欧美激情按摩在线| 欧美伦理视频网站| 亚洲欧美激情四射在线日| 欧美精品乱人伦久久久久久| 国产精品色一区二区三区| 鲁鲁狠狠狠7777一区二区| 亚洲网站在线| 久久久久久久欧美精品| 亚洲欧洲在线免费| 亚洲女与黑人做爰| 国产精品久久精品日日| 欧美日韩一区在线播放| 久久久久久久久久久久久9999| 亚洲制服欧美中文字幕中文字幕| 国内精品久久久久久久影视蜜臀| 国产精品久久久久久久浪潮网站| 国内成+人亚洲| 亚洲免费影视| 欧美在线观看一二区| 看片网站欧美日韩| 国产日韩欧美一区| 国产亚洲一区二区精品| 亚洲经典自拍| 日韩香蕉视频| 亚洲美女福利视频网站| 欧美经典一区二区| 亚洲一本视频| 欧美福利一区二区| 亚洲欧美卡通另类91av| 欧美日韩国产欧| 亚洲片在线观看| 欧美老女人xx| 亚洲婷婷综合色高清在线| 欧美日韩一区二区免费在线观看| 国产精品福利久久久| 久久久久国产一区二区三区四区| 欧美在线亚洲综合一区| 久久成人免费视频| 男女精品网站| 久久精品国产一区二区三区免费看| 久久精品毛片| 国产午夜精品视频免费不卡69堂| 国产主播精品在线| 国产一区二区三区在线观看精品| 99人久久精品视频最新地址| 亚洲欧美日韩国产成人精品影院| 国内不卡一区二区三区| 欧美日韩精品二区第二页| 国产欧美精品一区aⅴ影院| 亚洲午夜久久久| 蜜臀99久久精品久久久久久软件|