《電子技術應用》
您所在的位置:首頁 > 模擬設計 > 設計應用 > 基于ADSP-BF533處理器的濾波器的實現及優化
基于ADSP-BF533處理器的濾波器的實現及優化
莫啟敏 吳啟宗 朱秀昌
摘要: 本文通過系統、算法及匯編3個級別優化實現了H.264中的去方塊濾波功能,特別是通過改進去方塊濾波的實現算法,對待濾波的宏塊進行分類以及充分地利用并行指令、向量指令等匯編級別的優化手段,取得了較好的優化效果。
Abstract:
Key words :

引言  

在已有的基于塊的視頻編解碼系統中,當碼率較低時都存在方塊效應,新的視頻編碼標準H.264中亦是如此。產生這種方塊效應的主要原因有兩個:一是由于對變換后的殘差系數進行的基于塊的整數變換后,以大的量化步長對變換系數進行量化會使得解碼后的重建圖像的方塊邊緣出現不連續;二是在運動補償中插值運算引起的誤差使得編解碼器反變換后的重建圖像會出現方塊效應。如果不進行處理,方塊效應還會隨著重構幀積累下去,從而嚴重地影響圖像的質量和壓縮效率。為了解決這一問題,H.264中的去方塊濾波技術采用較為復雜的自適應濾波器" title="濾波器">濾波器來有效地去除這種方塊效應。因此,如何在實時視頻解碼中優化去方塊濾波算法,降低計算復雜度,提高重建圖像質量,就成了H.264解碼的一個關鍵問題。
  
1 H.264的去方塊濾波
  
1.1 濾波原理
  
大的量化步長會造成相對較大的量化誤差,這就可能將原來相鄰塊“接壤”處像素間灰度的連續化變成了“臺階”變化,主觀上就有”偽邊緣”的方塊效應。去方塊效應的方法就是在保持圖像總能量不變的條件下,把這些臺階狀的階躍灰度變化重新復原成臺階很小或者近似連續的灰度變化,同時還必須盡量減少對真實圖像邊緣的損傷。
  
1.2 自適應濾波過程
  
在H.264中,去方塊濾波器是按照16×16像素的宏塊為單位順序進行的,在宏塊中按照每個4×4子塊之間的邊緣以先垂直后水平的順序進行,從而對整個重建圖像中的所有邊緣(圖像邊緣除外)進行濾波。具體的邊緣示意圖如圖1所示。對于16×16像素的亮度宏塊,共有4條垂直邊緣,4條水平邊緣,每條邊緣又分為16條像素邊緣。而對應8×8像素的色度宏塊有垂直邊緣和水平邊緣各2條,每條邊緣分為8條像素邊緣。像素邊緣是進行濾波的基本單元。



1.2.1 濾波器在兩個層次上的自適應性" title="自適應性">自適應性
  
H.264中的去方塊濾波所以有較好的濾波效果,是由于它在以下兩個層次上的自適應性。
  
1) 濾波器在4×4子塊級別的自適應性
  
濾波是基于各個子塊中的像素邊緣進行的,通過對每一條像素邊緣定義一個參數BS(邊緣強度)來自適應地調節濾波的強弱和涉及的像素點。色度塊的像素邊緣強度與相應的亮度像素邊緣強度相同。假設P和Q為兩個相鄰的4×4子塊,其中的像素邊緣強度通過圖2的步驟獲得。BS的值越大,則對相應的邊緣兩側進行的濾波越強,這是根據產生方塊效應的原因來設定的,如采用幀內預測模式的子塊的方塊現象較明顯,則對該子塊中的對應邊緣設定較大的像素邊緣強度值來進行強濾波。


2) 濾波器在像素點級別上的白適應性
  
