• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    基于ARM架構(gòu)的濾波函數(shù)優(yōu)化

    2018-09-26 07:08:06陳思潤(rùn)顧乃杰蘇俊杰賀愛(ài)香
    關(guān)鍵詞:指令集中值數(shù)組

    陳思潤(rùn) 顧乃杰* 蘇俊杰 賀愛(ài)香

    1(中國(guó)科學(xué)技術(shù)大學(xué)計(jì)算機(jī)科學(xué)技術(shù)學(xué)院 安徽 合肥 230027)2(中國(guó)科學(xué)技術(shù)大學(xué)安徽省計(jì)算與通信軟件重點(diǎn)實(shí)驗(yàn)室 安徽 合肥 230027)3(中國(guó)科學(xué)技術(shù)大學(xué)先進(jìn)技術(shù)研究院 安徽 合肥 230027)4(安徽新華學(xué)院信息工程學(xué)院 安徽 合肥 230088)

    0 引 言

    近年來(lái),移動(dòng)終端數(shù)量爆炸式增長(zhǎng)[1],且隨著人們對(duì)移動(dòng)設(shè)備圖像視覺(jué)的追求日益提高,Android設(shè)備的圖像處理速度難以滿足移動(dòng)客戶端的海量應(yīng)用發(fā)展需求。而OpenCV作為一款從PC端到嵌入式開(kāi)發(fā)領(lǐng)域的免費(fèi)的開(kāi)源跨平臺(tái)計(jì)算機(jī)視覺(jué)庫(kù),可提供從影像過(guò)濾及轉(zhuǎn)換到特性抽象與機(jī)器學(xué)習(xí)等幾十個(gè)不同類別的數(shù)百種算法[2]。它已被成千上萬(wàn)的開(kāi)發(fā)人員所使用,而且仍在不斷發(fā)展之中。

    傳統(tǒng)的嵌入式平臺(tái)依賴于CPU的串行計(jì)算方案,難以處理這類大量的計(jì)算密集型問(wèn)題[3]。針對(duì)ARM架構(gòu),OpenCV源碼使用了SIMD(Single Instruction Multiple Data)指令[4]做了部分改寫(xiě),實(shí)驗(yàn)分析其仍然存在優(yōu)化的空間。NEON技術(shù)通過(guò)對(duì)數(shù)據(jù)并行處理,能夠很好地處理矩陣運(yùn)算等存在大量數(shù)據(jù)相關(guān)性低的計(jì)算操作,因此適用于視頻轉(zhuǎn)碼、語(yǔ)音處理、圖像處理等場(chǎng)景。例如文獻(xiàn)[3]使用了NEON技術(shù)以及GPGPU對(duì)Jpeg靜態(tài)圖像編碼技術(shù)、Mpeg4動(dòng)態(tài)圖像編碼技術(shù)進(jìn)行了優(yōu)化,其編解碼性能提升了四倍左右。文獻(xiàn)[5]使用了NEON技術(shù)在ARM Cortex-A系列的架構(gòu)上實(shí)現(xiàn)了AVS多媒體視頻文件解碼工具的加速,實(shí)驗(yàn)證明NEON技術(shù)加速效果明顯。文獻(xiàn)[11]同樣在Cortex-A8處理器架構(gòu)上實(shí)現(xiàn)VC-1視頻編解碼軟件的SIMD指令優(yōu)化,解碼性能提升30%以上。

    考慮到移動(dòng)終端用戶對(duì)圖像視覺(jué)質(zhì)量要求日益提高,本文針對(duì)Android平臺(tái)的ARM架構(gòu),使用NEON技術(shù)對(duì)OpenCV庫(kù)中的濾波函數(shù)進(jìn)行了優(yōu)化,濾波效率提升明顯。

    1 ARMv8架構(gòu)以及NEON

    1.1 ARMv8架構(gòu)

    ARMv8是ARM公司在2011年發(fā)布的首款支持64位指令集的處理器架構(gòu)。ARMv8保存了ARMv7架構(gòu)的特性,支持Thumb-2、針對(duì)浮點(diǎn)FPU的VFP硬件擴(kuò)展、DSP 擴(kuò)展、Thumb指令集、主流的嵌入式OS(Linux、Android、Windows Mobile、Windows Phone、Symbian)、以及支持分支預(yù)測(cè)等技術(shù)。除此之外ARMv8還進(jìn)行了一些功能擴(kuò)展,支持TrustZone、虛擬化技術(shù)以及NEON advanced SIMD技術(shù)。

    本文實(shí)驗(yàn)使用的ARM Cortex-A72處理器是基于ARMv8-A 架構(gòu),支持最新的64位指令集AArch64。AArch64相較于AArch32使用了更少的條件指令,刪除了LDM/STM等實(shí)現(xiàn)復(fù)雜的指令,且AArch64指令集對(duì)32位和64位指令分別解碼,簡(jiǎn)化了解碼表,允許更多先進(jìn)的分支預(yù)測(cè)技術(shù)。此外,ARMv8針對(duì)AArch64指令集支持的SIMD指令集做了更多的改進(jìn),支持雙精度的浮點(diǎn)運(yùn)算,在支持NEON指令集擴(kuò)展的同時(shí),其ARM核和NEON核的執(zhí)行流水線分開(kāi)執(zhí)行,能夠在16FF+的處理器技術(shù)中實(shí)現(xiàn)3 GHz以上的頻率。

    1.2 NEON技術(shù)

    SIMD(Single Instruction Multiple Data)意思就是指一條指令能夠同時(shí)處理多個(gè)數(shù)據(jù)的數(shù)據(jù)級(jí)并行計(jì)算技術(shù),其執(zhí)行機(jī)制如圖1所示。

    圖1 SIMD指令機(jī)制示意圖

    NEON是一種基于SIMD思想的數(shù)據(jù)級(jí)并行技術(shù),它旨在加速信號(hào)處理算法,能夠加速音頻和視頻處理、語(yǔ)音和面部識(shí)別、計(jì)算機(jī)視覺(jué)和深度學(xué)習(xí)等應(yīng)用技術(shù)。NEON技術(shù)從ARMv7版本開(kāi)始被采用,目前可以在ARM Cortex-A和Cortex-R系列處理器中使用。NEON結(jié)合了64位和128位的SIMD指令集,ARMv8 NEON 指令集架構(gòu)具有16個(gè)128位的四字寄存器,命名為 Q0-Q15,這16個(gè)寄存器又可以拆分成 32個(gè)64 雙字寄存器,命名為 D0-D31。圖2描述了NEON寄存器在多通道內(nèi)同時(shí)進(jìn)行多數(shù)據(jù)并行計(jì)算的過(guò)程。

    圖2 NEON指令并行計(jì)算

    2 NEON優(yōu)化

    研究人員使用NEON技術(shù)進(jìn)行優(yōu)化主要有四種方法,具體包括匯編優(yōu)化、內(nèi)聯(lián)函數(shù)(intrinsic)、自動(dòng)向量化以及NEON優(yōu)化庫(kù)。

    2.1 匯編優(yōu)化

    使用手寫(xiě)匯編的形式,理論上可以達(dá)到NEON指令最高的優(yōu)化效果,但是由于需要跟底層寄存器流水線打交道,所以在幾種方法中難度最高,優(yōu)化過(guò)程更復(fù)雜。手寫(xiě)匯編對(duì)開(kāi)發(fā)者要求頗高,要想寫(xiě)出高效的匯編代碼必須要有一定的匯編基礎(chǔ),以及體系結(jié)構(gòu)相關(guān)的知識(shí)。使用不當(dāng),則會(huì)適得其反影響其性能。

    2.2 內(nèi)聯(lián)函數(shù)

    ARM為Cortex-A系列處理器生成NEON代碼定義了一組新的數(shù)據(jù)類型以及C語(yǔ)言形式的內(nèi)聯(lián)函數(shù)接口。在開(kāi)發(fā)人員進(jìn)行C/C++語(yǔ)言開(kāi)發(fā)時(shí)形同普通的函數(shù)調(diào)用,且ARMv8版本的NEON指令集支持64位的雙精度浮點(diǎn)運(yùn)算,擁有更多的指令操作。

    調(diào)用ARM官方定義的內(nèi)聯(lián)函數(shù)時(shí),程序需要在代碼中包含頭文件“arm_neon.h”,內(nèi)斂函數(shù)具體數(shù)據(jù)格式以及函數(shù)原型使用方法舉例如下:

    #include

    uint32x4_t example_func(uint32x4_t input)

    {

    return(vaddq_u32(input, input));

    }

    其中uint32x4_t數(shù)據(jù)類型表示使用了128位Q寄存器,并且數(shù)據(jù)類型為無(wú)符號(hào)的32位整型數(shù)。函數(shù)vaddq_u32完成對(duì)兩個(gè)寄存器中各個(gè)32位無(wú)符號(hào)整型數(shù)據(jù)的加法操作。

    使用內(nèi)聯(lián)函數(shù)相比較于手寫(xiě)匯編的形式要簡(jiǎn)單,對(duì)開(kāi)發(fā)人員而言是一種比較友好的開(kāi)發(fā)方式,并且大多數(shù)時(shí)候優(yōu)化效果接近或者達(dá)到手工編寫(xiě)匯編代碼的形式。

    2.3 自動(dòng)向量化

    自動(dòng)向量化是由ARM向量化編譯器提供,需要在編譯時(shí)加上相關(guān)的命令參數(shù),如:gcc編譯器使用“-ftree-vectorize”、armcc編譯器使用“-vectorize”來(lái)開(kāi)啟自動(dòng)向量化功能。這種方法的優(yōu)勢(shì)是使用簡(jiǎn)單,不需要太多額外工作,且跨平臺(tái)移植方便,缺點(diǎn)是該種方式優(yōu)化的效果較差。

    2.4 NEON優(yōu)化庫(kù)

    Ne10[4]是一個(gè)單獨(dú)的開(kāi)源庫(kù),可以把它直接嵌入到項(xiàng)目里面去(目前支持平臺(tái)有l(wèi)inux,android,ios)。Ne10已實(shí)現(xiàn)了部分功能接口,具體有4個(gè)模塊:dsp、math、imgproc、physics。目前Ne10提供的API功能有限,數(shù)據(jù)類型相較于ARM官方的定義也有差異,研究人員使用需要改動(dòng)甚至重新編寫(xiě)部分功能函數(shù),容易破壞平臺(tái)間的可移植性。

    對(duì)以上介紹的四種方法,權(quán)衡優(yōu)化效果與使用復(fù)雜程度的關(guān)系,本文選擇使用內(nèi)聯(lián)函數(shù)的方式對(duì)OpenCV庫(kù)中的濾波函數(shù)進(jìn)行優(yōu)化,部分熱點(diǎn)代碼使用手寫(xiě)匯編代碼的方式實(shí)現(xiàn)進(jìn)一步的細(xì)致優(yōu)化。

    3 濾波函數(shù)優(yōu)化

    本文針對(duì)2.4.13版本的開(kāi)源代碼OpenCV庫(kù),對(duì)濾波函數(shù)進(jìn)行優(yōu)化,具體使用ARM Cortex-A系列處理器支持的NEON技術(shù)對(duì)圖像處理模塊的濾波函數(shù)進(jìn)行了優(yōu)化。OpenCV主要包含imgproc、features2d、highgui、core、calib3d等模塊。由于OpenCV濾波函數(shù)較多,本文僅以中值濾波函數(shù)為例,說(shuō)明NEON優(yōu)化思路以及具體實(shí)現(xiàn)方式。

    3.1 中值濾波函數(shù)

    中值濾波是由Tukey提出的一個(gè)非線性濾波器,對(duì)于中值的計(jì)算傳統(tǒng)方法是使用排序?qū)崿F(xiàn),標(biāo)準(zhǔn)的一維中值濾波器定義如下:

    yi=med{xi-r,xi-r+1,…,xi,…,xi+r}

    (1)

    式中:med表示取中值操作,具體實(shí)現(xiàn)如算法1所示。

    算法1傳統(tǒng)中值濾波算法

    輸入: imageXsize ism×n,kernel radiusr

    輸出:medvalueY

    (1) for i=r to m-r do

    (2) for j=r to n-r do

    (3) initialize list A[r2]

    (4) for a = i-r to i+r

    (5) for b = j-r to j+r

    (6) add X(a, b) to A[r2]

    (7) end

    (8) end

    (9) sort A[r2] then Y(i,j) = A[r2/2]

    (10) end

    (11) end

    3.2 數(shù)據(jù)相關(guān)性分析

    根據(jù)中值濾波函數(shù)源碼的實(shí)現(xiàn)可知,定義兩個(gè)向量X、Y,由于X[i]與Y[i]之間的操作結(jié)果并不影響X[i+1]與Y[i+1]之間的操作結(jié)果,數(shù)據(jù)之間沒(méi)有關(guān)聯(lián),理論上可以同時(shí)進(jìn)行而不會(huì)改變最終結(jié)果。本文通過(guò)使用objdump反匯編工具分析OpenCV中值濾波源碼,發(fā)現(xiàn)未優(yōu)化前每次執(zhí)行完一次加法指令需要額外增加一條cmp和jmp指令,不僅增加了額外的指令開(kāi)銷也不利于指令流水。而NEON技術(shù)一條指令最大支持8次操作同時(shí)并行執(zhí)行,不僅大大減少了條件判斷指令開(kāi)銷,而且充分利用了ARM處理的多級(jí)流水線功能。Cortex-A系列處理器擁有兩級(jí) Cache,且L2級(jí)Cache跟NEON有直接相連的接口,方便數(shù)據(jù)交互,這種特性使得數(shù)據(jù)并行能夠順利進(jìn)行大大減少因cache失效而產(chǎn)生的額外訪存開(kāi)銷。

    3.3 存儲(chǔ)結(jié)構(gòu)優(yōu)化

    根據(jù)分析,中值濾波函數(shù)核心代碼不存在復(fù)雜的邏輯控制語(yǔ)句,且代碼所用的數(shù)據(jù)結(jié)構(gòu)ushort,為16位無(wú)符號(hào)整數(shù)類型,而NEON的Q寄存器結(jié)構(gòu)支持16x8 bit的數(shù)據(jù)格式,滿足NEON指令集的數(shù)據(jù)對(duì)齊的要求。輸入數(shù)據(jù)類型為ushort,剛好可以通過(guò)對(duì)齊轉(zhuǎn)化到uint16x8_t從而方便NEON處理器的使用。具體轉(zhuǎn)換以定義一個(gè)ushort向量HT[16][8]為例,HT[0][0]~HT[15][7]存儲(chǔ)地址連續(xù),根據(jù)C++數(shù)組內(nèi)存為行優(yōu)先的存放規(guī)則可知該二維數(shù)組在內(nèi)存中的存放順序?yàn)椋篐T[0][0],HT[0][1],…,HT[15][7]。通過(guò)數(shù)據(jù)類型轉(zhuǎn)換為uint16x8_t類型的RT[16],具體對(duì)應(yīng)關(guān)系如圖3所示。

    圖3 數(shù)據(jù)類型映射關(guān)系

    3.4 匯編優(yōu)化

    NEON指令VADD.I16 Q0、Q1、Q2使用Q寄存器實(shí)現(xiàn)8路16位無(wú)符號(hào)整數(shù)的并行加法操作,對(duì)比原來(lái)的16位無(wú)符號(hào)整數(shù)的循環(huán)疊加操作,減少了大量時(shí)間開(kāi)銷,8路并行加法具體操作過(guò)程如圖4所示。

    圖4 8路16位整數(shù)并行加法

    vld1.16 {d18-d19}, [r3]

    add r3, sp, #36

    vld1.16 {d22-d23}, [r3]

    add r3, sp, #20

    vld1.16 {d16-d17}, [r3]

    add r3, sp, #52

    vld1.16 {d20-d21}, [r3

    四是創(chuàng)新人才匱乏,人才結(jié)構(gòu)性矛盾突出。目前,東營(yíng)市擁有各類科技人員18.6萬(wàn)人,但大多數(shù)分布在油田、石油大學(xué)以及教育、衛(wèi)生系統(tǒng),而企業(yè)自有一線研發(fā)人員不能充分滿足技術(shù)創(chuàng)新需要,具有特殊專業(yè)技能的高層次人才匱乏,科技創(chuàng)新后勁需進(jìn)一步加強(qiáng)。

    vadd.i16 q9, q9, q11

    vadd.i16 q8, q8, q10

    ldr r2, [sp, #68

    ldr r3, [r4]

    add r1, sp, #36

    cmp r2, r3

    add r3, sp, #52

    vst1.16 {d18-d19}, [r1]

    vst1.16 {d16-d17}, [r3]

    3.5 快速中值濾波函數(shù)

    算法2對(duì)輸入圖像像素每一列維護(hù)一個(gè)大小固定的一維列數(shù)組Hist,使用一維列數(shù)組對(duì)濾波窗口像素值進(jìn)行更新,極大地減少了比較操作,快速高效地得到中值。將數(shù)組更新的實(shí)現(xiàn)方式移植到ARM平臺(tái),且利用ARM Cortex-A系列支持的NEON技術(shù),使用SIMD單指令多數(shù)據(jù)流的并行計(jì)算方法,改進(jìn)中值濾波算法,具體實(shí)現(xiàn)如算法2所示。

    算法2優(yōu)化中值濾波算法

    輸入: imageXsize ism×n,kernel radiusr

    輸出:medvalueY

    (1) 初始化列數(shù)組Hist1…n,kernelH,左右圖片邊界添加m/2個(gè)像素點(diǎn),上下邊界添加n/2個(gè)像素點(diǎn);

    (2) for i=1 to m do

    (3) for j=1 to n step 8 do

    (4) Remove Xi-r-1,j+r from Histj+r

    (5) //NEON 并行計(jì)算

    (6) SIMD_add Xi+r,j+r<- Histj+r

    (7) SIMD_sub Histj+r<- Histj-r-1

    (8) SIMD_add H <- Histj+r

    (9) //更新濾波中值結(jié)果

    (10) Y(i,j) <- median(H)

    (11) end

    (12) end

    算法2的核心思想是對(duì)輸入圖像的每一列維護(hù)一個(gè)一維列數(shù)組Hist,逐行遍歷圖像像素點(diǎn),以每次遍歷的當(dāng)前像素為窗口中心像素,建立濾波窗口,提取窗口內(nèi)所有像素值(N=m×n),獲取擁有N個(gè)像素點(diǎn)的一維數(shù)組Hist。累加數(shù)組Hist中的每個(gè)像素點(diǎn)數(shù)。將步驟(8)更新后的數(shù)組H的中值賦值給窗口中心元素,完成中值濾波操作。分析可知,每次操作的空間只是對(duì)一維數(shù)組Hist進(jìn)行更新,且算法2中第(6)、(7)、(8)步定義的SIMD_add以及SIMD_sub操作均是使用NEON數(shù)據(jù)并行技術(shù)實(shí)現(xiàn),具體實(shí)現(xiàn)方式為3.4節(jié)介紹的匯編形式,且在3.4節(jié)給出了SIMD_add的詳細(xì)匯編指令序列。

    對(duì)算法2時(shí)間復(fù)雜度進(jìn)行分析,Hist的更新操作可在常數(shù)時(shí)間完成,每次求中值操作,只是對(duì)大小固定的數(shù)組Hist進(jìn)行操作,其復(fù)雜度為O(1)時(shí)間,對(duì)于m×n的圖片,時(shí)間復(fù)雜度約為O(mn),相較于傳統(tǒng)方法復(fù)雜度大大降低。

    4 實(shí)驗(yàn)測(cè)試與分析

    本文實(shí)驗(yàn)所用平臺(tái)為ARM,系統(tǒng)使用linux kernel 3.4.35版本,具體CPU型號(hào)為Cortex-A72,GPU為maliT880。

    實(shí)驗(yàn)使用arm-linux-gcc交叉編譯器,首先通過(guò)修改OpenCV目錄的cmake文件設(shè)置好編譯環(huán)境,然后在linux平臺(tái)交叉編譯OpenCV源碼,最后通過(guò)adb shell工具連接ARM開(kāi)發(fā)板將生成的可執(zhí)行文件發(fā)送到開(kāi)發(fā)板進(jìn)行相關(guān)性能測(cè)試。

    4.1 濾波效果分析

    針對(duì)中值濾波函數(shù),分別使用3×3、5×5的采集窗口對(duì)所選測(cè)試用例進(jìn)行算法正確性測(cè)試。給出256×256像素的帶椒鹽噪聲的圖片用例,觀察濾波函數(shù)優(yōu)化后的濾波效果。

    圖5為不同窗口的中值濾波效果圖,其中(a)為帶椒鹽噪聲的測(cè)試用例圖片,(b)、(c)分別為3×3、5×5的中值濾波后的圖片,可以看出優(yōu)化后濾波效果明顯,說(shuō)明優(yōu)化后去噪性能并沒(méi)有降低。

    圖5 中值濾波效果圖

    4.2 時(shí)間性能分析

    使用OpenCV自帶python腳本對(duì)中值濾波優(yōu)化前后性能進(jìn)行對(duì)比測(cè)試,表1給出了中值濾波函數(shù)分別使用3×3、5×5兩種采集窗口在127×61、320×240、640×480、1 280×720這四種不同尺寸的圖片上的對(duì)比優(yōu)化效果。分析表中數(shù)據(jù)可以得知,采用NEON技術(shù)優(yōu)化后的中值濾波函數(shù),在不同尺寸圖像以及不同的采集窗口均有很好的優(yōu)化效果,平均加速比均超過(guò)了18倍,最高加速比達(dá)35倍多,優(yōu)化效果顯著。

    表1 中值濾波測(cè)試結(jié)果 ms

    同時(shí)本文對(duì)OpenCV庫(kù)的其他濾波函數(shù)進(jìn)行了同樣的加速比測(cè)試。由于各類濾波函數(shù)均存在大量矩陣運(yùn)算操作,數(shù)據(jù)相關(guān)性低,且存在大量重復(fù)計(jì)算操作,采用NEON SIMD數(shù)據(jù)級(jí)并行技術(shù)對(duì)各濾波函數(shù)進(jìn)行優(yōu)化,效果均表現(xiàn)良好。

    測(cè)試用例統(tǒng)一使用256×256尺寸的圖片。通過(guò)python腳本測(cè)試各濾波函數(shù),多次測(cè)試分別得出的各濾波函數(shù)濾波時(shí)間,經(jīng)過(guò)計(jì)算得出各函數(shù)對(duì)應(yīng)的加速比的平均值。

    圖6給出了優(yōu)化后的各濾波函數(shù)分別在3×3以及5×5兩種窗口下的加速比數(shù)據(jù)。從圖中可以看出NEON優(yōu)化加速效果明顯,各函數(shù)加速比均超過(guò)兩倍,其中中值濾波函數(shù)優(yōu)化加速比達(dá)17倍之多,且隨著濾波窗口的增大,加速比也隨之增大,對(duì)應(yīng)其優(yōu)化效果越好。

    圖6 濾波函數(shù)加速比

    5 結(jié) 語(yǔ)

    本文針對(duì)ARM架構(gòu),根據(jù)OpenCV函數(shù)庫(kù)的性能提升需求,使用了NEON數(shù)據(jù)并行技術(shù)對(duì)濾波函數(shù)進(jìn)行了優(yōu)化。實(shí)驗(yàn)證明NEON技術(shù)在OpenCV源碼中優(yōu)化效果顯著,SIMD數(shù)據(jù)級(jí)并行優(yōu)化方法能較好地提高濾波函數(shù)的時(shí)間性能。

    針對(duì)ARM架構(gòu),除了NEON技術(shù)可用于優(yōu)化,還可以考慮利用GPU優(yōu)化,以及利用ARM多線程進(jìn)行相關(guān)優(yōu)化。下一步將著重從GPU、多線程技術(shù)展開(kāi)進(jìn)一步的優(yōu)化工作。

    猜你喜歡
    指令集中值數(shù)組
    JAVA稀疏矩陣算法
    3DNow指令集被Linux淘汰
    JAVA玩轉(zhuǎn)數(shù)學(xué)之二維數(shù)組排序
    Lagrange中值定理的巧妙應(yīng)用
    微分中值定理教法研討
    后中值波電流脈沖MIG焊工藝
    實(shí)時(shí)微測(cè)量系統(tǒng)指令集及解析算法
    尋找勾股數(shù)組的歷程
    什么是AMD64
    基于覆蓋率驅(qū)動(dòng)的高性能DSP指令集驗(yàn)證方法
    大型黄色视频在线免费观看| 久久欧美精品欧美久久欧美| 国产欧美日韩一区二区三区在线| 亚洲精品国产区一区二| 韩国精品一区二区三区| 国产精品综合久久久久久久免费 | 成人亚洲精品av一区二区 | 免费av毛片视频| 岛国视频午夜一区免费看| 亚洲男人天堂网一区| 19禁男女啪啪无遮挡网站| 极品教师在线免费播放| 日韩欧美免费精品| 香蕉丝袜av| 亚洲精华国产精华精| 在线观看免费日韩欧美大片| 中文字幕人妻熟女乱码| 夜夜夜夜夜久久久久| 亚洲欧美精品综合久久99| 久久影院123| 窝窝影院91人妻| 在线国产一区二区在线| 不卡av一区二区三区| 亚洲欧美精品综合一区二区三区| 丰满饥渴人妻一区二区三| 久久人人97超碰香蕉20202| 国产一区在线观看成人免费| 午夜免费观看网址| 国产精品九九99| 免费观看人在逋| 中亚洲国语对白在线视频| 两性夫妻黄色片| 最新在线观看一区二区三区| 在线播放国产精品三级| 啦啦啦在线免费观看视频4| 欧美性长视频在线观看| 欧美成人午夜精品| 精品电影一区二区在线| 欧美在线黄色| 亚洲精品美女久久久久99蜜臀| 久久中文字幕一级| 嫁个100分男人电影在线观看| 久久久精品国产亚洲av高清涩受| 亚洲精品国产一区二区精华液| 黑人欧美特级aaaaaa片| 欧美日韩国产mv在线观看视频| 欧美日韩精品网址| 亚洲国产欧美日韩在线播放| 婷婷精品国产亚洲av在线| 亚洲激情在线av| 欧美日韩视频精品一区| 国产精品美女特级片免费视频播放器 | 91在线观看av| 亚洲一区中文字幕在线| 亚洲精品国产区一区二| 亚洲成人精品中文字幕电影 | 成人黄色视频免费在线看| av片东京热男人的天堂| 亚洲精品国产一区二区精华液| 亚洲 欧美一区二区三区| 老司机亚洲免费影院| 丝袜在线中文字幕| 国产成人系列免费观看| 88av欧美| 久久中文字幕人妻熟女| 免费看十八禁软件| 99热国产这里只有精品6| 精品欧美一区二区三区在线| 久久久久久久久免费视频了| 欧美性长视频在线观看| 色哟哟哟哟哟哟| 新久久久久国产一级毛片| 另类亚洲欧美激情| 国产精品爽爽va在线观看网站 | 777久久人妻少妇嫩草av网站| 日本免费一区二区三区高清不卡 | av有码第一页| 交换朋友夫妻互换小说| 18禁黄网站禁片午夜丰满| 婷婷丁香在线五月| 淫妇啪啪啪对白视频| 国产伦一二天堂av在线观看| 欧美成人午夜精品| 亚洲欧美日韩无卡精品| 亚洲男人天堂网一区| 黄频高清免费视频| 成人手机av| 精品午夜福利视频在线观看一区| av国产精品久久久久影院| 欧美精品啪啪一区二区三区| 在线观看www视频免费| 亚洲第一av免费看| 老汉色av国产亚洲站长工具| 在线看a的网站| 99在线视频只有这里精品首页| 成熟少妇高潮喷水视频| 亚洲精品av麻豆狂野| 欧美不卡视频在线免费观看 | 成人亚洲精品一区在线观看| 麻豆av在线久日| 免费在线观看黄色视频的| 丰满人妻熟妇乱又伦精品不卡| 99久久99久久久精品蜜桃| 国产亚洲精品久久久久久毛片| 在线视频色国产色| 亚洲熟妇熟女久久| 这个男人来自地球电影免费观看| 两人在一起打扑克的视频| 91老司机精品| 高清欧美精品videossex| 欧美日韩亚洲高清精品| 国产av一区二区精品久久| 一个人免费在线观看的高清视频| 亚洲五月婷婷丁香| 亚洲欧美精品综合久久99| 9191精品国产免费久久| 999久久久精品免费观看国产| 国产真人三级小视频在线观看| 女生性感内裤真人,穿戴方法视频| 夜夜爽天天搞| 免费在线观看亚洲国产| 久久午夜综合久久蜜桃| 免费日韩欧美在线观看| 久久人人97超碰香蕉20202| 久久精品国产清高在天天线| 叶爱在线成人免费视频播放| 国产色视频综合| 亚洲avbb在线观看| 在线观看舔阴道视频| 亚洲一区二区三区色噜噜 | 91国产中文字幕| 人妻久久中文字幕网| 黄色毛片三级朝国网站| 亚洲三区欧美一区| 久久国产精品男人的天堂亚洲| 久久精品人人爽人人爽视色| 两性夫妻黄色片| 久久伊人香网站| 午夜福利影视在线免费观看| 午夜视频精品福利| 亚洲精品一二三| 亚洲七黄色美女视频| 亚洲人成伊人成综合网2020| 两个人看的免费小视频| 777久久人妻少妇嫩草av网站| 亚洲av成人不卡在线观看播放网| 欧美黄色片欧美黄色片| 亚洲七黄色美女视频| 老司机午夜十八禁免费视频| 久久青草综合色| 久久精品91蜜桃| 国产精品香港三级国产av潘金莲| 久久中文字幕人妻熟女| 亚洲一卡2卡3卡4卡5卡精品中文| 黄色丝袜av网址大全| 国产伦一二天堂av在线观看| 999久久久国产精品视频| 欧美黑人欧美精品刺激| 色综合欧美亚洲国产小说| 人妻丰满熟妇av一区二区三区| 国产乱人伦免费视频| 日韩 欧美 亚洲 中文字幕| 99精国产麻豆久久婷婷| 午夜精品久久久久久毛片777| 黑人欧美特级aaaaaa片| 一级a爱视频在线免费观看| 国产野战对白在线观看| 在线天堂中文资源库| 色精品久久人妻99蜜桃| 十分钟在线观看高清视频www| 国产精品电影一区二区三区| 久久香蕉精品热| 国产精品国产av在线观看| 大型av网站在线播放| 中出人妻视频一区二区| 精品高清国产在线一区| 日本免费一区二区三区高清不卡 | 女性生殖器流出的白浆| 别揉我奶头~嗯~啊~动态视频| 久久人人爽av亚洲精品天堂| 黑人巨大精品欧美一区二区mp4| 国产精品久久久av美女十八| 99精国产麻豆久久婷婷| 日本wwww免费看| av国产精品久久久久影院| 午夜视频精品福利| 久久精品影院6| tocl精华| 久久人妻av系列| 侵犯人妻中文字幕一二三四区| 免费少妇av软件| 亚洲七黄色美女视频| 91麻豆av在线| 午夜福利影视在线免费观看| 亚洲av成人不卡在线观看播放网| 欧美日本中文国产一区发布| 如日韩欧美国产精品一区二区三区| 丰满迷人的少妇在线观看| 国产精品98久久久久久宅男小说| 国产精品久久久av美女十八| 亚洲av第一区精品v没综合| 久久久久国产一级毛片高清牌| 亚洲一区二区三区不卡视频| 国产野战对白在线观看| 99国产综合亚洲精品| 三级毛片av免费| 男男h啪啪无遮挡| 日韩免费av在线播放| 欧美激情极品国产一区二区三区| 亚洲一卡2卡3卡4卡5卡精品中文| 一级毛片女人18水好多| 999精品在线视频| 亚洲熟妇熟女久久| 后天国语完整版免费观看| 国产成人av激情在线播放| 丰满饥渴人妻一区二区三| 亚洲精品美女久久久久99蜜臀| 制服诱惑二区| 精品国内亚洲2022精品成人| 少妇粗大呻吟视频| 黄色视频不卡| 99香蕉大伊视频| 亚洲精品av麻豆狂野| 亚洲av成人不卡在线观看播放网| 亚洲狠狠婷婷综合久久图片| 午夜老司机福利片| 热re99久久国产66热| www.自偷自拍.com| 天天添夜夜摸| 女人精品久久久久毛片| 中文字幕精品免费在线观看视频| 亚洲国产毛片av蜜桃av| 最近最新中文字幕大全免费视频| av网站在线播放免费| 曰老女人黄片| 丰满的人妻完整版| 国产色视频综合| 亚洲色图综合在线观看| 女人被躁到高潮嗷嗷叫费观| 亚洲av日韩精品久久久久久密| 很黄的视频免费| 91九色精品人成在线观看| 神马国产精品三级电影在线观看 | 中文字幕色久视频| 日韩国内少妇激情av| 久久狼人影院| 久久精品成人免费网站| 丰满迷人的少妇在线观看| 老司机靠b影院| av有码第一页| 两人在一起打扑克的视频| 久久久久国产精品人妻aⅴ院| 精品一品国产午夜福利视频| 国产精品久久视频播放| 两个人看的免费小视频| 国产精品综合久久久久久久免费 | 黄片小视频在线播放| 欧美精品一区二区免费开放| 日日爽夜夜爽网站| 女人高潮潮喷娇喘18禁视频| 男女之事视频高清在线观看| 国产精品 欧美亚洲| 动漫黄色视频在线观看| av有码第一页| 女人精品久久久久毛片| 久久久久国产精品人妻aⅴ院| 国产免费av片在线观看野外av| 青草久久国产| 久久国产亚洲av麻豆专区| 色在线成人网| 电影成人av| 黄色怎么调成土黄色| www.自偷自拍.com| 性色av乱码一区二区三区2| 国产精品 欧美亚洲| 超碰97精品在线观看| 国产精品日韩av在线免费观看 | 两个人看的免费小视频| 男人舔女人的私密视频| 国产av精品麻豆| 国产成人啪精品午夜网站| 999久久久精品免费观看国产| 欧美日韩中文字幕国产精品一区二区三区 | 国产一卡二卡三卡精品| 久99久视频精品免费| 欧美乱色亚洲激情| 俄罗斯特黄特色一大片| 精品国产一区二区久久| 欧美性长视频在线观看| 精品国产美女av久久久久小说| 男人操女人黄网站| 久久久久久久久中文| 国产精品久久久av美女十八| 在线观看午夜福利视频| 脱女人内裤的视频| 亚洲自拍偷在线| 1024视频免费在线观看| 夜夜躁狠狠躁天天躁| 亚洲伊人色综图| 亚洲aⅴ乱码一区二区在线播放 | 国产成人欧美| 日韩视频一区二区在线观看| 一级片'在线观看视频| 亚洲三区欧美一区| 91成年电影在线观看| 成熟少妇高潮喷水视频| 久久精品91蜜桃| 日韩视频一区二区在线观看| 成人三级做爰电影| 动漫黄色视频在线观看| 久久久精品欧美日韩精品| 精品久久久久久成人av| 在线观看www视频免费| 国产一区二区三区在线臀色熟女 | 久久精品国产亚洲av香蕉五月| tocl精华| 国产精品久久久久成人av| 久久天堂一区二区三区四区| 国产成人av教育| 老熟妇乱子伦视频在线观看| 国产一区二区三区综合在线观看| 97超级碰碰碰精品色视频在线观看| 日韩精品中文字幕看吧| av视频免费观看在线观看| 国产精华一区二区三区| 亚洲avbb在线观看| 国产精品免费视频内射| 男人舔女人下体高潮全视频| 欧美色视频一区免费| 国产亚洲精品一区二区www| 亚洲激情在线av| 老司机午夜十八禁免费视频| 亚洲精品一卡2卡三卡4卡5卡| 女生性感内裤真人,穿戴方法视频| 欧美成人免费av一区二区三区| 999久久久精品免费观看国产| 国内毛片毛片毛片毛片毛片| 国产人伦9x9x在线观看| 97碰自拍视频| 国产精品 国内视频| 一区二区三区国产精品乱码| av视频免费观看在线观看| 国产成人一区二区三区免费视频网站| 老司机在亚洲福利影院| 亚洲熟妇熟女久久| 欧美日韩亚洲国产一区二区在线观看| 亚洲精品国产区一区二| 亚洲国产精品一区二区三区在线| 日韩大尺度精品在线看网址 | 中文字幕人妻丝袜一区二区| 国产单亲对白刺激| 亚洲精品在线美女| 18禁美女被吸乳视频| 精品一区二区三区av网在线观看| 国产三级在线视频| 久久久久国内视频| 99久久99久久久精品蜜桃| 久久天堂一区二区三区四区| 两人在一起打扑克的视频| 一边摸一边做爽爽视频免费| 黑丝袜美女国产一区| 丰满迷人的少妇在线观看| 国产成人系列免费观看| 制服诱惑二区| 欧美激情久久久久久爽电影 | 满18在线观看网站| 怎么达到女性高潮| 欧美在线黄色| 女警被强在线播放| 水蜜桃什么品种好| 久久久精品欧美日韩精品| 久久人妻av系列| 欧美av亚洲av综合av国产av| 后天国语完整版免费观看| 欧美激情久久久久久爽电影 | 老鸭窝网址在线观看| 国产成人精品久久二区二区免费| 午夜a级毛片| 日韩有码中文字幕| 变态另类成人亚洲欧美熟女 | 99riav亚洲国产免费| 亚洲一区二区三区不卡视频| 亚洲久久久国产精品| 成熟少妇高潮喷水视频| 天天躁夜夜躁狠狠躁躁| 最近最新免费中文字幕在线| 亚洲欧美一区二区三区久久| 午夜福利,免费看| 久久久国产一区二区| 男人舔女人的私密视频| 色精品久久人妻99蜜桃| av电影中文网址| 长腿黑丝高跟| 日韩欧美在线二视频| 午夜影院日韩av| 精品熟女少妇八av免费久了| 黄色成人免费大全| 久久中文字幕人妻熟女| 精品国内亚洲2022精品成人| 另类亚洲欧美激情| 国产成人欧美在线观看| 成人av一区二区三区在线看| 色精品久久人妻99蜜桃| 日韩免费高清中文字幕av| 亚洲精品美女久久av网站| 男女高潮啪啪啪动态图| 波多野结衣av一区二区av| 麻豆国产av国片精品| 又紧又爽又黄一区二区| 久久人妻熟女aⅴ| 精品高清国产在线一区| 人人妻人人爽人人添夜夜欢视频| 最新在线观看一区二区三区| 一进一出抽搐gif免费好疼 | 欧美成人午夜精品| а√天堂www在线а√下载| 美女福利国产在线| 中文字幕人妻丝袜一区二区| 免费av中文字幕在线| 在线视频色国产色| 国产精品秋霞免费鲁丝片| 国产无遮挡羞羞视频在线观看| 夜夜爽天天搞| 热99国产精品久久久久久7| 国产一区二区三区在线臀色熟女 | 久久香蕉国产精品| 人人澡人人妻人| 精品国产美女av久久久久小说| 国产97色在线日韩免费| 一级黄色大片毛片| 大型av网站在线播放| 国产亚洲精品一区二区www| 亚洲精品国产精品久久久不卡| 国产片内射在线| 国产不卡一卡二| 久久久国产成人精品二区 | 国产麻豆69| 每晚都被弄得嗷嗷叫到高潮| 久久久久国内视频| 美女国产高潮福利片在线看| 久久中文字幕一级| 一区二区三区国产精品乱码| 一二三四社区在线视频社区8| 制服人妻中文乱码| 久久精品aⅴ一区二区三区四区| 久久久国产成人精品二区 | 欧美丝袜亚洲另类 | 天堂影院成人在线观看| 日韩 欧美 亚洲 中文字幕| 亚洲一区高清亚洲精品| 好男人电影高清在线观看| 麻豆国产av国片精品| 激情视频va一区二区三区| 又大又爽又粗| 9热在线视频观看99| 久久精品国产亚洲av高清一级| 好看av亚洲va欧美ⅴa在| 久久久国产精品麻豆| 啦啦啦在线免费观看视频4| 中文字幕人妻丝袜一区二区| 最新美女视频免费是黄的| 久久亚洲精品不卡| 成年女人毛片免费观看观看9| 女人高潮潮喷娇喘18禁视频| 99久久国产精品久久久| 三上悠亚av全集在线观看| 69精品国产乱码久久久| 999久久久精品免费观看国产| 桃红色精品国产亚洲av| 少妇 在线观看| 一级片免费观看大全| 手机成人av网站| 国产成人精品无人区| 欧美性长视频在线观看| 欧美日韩乱码在线| 欧美乱色亚洲激情| 免费观看人在逋| 国产伦一二天堂av在线观看| 国产精品自产拍在线观看55亚洲| 色播在线永久视频| 国产精品爽爽va在线观看网站 | 欧美日韩中文字幕国产精品一区二区三区 | 精品免费久久久久久久清纯| 中文字幕精品免费在线观看视频| 免费观看人在逋| 国产成+人综合+亚洲专区| 亚洲九九香蕉| 搡老熟女国产l中国老女人| 午夜福利在线免费观看网站| 亚洲中文日韩欧美视频| 成人免费观看视频高清| 99国产精品99久久久久| 久久久国产精品麻豆| 亚洲中文日韩欧美视频| 91成年电影在线观看| 在线国产一区二区在线| 精品久久久久久久毛片微露脸| 精品高清国产在线一区| 90打野战视频偷拍视频| 精品高清国产在线一区| 亚洲av电影在线进入| 91在线观看av| 欧美日韩亚洲综合一区二区三区_| 国产亚洲精品一区二区www| 91av网站免费观看| 欧美 亚洲 国产 日韩一| 狠狠狠狠99中文字幕| 手机成人av网站| 久久精品91无色码中文字幕| 黑人巨大精品欧美一区二区mp4| a在线观看视频网站| 欧美成人午夜精品| 成人手机av| 亚洲成人久久性| 欧美日韩福利视频一区二区| 日韩免费av在线播放| 黄色片一级片一级黄色片| 国产深夜福利视频在线观看| 极品人妻少妇av视频| 亚洲成人免费av在线播放| 少妇的丰满在线观看| 国产av在哪里看| 少妇的丰满在线观看| 男女下面进入的视频免费午夜 | 亚洲片人在线观看| 丰满人妻熟妇乱又伦精品不卡| 国产精品久久久人人做人人爽| 丰满人妻熟妇乱又伦精品不卡| 久久中文看片网| 国产成人av激情在线播放| 长腿黑丝高跟| 美女福利国产在线| 久久中文字幕一级| 女性被躁到高潮视频| 亚洲五月天丁香| 中文亚洲av片在线观看爽| 国产色视频综合| ponron亚洲| 免费不卡黄色视频| 免费少妇av软件| 久久伊人香网站| 国产成年人精品一区二区 | 琪琪午夜伦伦电影理论片6080| 久久久久久久久中文| 少妇裸体淫交视频免费看高清 | 亚洲精品国产区一区二| 女警被强在线播放| 亚洲自拍偷在线| 午夜成年电影在线免费观看| 国产91精品成人一区二区三区| 精品久久久久久久久久免费视频 | 最新在线观看一区二区三区| 国产真人三级小视频在线观看| 免费av中文字幕在线| 88av欧美| 看黄色毛片网站| 日本免费a在线| 亚洲欧美精品综合一区二区三区| 91国产中文字幕| 亚洲专区中文字幕在线| 色婷婷av一区二区三区视频| 啦啦啦免费观看视频1| 中文字幕最新亚洲高清| 亚洲熟妇中文字幕五十中出 | 国产精品av久久久久免费| a级毛片黄视频| 久久精品亚洲av国产电影网| 国产精品综合久久久久久久免费 | tocl精华| 国产av在哪里看| 美女扒开内裤让男人捅视频| 国产一卡二卡三卡精品| 免费一级毛片在线播放高清视频 | 日韩大码丰满熟妇| 成人av一区二区三区在线看| 久久久久久亚洲精品国产蜜桃av| 一区福利在线观看| 久久人人爽av亚洲精品天堂| 国产免费现黄频在线看| 国产精品国产高清国产av| 黄片大片在线免费观看| 精品电影一区二区在线| 可以免费在线观看a视频的电影网站| 国产免费av片在线观看野外av| 看免费av毛片| 99国产综合亚洲精品| 水蜜桃什么品种好| 久9热在线精品视频| 新久久久久国产一级毛片| 午夜久久久在线观看| 国产欧美日韩精品亚洲av| 欧美乱码精品一区二区三区| 日韩人妻精品一区2区三区| 精品一区二区三区视频在线观看免费 | 日本vs欧美在线观看视频| av欧美777| 黄色怎么调成土黄色| 香蕉丝袜av| 国产视频一区二区在线看| 国产精品一区二区精品视频观看| 午夜精品在线福利| 国产亚洲精品第一综合不卡| 国产精品 欧美亚洲| 国产午夜精品久久久久久| 欧美乱色亚洲激情| 99riav亚洲国产免费| 97碰自拍视频| 午夜成年电影在线免费观看| 免费高清视频大片| 国产免费男女视频| 黄片大片在线免费观看| 精品人妻1区二区| 伦理电影免费视频| 国产精品爽爽va在线观看网站 | a级毛片在线看网站|