正確區分由于量化誤差、運動補償產生的虛假邊緣和圖像中的真實邊界才能得到好的濾波效果。通常,真實邊界兩側的像素梯度差值要比虛假邊界兩側的像素梯度差值大,因此,濾波器通過對邊緣兩側像素點的灰度值的梯度差值設定門限α、對同一側的相鄰像素點的灰度值的梯度差值設定門限β來進行真偽邊界的判定。α和β的值主要與量化步長有關,當量化步長大時,量化誤差也大,方塊效應就明顯,易產生虛假邊界,因此門限值隨之變大,放寬濾波條件。反之,量化步長小時門限值也變小,體現了自適應性。采樣點的設置見圖3。若條件都滿足,則進開始濾波。



除了這兩種自適應性,還可以通過設置位于片級的系數LoopFilterAlphaC0Offset、LoopFilterBetaOffset來調整濾波 的強度。例如當傳輸碼率較低時,方塊效應較明顯,接收端想要主觀質量相對較好的圖像,則編碼端可通過設置位于片頭信息中的濾波偏移量LoopFil-terAlphaC0Offset,LoopFilterBetaOffset為正值,以此增大α和β來加強濾波,通過去除方塊效應來提高圖像主觀質量。或者對于高分辨率的圖像,可以通過傳送負值偏移來減弱濾波,盡量保持圖像的細節。
  
1.2.2 依據各像素邊緣BS值對相鄰的像素濾波
  
若當前像素邊緣符合濾波條件,則根據其相應的BS值選取對應的濾波器進行濾波并且進行適當的剪切操作,以防止圖像的模糊。
  
當BS值是1,2,3時,采用一個4抽頭的線性濾波器,對輸入的P1、P0、Q0、Q1進行濾波調整得到新的Q0、P0,如果內部有虛假邊界,則進一步調整Q1、P1的值。
  
當BS值是4時,則對應的是采用幀內編碼模式的宏塊邊緣,應采用較強的濾波以達到增強圖像質量的目的。對于亮度分量,若條件(| P0~Q0 | <((α》2)+2))&abs(P2-P0)成立,則選擇5拙頭濾波器對P0、P2進行濾波,使用較強的4抽頭濾波器對P1進行濾波;若條件不成立,則只使用較弱的3抽頭濾波器對P0進行濾波,而P1、P2的值保持不變。對于色度分量,若上述條件滿足,則對P0進行3抽頭濾波,若條件不滿足,則所有的像素值都不修改。對Q0、Q1、Q2的濾波操作與P0、P1、P2的濾波操作相同。

2 BF533的特點和結構
  
我們的H.264去方塊濾波是在ADI公司的Blackfin ADSP-BF533" title="ADSP-BF533">ADSP-BF533處理器上實現的。Blackfin系列DSP主要具有以下特點:
  
a) 高度并行的計算單元。Blackfin系列DSP體系架構的核心是DAU(數據算術單元),包括2個16位的MAC(乘法累加器)、2個40位的ALU(算術邏輯單元),1個40位單桶形的移位器,4個8位視頻ALU。每個MAC能在單一時鐘周期內對4個獨立的數據操作數執行16位乘16位的乘法運算。40位的ALU可累加2個40位的數字或者4個16位的數字。這種體系架構可靈活地進行8值、16位、32位的數據運算。
  
b) 動態電源管理。處理器可以通過改變電壓和工作頻率,消耗比其他DSP更少的功耗。Blackfin系列DSP體系架構的允許電壓和頻率獨立調整,使得每一項任務的消耗能量最小,在性能和功耗間有較好的平衡,適合實時視頻編/解碼器的開發,特別是對功耗有嚴格要求的實時運動視頻處理。
  
c) 高性能的地址產生器。具有2個DAG(數據地址產生器),用于產生支持高級DSP濾波運算的地址的復合裝入或存儲單元。支持位倒序尋址和循環緩沖以及其他多種尋址方式,提高了編程的靈活性。
  
d) 分層結構的內存。分層結構的內存縮短了內核對內存的訪問時間,以獲得最大的數據吞吐量、較少的延遲和縮短的處理空載時間。
  
e) 特有的視頻操作指令。提供適合DCT(離散余弦變換)、霍夫曼編碼等視頻壓縮標準中常用的操作指令,這些視頻指令還消除了主處理器與一個獨立的視頻編解碼器之間的復雜和易混和通信問題。這些特點有助于為終端應用縮短產品上市時間,同時降低了系統的總體成本。
  
我們使用的ADSP-BF533可以實現600 MHz的持續工作,具有:4 GB的統一尋址空間;80 kB SRAM的L1指令指令存儲器,其中16 kB可配置成4路的聯合Cache;2個32 kB SRAM的L1數據存儲器,其中一半可配置為Cache;集成豐富的外圍設備和接口。
  
3 基于BF533的H.264去方塊濾波優化實現
  
去方塊濾波器在Blackfin BF533優化實現主要分為系統級別的優化、算法級別的優化、匯編級別的優化3個級別。
  
3.1 系統級別的優化
  
打開DSP平臺中編譯器的優化選項并將優化速度設置為最快,打開Automatic Inlining開關(自動內聯開關)以及Interprocedural optimization開關(優化過程開關),通過以上的一些設置充分發揮Blackfin BF533的硬件性能。
 
3.2 算法級別的優化
  
將JM8.6參考模型中的去方塊濾波部分進行適當的系統修改,移植到原有的基于Blackfin BF533的H.264基本擋次的解碼器中,并通過圖像序列對其進行耗時分析。選用碼率為400 kbit/s左右的Paris.cif、Mobile.cif、Foreman.cif、Claire.cif序列,去方塊濾波所耗費的時鐘周期約為1 600 MHz~1 800 MHz,即使在經過系統優化后,計算復雜度仍然相當大,效率很低,對于Blackfin BF533處理器600 MHz的持續工作頻率是相當大的負擔。
  
通過分析JM8.6中去方塊濾波程序,其效率低下的主要原因是:
  
a) 算法中的函數邏輯關系復雜,判斷、跳轉、函數調用等情況特別多;
  
b) 最耗時的部分,即函數循環的內部存在大量的重復計算,造成計算復雜度劇增;
  
c) 算法中用到的不少數據,例如運動矢量、圖像的亮度和色度數據等存放在速度較慢的片外SDRAM中,但在濾波過程中的頻繁調用,使數據搬運時間劇增。
  
針對耗時的原因,對算法進行了以下改進:
  
3.2.1 將原程序中復雜的函數及循環簡單化
  
指令長度和運算速度是相互制約的,往往將代碼通過條件判斷可以進行高度精簡,但由于增加了機器的判斷工作量而使得速度變慢;反之,將代碼中的判斷去除,程序進行展開,往往可以減少耗費的指令周期,但代碼長度會增加。JM8.6中的去方塊濾波代碼較短,將其中的函數間關系簡單化,以代碼長度增加換取執行速度的增加。
  
對于系統運行最耗時的循環體,采取適當改寫循環形式、多重循環體展開等方法有效地減少運算的復雜度。此外,減少調用函數次數,改寫if-else語句也是有效的優化手段。
  
3.2.2 去除參考代碼中的大量冗余代碼和重復計算
  
a) 因為使用的參考代碼是JM8.6中的去方塊濾波模塊,該模塊可以對H.264的各種擋次和級別的碼流進行濾波,而解碼器是基于基本擋次的,僅僅涉及到I幀、P幀的濾波操作,因此可以將參考代碼中的關于B幀、SP/SI幀、場模式和幀場自適應模式的相關濾波部分去除。
 
b) 程序在獲取濾波強度BS和進行亮度/色度的濾波過程中,都要獲取當前子塊所在的宏塊的相鄰宏塊的可達性的信息(即這個宏塊能否被使用,通過調用GetNeighbour 函數實現),由于濾波是按照宏塊中的邊緣先垂直后水平進行的,對于一條邊緣獲取的信息是相同的,因此這個操作可以對每條邊緣獲取一次即可,不必在循環內部反復判斷。同時在濾波算法中,僅需要獲取在當前宏塊上面和左邊的宏塊的可達性信息,可將獲取當前宏塊的左上及右上角宏塊信息的冗余操作去除。同時,獲取水平方向的濾波強度的函數調用getNeighbour時,getNeighbour參數的取值分別是luma為定值1,xN是[-1,3,7,11],yN是[0-15],此時函數getNeighbour中的很多if-else語句是無效的判斷,這些冗余判斷占用了大量的時鐘周期。此外,對各個分支的概率進行分析,將概率最大的判斷分支放在前面執行,也提高了函數執行的速度。
  
以下是精簡后的GetNeighbour函數代碼,僅有數條語句,大大減少了運算量。


c) 在JM86參考代碼中對于一個亮度宏塊的16×4共64條像素邊緣的BS值逐條獲取,而通過對BS獲取條件進行分析可知,處于兩個子塊間垂直邊緣或水平邊緣的4條像素邊緣的BS值分別是相等的。因此,對一條邊緣僅要進行獲取第1、5、9、13條像素邊緣的BS值,再賦給相應的其他像素邊緣即可,由于獲取BS值的操作位于循環中,需要經過許多判斷及運算,通過這一改進,大大簡化了計算復雜度。
  
d) 參考代碼中的循環內部有很多語句與循環參數無關,可以將這些語句調整至循環外部,避免了冗余計算。
  
3.2.3 利用BPP分塊處理技術解決片外數據頻繁調用的問題
  
針對頻繁調用片外數據影響了程序的運行速度的問題,采用BPP分塊技術進行優化。在片內的L1緩存中開辟3塊空間分別存放待濾波的亮度分量、色度U分量、色度V分量。根據每個宏塊進行濾波時可能涉及的像素范圍,在對CIF圖像進行濾波時,將一幀的396個宏塊分成4類:A類為第1個宏塊,其上邊緣和左邊緣都是圖像邊緣,對其濾波前讀入的亮度數據是16×16,色度數據是2個8×8;B類為第1個宏塊行中除去第1個宏塊的其余宏塊,其上邊緣是圖像邊緣,對其濾波前讀入的亮度數據是16×20,色度數據是兩個8×12;C類是第1個宏塊列中除去第1個宏塊的其余宏塊,其左邊緣是圖像邊緣,對其濾波前讀人的亮度數據是20×16,色度數據是2個12×8;D類是除掉A、B、C這3類宏塊的其余宏塊,也就是上邊緣和左邊緣都在當前圖像內的宏塊,對其濾波前讀入的亮度數據是20×20,色度數據是2個12×12。
  
進行濾波時,首先按宏塊的類型以不同的數量從片外的數據緩存中整塊地讀入亮度和色度數據到片上的3塊濾波緩存,然后進行濾波處理,并將結果數據重新存儲到片外存儲空間中。通過這種方法,一方面在一定程度上減少了頻繁調用片外數據的時間,提高了運行速度;另一方面通過對待濾波宏塊的細分,減少了參考代碼中的判斷引起的流水線中斷,也在一定程度上提升了程序速度。
  
3.3 匯編級別的優化
  
BlackfinBF533處理器的內核支持C或C++語言,但由系統自動將C程序翻譯成匯編語言效率比較低下,因此對一些系統調用比較頻繁、耗時較多的模塊,可以用人工將其轉化成高效率的匯編語言來提高運行速度。主要通過以下幾個方面來提高程序的速度:
  
a) 以寄存器變量代替局部變量。在C語言中,子程序和函數中往往使用局部變量來暫時存放數據。當程序運行時,編譯器為聲明的所有局部變量開辟臨時內存空間,對于局部變量的存取操作都涉及到內存的存取,而內存訪問的速度相對于寄存器訪問是很慢的。因此,可以利用系統中的數據寄存器、指針寄存器來替代僅僅起暫存作用的局部變量,從而大大節省系統訪問內存帶來的時間延遲。但由于系統中的寄存器數量對于局部變量來說相當有限,因此必須合理高效地使用寄存器。
  
b) 以硬件循環代替軟件循環。軟件循環是指在for或while等循環的開始或結尾處設置判斷條件來控制循環的開始、繼續、結束。軟件循環的條件判斷指令會動態地選擇分支,一旦發生跳轉,會阻塞流水線,而保持流水線的暢通是保持高效運行的關鍵因素。Blackfin處理器有專用的硬件支持兩級嵌套的零開銷硬件循環,這種方式不需要判斷條件轉移,DSP硬件根據預定的循環次數自動執行循環并結束循環,從而保證了流水線的暢通,提高速度。
  
c) 充分利用數據總線寬度。Blackfin533外部數據總線寬度32位,一次可存取4字節。因此,充分利用數據總訪問寬度,特別在操作大量數據時,保持一次存取4字節,可減少指令周期數,從而提高執行速度。

d) 高效使用并行指令和向量指令。并行指令和向量指令是Blackfin系列DSP的一大特點。通過對并行指令的使用,可以充分發揮Blackfin處理器的SIMD系統結構的優點及硬件資源的并行處理能力,減少指令數,從而提高程序執行效率。往往通過對程序的合理安排可以做到使用1條并行指令來替代2條或3條非并行指令。向量指令則充分利用指令寬度,同時對多個數據流進行相同操作,如要進行2個16位的算術或移位操作,完全可以通過1個32位的向量指令來實現,從而以1個時鐘周期來實現原來2個周期的工作。例如R3=abs R1(V)就用1個指令周期同時實現2個16位數據的求絕對值操作。
  
e) 合理配置數據存儲空間。限于DSP片內和片外數據存儲空間的訪問速度和容量特點,片內空間存取速度快但容量很小,而片外空間較大但訪問速度慢,因此,合理地分配數據存放位置對于提高程序的運行速度是十分關鍵的。對于使用頻率高的數據盡量放在片內空間中,而不常用的數據放在片外空間中。若要存取位于片外的數據時,應將待存取的數據盡量安排成連續分布,一次將大塊的片外數據讀進片內緩存,避免頻繁讀取片外數據帶來的時間浪費。
  
4 優化實現的結果
  
測試優化效果的方法是將參考代碼JM8.6中的去方塊濾波C程序模塊加到原有的解碼器中進行測試,并與經過系統、算法、匯編3個級別優化的去方塊濾波匯編程序模塊的測試周期進行對比。選擇的測試圖像序列為Clarie.cif、Paris.cif、Mobile.cif,測試數據見表1。


由表1可以看出,與未優化前的JM8.6中的C程序代碼相比,經過優化后的去方塊濾波匯編模塊效率提高了7倍左右。

5 結束語
  
本文通過系統、算法及匯編3個級別優化實現了H.264中的去方塊濾波功能,特別是通過改進去方塊濾波的實現算法,對待濾波的宏塊進行分類以及充分地利用并行指令、向量指令等匯編級別的優化手段,取得了較好的優化效果。優化實現的去方塊濾波模塊,基于原有的H.264解碼器上對一個25幀約400 kbit/s的圖像序列進行濾波,大概需要250 MHz的時鐘周期,而解碼器的總周期約為700 MHz的時鐘周期,從而使得解碼器的解碼速度達到約20幀/s,基本達到準實時解碼的要求。
  
該實現方法相對于參考模塊進行了較好的優化,但通過對程序進行耗時分析,在讀取待濾波數據和重新寫入已濾波的數據,獲取BS值的GetBs函數和進行濾波的EdgeLoop函數方面都還有進一步提升的空間。對于片外片內數據的交互可以采用DMA技術,在濾波的同時進行數據讀寫,從而抵消數據搬移消耗的時鐘周期;對于GetBs和EdgeLoop中的匯編代碼實現效率還有進一步改進的空間;這兩方面也是下一步的改進方向。

 

此內容為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>
          99精品欧美一区二区三区综合在线| 亚洲免费一区二区| 亚洲精品日本| 亚洲免费福利视频| 亚洲黄色尤物视频| 在线日韩欧美| 欧美日韩在线亚洲一区蜜芽| 国产一区二区三区免费观看| 久久er99精品| 欧美成人精品影院| 国产美女搞久久| 亚洲欧洲三级| 欧美在线视频导航| 亚洲激情一区二区三区| 亚洲一区二区三区777| 久久精品视频免费| 国产日韩精品一区二区浪潮av| 国产精品久久久久久福利一牛影视| 亚洲国产一成人久久精品| 亚洲美女视频在线免费观看| 欧美四级在线| 激情成人av在线| 老司机免费视频一区二区三区| 亚洲在线视频网站| 亚洲国产精彩中文乱码av在线播放| 美女被久久久| 韩国v欧美v日本v亚洲v| 国产精品久久久久久久午夜片| 国产精品极品美女粉嫩高清在线| 欧美福利小视频| 性做久久久久久免费观看欧美| 欧美一区二区三区在| 一区二区动漫| 亚洲国产网站| 亚洲欧美日韩精品综合在线观看| 在线成人欧美| 国产伪娘ts一区| 国产在线观看一区| 国产精品乱码一区二三区小蝌蚪| 亚洲图片激情小说| 欧美阿v一级看视频| 日韩视频―中文字幕| 久久激情网站| 亚洲国产精品ⅴa在线观看| 在线日韩日本国产亚洲| 国产精品日韩一区| 亚洲成人资源| 国产精品综合不卡av| 国产字幕视频一区二区| 亚洲综合第一| 欧美区在线观看| 亚洲国产欧美一区二区三区同亚洲| 亚洲在线成人精品| 国产精品永久免费视频| 国产日韩精品在线观看| 性欧美激情精品| 亚洲欧美另类国产| 狠狠干狠狠久久| 欧美福利视频网站| 国产精品揄拍一区二区| 欧美日韩免费区域视频在线观看| 中文在线不卡视频| 国产欧美一区二区三区沐欲| 亚洲男人的天堂在线观看| 欧美日韩亚洲一区在线观看| 国产三级欧美三级| 亚洲欧美视频在线| 一区二区三区毛片| 国产视频亚洲精品| 亚洲天堂成人在线观看| 激情婷婷久久| 久久久久九九视频| 亚洲欧美经典视频| 国产一区二区三区成人欧美日韩在线观看| 国产视频在线观看一区| 最新日韩精品| 欧美精品黄色| 亚洲欧美日韩视频二区| 一本久道久久综合中文字幕| 国产一区二区三区精品久久久| 国产精品日韩在线| 久久久www成人免费无遮挡大片| 午夜性色一区二区三区免费视频| 欧美日韩一区二区高清| 老司机一区二区| 日韩图片一区| 亚洲在线免费视频| 欧美成人午夜影院| 亚洲国产一区在线| 国产日韩av一区二区| 老司机精品福利视频| 亚洲欧美国产va在线影院| 欧美一区国产一区| 精品1区2区| 久久成人综合视频| 在线播放亚洲一区| 欧美成人综合| 欧美日韩你懂的| 欧美日韩亚洲激情| 欧美特黄a级高清免费大片a级| 亚洲综合日本| 国产精品美女www爽爽爽视频| 欧美亚州韩日在线看免费版国语版| 欧美网站大全在线观看| 另类尿喷潮videofree| 一区二区三区视频在线播放| 亚洲欧洲精品一区| 亚洲欧洲一区二区在线观看| 欧美片在线观看| 欧美日韩一区二| 欧美大片免费久久精品三p| 久久久噜噜噜久噜久久| 欧美日韩精品系列| 欧美精品一区二区三区久久久竹菊| 欧美在线三区| 影音先锋欧美精品| 亚洲无人区一区| 麻豆乱码国产一区二区三区| 久久美女艺术照精彩视频福利播放| 亚洲图中文字幕| 欧美午夜一区二区三区免费大片| 欧美人牲a欧美精品| 国产日韩欧美在线播放不卡| 国产综合在线视频| 亚洲欧美中文日韩在线| 久久riav二区三区| 亚洲精品影视在线观看| 欧美日韩精品是欧美日韩精品| 欧美中文字幕在线播放| 久久国产精品久久久久久久久久| 欧美自拍偷拍午夜视频| 国产有码一区二区| 欧美日韩精品欧美日韩精品一| 亚洲视频电影图片偷拍一区| 激情欧美日韩| 欧美视频精品一区| 激情懂色av一区av二区av| 欧美三级日韩三级国产三级| 亚洲国产精品www| 国产精品分类| 欧美日本亚洲韩国国产| 国产精品理论片在线观看| 国内偷自视频区视频综合| 99国产精品久久久久久久成人热| 久久噜噜亚洲综合| 中文一区二区| 国产毛片精品国产一区二区三区| 欧美中文在线观看国产| 欧美电影资源| 欧美日韩1区2区| 久久精品国产亚洲一区二区| 欧美日韩黄色一区二区| 一本色道久久88亚洲综合88| 久久久久久91香蕉国产| 在线亚洲一区观看| 国产精品裸体一区二区三区| 麻豆精品在线视频| 蜜桃av久久久亚洲精品| 久久久xxx| 欧美成人中文字幕在线| 国产精品一区二区在线观看不卡| 欧美激情1区2区| 国产一区二区三区久久久久久久久| 亚洲欧洲日本国产| 欧美日韩国产美女| 国产亚洲网站| 99国产精品国产精品久久| 久久久激情视频| 亚洲欧美日韩另类精品一区二区三区| 国产一区二区三区日韩| 国产精品久久激情| 欧美影院在线播放| 久久亚洲综合色| 国产精品一区二区久久| 久久夜色精品国产| 亚洲第一免费播放区| 亚洲视频第一页| 亚洲深夜av| 狠狠色综合一区二区| 国产视频自拍一区| 久久久91精品国产一区二区精品| 久久婷婷蜜乳一本欲蜜臀| 国产九九精品视频| 最近中文字幕mv在线一区二区三区四区| 欧美精品久久一区二区| 国产精品入口夜色视频大尺度| 欧美成人精品| 久久久7777| 在线播放中文一区| 免费观看成人鲁鲁鲁鲁鲁视频| 亚洲日本成人女熟在线观看| 国产日韩欧美三级| 欧美日韩一区二区三区四区在线观看| 国产精品白丝jk黑袜喷水| 韩国一区二区三区在线观看| 国产精品99久久久久久有的能看| 亚洲日本乱码在线观看| 亚洲国产精品久久久久久女王| 亚洲欧美日韩综合一区| 欧美激情二区三区| 久久精品72免费观看| 在线视频你懂得一区二区三区| 久久av一区二区三区漫画| 国产精品午夜春色av| 亚洲欧美日韩人成在线播放| 欧美成人免费一级人片100| 国产一区二区三区奇米久涩| 欧美日韩国产一区二区| 亚洲国产成人av好男人在线观看| 中国女人久久久| 亚洲欧美日韩在线高清直播| 欧美中文字幕在线视频| 亚洲人成网站影音先锋播放| 免费观看成人鲁鲁鲁鲁鲁视频| 日韩一级精品视频在线观看| 一区二区三区视频在线观看| 美玉足脚交一区二区三区图片| 欧美在线视频观看| 夜夜夜精品看看| 免费欧美在线视频| 亚洲欧美日韩一区二区| 久久精品女人的天堂av| 久久综合色播五月| 国产一区视频在线观看免费| 一区二区三区精品视频在线观看| 久久久精品五月天| 欧美日韩高清在线| 亚洲影视九九影院在线观看| 国产精品久久久久久久久果冻传媒| 在线观看日韩精品| 久久久久国产一区二区| 一区二区在线免费观看| 国产一区二区三区精品久久久| 国产精品久久久久影院亚瑟| 久久精品久久综合| 国产精品久久久久久久久久免费看| 在线国产欧美| 欧美巨乳在线| 欧美在线视频免费| 激情欧美日韩一区| 尤妮丝一区二区裸体视频| 亚洲一区二区三区中文字幕| 欧美一区二区三区播放老司机| 亚洲激情视频在线播放| 亚洲电影免费观看高清| 在线免费观看日韩欧美| 亚洲第一精品夜夜躁人人躁| 欧美www视频在线观看| 亚洲精品在线三区| 欧美成人精品不卡视频在线观看| 亚洲电影免费在线观看| 在线色欧美三级视频| 国产精品久久久久一区二区三区共| 国产精品高潮呻吟久久av黑人| 亚洲精品欧美极品| 亚洲人久久久| 一区二区久久久久| 六月天综合网| 欧美色欧美亚洲另类七区| 欧美一二三区精品| 亚洲一级一区| 久久av免费一区| 国产在线观看精品一区二区三区| 欧美亚洲一区二区三区| 欧美日本精品在线| 亚洲欧美另类中文字幕| 亚洲午夜国产成人av电影男同| 影音先锋亚洲视频| 午夜在线一区| 欧美亚洲综合在线| 国产麻豆日韩| 国产欧美一区二区三区久久| 在线视频日韩精品| 亚洲欧美日韩精品一区二区| 欧美精品亚洲二区| 中日韩美女免费视频网址在线观看| 欧美三级韩国三级日本三斤| 亚洲天堂av在线免费观看| 久久综合久久久久88| 欧美乱人伦中文字幕在线| 国产自产2019最新不卡| 亚洲香蕉成视频在线观看| 麻豆9191精品国产| 亚洲麻豆国产自偷在线| 欧美亚洲午夜视频在线观看| 国产精品激情电影| 狠狠色丁香久久综合频道| 亚洲国产女人aaa毛片在线| 另类专区欧美制服同性| 欧美成人亚洲成人日韩成人| 国产欧美日韩三区| 精品动漫3d一区二区三区免费版| 9人人澡人人爽人人精品| 尤物yw午夜国产精品视频明星| 国产日产亚洲精品| 性久久久久久久久久久久| 一区二区免费在线视频| 国产日韩视频一区二区三区| 亚洲免费电影在线| 影音先锋久久资源网| 国产日韩欧美一区| 精品不卡在线| 欧美一区二区三区的| 激情五月综合色婷婷一区二区| 久久久国产视频91| 久久精品在线免费观看| 国内成人在线| 久久久久久亚洲精品杨幂换脸| 国产精品日韩精品欧美精品| 欧美v亚洲v综合ⅴ国产v| 久久成人人人人精品欧| 亚洲视频第一页| 亚洲第一精品影视| 久久精品国产亚洲5555| 欧美aⅴ99久久黑人专区| 嫩草国产精品入口| 一区久久精品| 欧美在线视频一区| 亚洲精品久久久一区二区三区| 久久综合九色综合欧美就去吻| 国内精品久久久久影院薰衣草| 国产精品成人一区| 欧美性大战久久久久| 国产一级一区二区| 亚洲综合电影| 亚洲欧洲一区二区三区在线观看| 欧美性久久久| 一区二区三欧美|