• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            隨筆-4  評(píng)論-40  文章-117  trackbacks-0


            1、概述 

                   GIF(Graphics Interchange Format,圖形交換格式)文件是由 CompuServe公司開(kāi)發(fā)的圖形文件格式,版權(quán)所有,任何商業(yè)目的使用均須 CompuServe公司授權(quán)。
              GIF圖象是基于顏色列表的(存儲(chǔ)的數(shù)據(jù)是該點(diǎn)的顏色對(duì)應(yīng)于顏色列表的索引值),最多只支持8位(256色)。GIF文件內(nèi)部分成許多存儲(chǔ)塊, 用來(lái)存儲(chǔ)多幅圖象或者是決定圖象表現(xiàn)行為的控制塊, 用以實(shí)現(xiàn)動(dòng)畫(huà)和交互式應(yīng)用。GIF文件還通過(guò)LZW壓縮算法壓縮圖象數(shù)據(jù)來(lái)減少圖象尺寸。

             

            2、GIF文件存儲(chǔ)結(jié)構(gòu)

              GIF文件內(nèi)部是按塊劃分的,包括控制塊( Control Block )和數(shù)據(jù)塊(Data Sub-blocks)兩種。控制塊是控制數(shù)據(jù)塊行為的,根據(jù)不同的控制塊包含一些不同的控制參數(shù); 數(shù)據(jù)塊只包含一些8-bit的字符流,由它前面的控制塊來(lái)決定它的功能,每個(gè)數(shù)據(jù)塊大小從0到255個(gè)字節(jié), 數(shù)據(jù)塊的第一個(gè)字節(jié)指出這個(gè)數(shù)據(jù)塊大小(字節(jié)數(shù)), 計(jì)算數(shù)據(jù)塊的大小時(shí)不包括這個(gè)字節(jié),所以一個(gè)空的數(shù)據(jù)塊有一個(gè)字節(jié),那就是數(shù)據(jù)塊的大小0×00。 下表是一個(gè)數(shù)據(jù)塊的結(jié)構(gòu):m - 全局顏色列表標(biāo)志(Global Color Table Flag),當(dāng)置位時(shí)表示有全局顏色列表,pixel值有意義.
            cr - 顏色深度(Color ResoluTion),cr+1確定圖象的顏色深度.
            s - 分類標(biāo)志(Sort Flag),如果置位表示全局顏色列表分類排列.
            pixel - 全局顏色列表大小,pixel+1確定顏色列表的索引數(shù)(2的pixel+1次方).連續(xù)的和交織的(由圖象標(biāo)識(shí)符的交織標(biāo)志控制)。連續(xù)方式按從左到右、從上到下的順序排列圖象的光柵數(shù)據(jù);交織圖象按下面的方法處理光柵數(shù)據(jù):

            BYTE 7 6 5 4 3 2 1 0 BIT
            0 塊大小 Block Size - 塊大小,不包括這個(gè)這個(gè)字節(jié)(不計(jì)算塊大小自身)
            1   Data Values - 塊數(shù)據(jù),8-bit的字符串
            2  
            …  
            254  
            255  

              一個(gè)GIF文件的結(jié)構(gòu)可分為文件頭(File Header)、GIF數(shù)據(jù)流(GIF Data Stream)和文件終結(jié)器(Trailer)三個(gè)部分。文件頭包含GIF文件署名(Signature)和版本號(hào)(Version);GIF數(shù)據(jù)流由控制標(biāo)識(shí)符、圖象塊(Image Block)和其他的一些擴(kuò)展塊組成;文件終結(jié)器只有一個(gè)值為0×3B的字符(”;”)表示文件結(jié)束。下表顯示了一個(gè)GIF文件的組成結(jié)構(gòu):

              GIF署名 文件頭  
              版本號(hào)
              邏輯屏幕標(biāo)識(shí)符 GIF數(shù)據(jù)流  
              全局顏色列表  
              …  
              圖象標(biāo)識(shí)符 圖象塊                              
              圖象局部顏色列表圖
                                        基于顏色列表的圖象數(shù)據(jù)  
             
              …  
              GIF結(jié)尾 文件結(jié)尾  

              下面就具體介紹各個(gè)部分:

            文件頭部分(Header)

            GIF署名(Signature)和版本號(hào)(Version)

            GIF署名用來(lái)確認(rèn)一個(gè)文件是否是GIF格式的文件,這一部分由三個(gè)字符組成:”GIF”;文件版本號(hào)也是由三個(gè)字節(jié)組成,可以為”87a”或”89a”.具體描述見(jiàn)下表:

            BYTE 7 6 5 4 3 2 1 0 BIT
            1 ”G” GIF文件標(biāo)識(shí)
            2 ”I”
            3 ”F”
            4 ”8” GIF文件版本號(hào):87a - 1987年5月
                    89a - 1989年7月
            5 ”7”或”9”
            6 ”a”

            GIF數(shù)據(jù)流部分(GIF Data Stream)

            邏輯屏幕標(biāo)識(shí)符(Logical Screen Descriptor)

            這一部分由7個(gè)字節(jié)組成,定義了GIF圖象的大小(Logical Screen Width & Height)、顏色深度(Color Bits)、背景色(Blackground Color Index)以及有無(wú)全局顏色列表(Global Color Table)和顏色列表的索引數(shù)(Index Count),具體描述見(jiàn)下表:

            BYTE 7 6 5 4 3 2 1 0 BIT  
            1 邏輯屏幕寬度 像素?cái)?shù),定義GIF圖象的寬度
            2
            3 邏輯屏幕高度 像素?cái)?shù),定義GIF圖象的高度
            4
            5 m cr s pixel 具體描述見(jiàn)下…
            6 背景色 背景顏色(在全局顏色列表中的索引,如果沒(méi)有全局顏色列表,該值沒(méi)有意義)
            7 像素寬高比 像素寬高比(Pixel Aspect Radio)

             

            全局顏色列表(Global Color Table)

            全局顏色列表必須緊跟在邏輯屏幕標(biāo)識(shí)符后面,每個(gè)顏色列表索引條目由三個(gè)字節(jié)組成,按R、G、B的順序排列。

            BYTE 7 6 5 4 3 2 1 0 BIT
            1 索引1的紅色值  
            2 索引1的綠色值  
            3 索引1的藍(lán)色值  
            4 索引2的紅色值  
            5 索引2的綠色值  
            6 索引2的藍(lán)色值  
            7 …                             

            圖象標(biāo)識(shí)符(Image Descriptor)
            ~~~~~~~~~~~~~~~~~~~~~~~~~
            一個(gè)GIF文件內(nèi)可以包含多幅圖象,一幅圖象結(jié)束之后緊接著下是一幅圖象的標(biāo)識(shí)符,圖象標(biāo)識(shí)符以0×2C(”,”)字符開(kāi)始, 定義緊接著它的圖象的性質(zhì),包括圖象相對(duì)于邏輯屏幕邊界的偏移量、圖象大小以及有無(wú)局部顏色列表和顏色列表大小, 由10個(gè)字節(jié)組成:

            BYTE 7 6 5 4 3 2 1 0 BIT  
            1 0 0 1 0 1 1 0 0 圖象標(biāo)識(shí)符開(kāi)始,固定值為”,”
            2 X方向偏移量 必須限定在邏輯屏幕尺寸范圍內(nèi)
            3
            4 Y方向偏移量
            5
            6 圖象寬度
            7
            8 圖象高度
            9
            10 m i s r pixel m - 局部顏色列表標(biāo)志(Local Color Table Flag)
                          置位時(shí)標(biāo)識(shí)緊接在圖象標(biāo)識(shí)符之后有一個(gè)局部顏色列表,供緊跟在它之后的一幅圖象使用;值否時(shí)使用全局顏色列表, 忽略pixel值。
            i - 交織標(biāo)志(Interlace Flag),置位時(shí)圖象數(shù)據(jù)使用交織方式排列 (詳細(xì)描述…),否則使用順序排列。
            s - 分類標(biāo)志(Sort Flag),如果置位表示緊跟著的局部顏色列表分類排列.
            r - 保留,必須初始化為0.
            pixel - 局部顏色列表大小(Size of Local Color Table),pixel+1就為顏色列表的位數(shù)

            局部顏色列表(Local Color Table)

            如果上面的局部顏色列表標(biāo)志置位的話,則需要在這里(緊跟在圖象標(biāo)識(shí)符之后)定義一個(gè)局部顏色列表以供緊接著它的圖象使用,注 意使用前應(yīng)線保存原來(lái)的顏色列表,使用結(jié)束之后回復(fù)原來(lái)保存的全局顏色列表。如果一個(gè)GIF文件即沒(méi)有提供全局顏色列表,也沒(méi)有提供局部顏色列表, 可以自己創(chuàng)建一個(gè)顏色列表,或使用系統(tǒng)的顏色列表。局部顏色列表的排列方式和全局顏色列表一樣:RGBRGB……

            基于顏色列表的圖象數(shù)據(jù)(Table-Based Image Data)

            由兩部分組成:LZW編碼長(zhǎng)度(LZW Minimum Code Size)和圖象數(shù)據(jù)(Image Data)。

            BYTE 7 6 5 4 3 2 1 0 BIT
            1 LZW編碼長(zhǎng)度 LZW編碼初始碼表大小的位數(shù),詳細(xì)描述見(jiàn)LZW編碼…
               … 圖象數(shù)據(jù),由一個(gè)或幾個(gè)數(shù)據(jù)塊(Data Sub-blocks)組成
            數(shù)據(jù)塊

            GIF圖象數(shù)據(jù)使用了LZW壓縮算法(詳細(xì)介紹請(qǐng)看后面的『LZW算法和GIF數(shù)據(jù)壓縮』),大大減小了圖象數(shù)據(jù)的大小。圖象數(shù)據(jù)在壓縮前有兩種排列格式:

            創(chuàng)建四個(gè)通道(pass)保存數(shù)據(jù),每個(gè)通道提取不同行的數(shù)據(jù):
            第一通道(Pass 1)提取從第0行開(kāi)始每隔8行的數(shù)據(jù);
            第二通道(Pass 2)提取從第4行開(kāi)始每隔8行的數(shù)據(jù);
            第三通道(Pass 3)提取從第2行開(kāi)始每隔4行的數(shù)據(jù);
            第四通道(Pass 4)提取從第1行開(kāi)始每隔2行的數(shù)據(jù);

            下面的例子演示了提取交織圖象數(shù)據(jù)的順序:

            行  通道1   通道2   通道3   通道4   
            0  ——————————————————– 1        
            1 ——————————————————–       4  
            2  ——————————————————–     3    
            3  ——————————————————–       4  
            4  ——————————————————–   2      
            5  ——————————————————–       4  
            6  ——————————————————–     3    
            7  ——————————————————–       4  
            8  ——————————————————– 1        
            9  ——————————————————–       4  
            10 ——————————————————–     3    
            11 ——————————————————–       4  
            12 ——————————————————–   2      
            13 ——————————————————–       4  
            14 ——————————————————–     3    
            15 ——————————————————–       4  
            16 ——————————————————– 1        
            17 ——————————————————–       4  
            18 ——————————————————–     3    
            19 ——————————————————–       4  
            20 ——————————————————–   2      

             

            圖形控制擴(kuò)展(Graphic Control Extension)

            這一部分是可選的(需要89a版本),可以放在一個(gè)圖象塊(圖象標(biāo)識(shí)符)或文本擴(kuò)展塊的前面, 用來(lái)控制跟在它后面的第一個(gè)圖象(或文本)的渲染(Render)形式,組成結(jié)構(gòu)如下:

            BYTE 7 6 5 4 3 2 1 0 BIT
            1 擴(kuò)展塊標(biāo)識(shí) Extension Introducer - 標(biāo)識(shí)這是一個(gè)擴(kuò)展塊,固定值0×21
            2 圖形控制擴(kuò)展標(biāo)簽 Graphic Control Label - 標(biāo)識(shí)這是一個(gè)圖形控制擴(kuò)展塊,固定值0xF9
            3 塊大小 Block Size - 不包括塊終結(jié)器,固定值4
            4 保留 處置方法 i t i - 用戶輸入標(biāo)志;t - 透明色標(biāo)志。
            5 延遲時(shí)間 Delay Time - 單位1/100秒,如果值不為1,表示暫停規(guī)定的時(shí)間后再繼續(xù)往下處理數(shù)據(jù)流
            6
            7 透明色索引 Transparent Color Index - 透明色索引值
            8 塊終結(jié)器 Block Terminator - 標(biāo)識(shí)塊終結(jié),固定值0

            (Disposal Method):指出處置圖形的方法,當(dāng)值為:
                                    0 - 不使用處置方法
                                    1 - 不處置圖形,把圖形從當(dāng)前位置移去
                                    2 - 回復(fù)到背景色
                                    3 - 回復(fù)到先前狀態(tài)
                                  4-7 - 自定義
            用戶輸入標(biāo)志(Use Input Flag):指出是否期待用戶有輸入之后才繼續(xù)進(jìn)行下去,置位表示期待,值否表示不期待。用戶輸入可以是按回車鍵、鼠標(biāo)點(diǎn)擊等, 可以和延遲時(shí)間一起使用,在設(shè)置的延遲時(shí)間內(nèi)用戶有輸入則馬上繼續(xù)進(jìn)行,或者沒(méi)有輸入直到延遲時(shí)間到達(dá)而繼續(xù)
            透明顏色標(biāo)志(Transparent Color Flag):置位表示使用透明顏色

            注釋擴(kuò)展(Comment Extension)

            這一部分是可選的(需要89a版本),可以用來(lái)記錄圖形、版權(quán)、描述等任何的非圖形和控制的純文本數(shù)據(jù)(7-bit ASCII字符),注釋擴(kuò)展并不影響對(duì)圖象數(shù)據(jù)流的處理,解碼器完全可以忽略它。 存放位置可以是數(shù)據(jù)流的任何地方,最好不要妨礙控制和數(shù)據(jù)塊,推薦放在數(shù)據(jù)流的開(kāi)始或結(jié)尾。具體組成:

            BYTE 7 6 5 4 3 2 1 0 BIT
            1 擴(kuò)展塊標(biāo)識(shí) Extension Introducer - 標(biāo)識(shí)這是一個(gè)擴(kuò)展塊,固定值0×21
            2 注釋塊標(biāo)簽 Comment Label - 標(biāo)識(shí)這是一個(gè)注釋塊,固定值0xFE
              … Comment Data - 一個(gè)或多個(gè)數(shù)據(jù)塊(Data Sub-Blocks)組成
            注釋塊

              塊終結(jié)器 Block Terminator - 標(biāo)識(shí)注釋塊結(jié)束,固定值0

            圖形文本擴(kuò)展(Plain Text Extension)

            這一部分是可選的(需要89a版本),用來(lái)繪制一個(gè)簡(jiǎn)單的文本圖象,這一部分由用來(lái)繪制的純文本數(shù)據(jù)(7-bit ASCII字符)和控制繪制的參數(shù)等組成。繪制文本借助于一個(gè)文本框(Text Grid)來(lái)定義邊界,在文本框中劃分多個(gè)單元格,每個(gè)字符占用一個(gè)單元,繪制時(shí)按從左到右、從上到下的順序依次進(jìn)行, 直到最后一個(gè)字符或者占滿整個(gè)文本框(之后的字符將被忽略,因此定義文本框的大小時(shí)應(yīng)該注意到是否可以容納整個(gè)文本), 繪制文本的顏色索引使用全局顏色列表,沒(méi)有則可以使用一個(gè)已經(jīng)保存的前一個(gè)顏色列表。另外,圖形文本擴(kuò)展塊也屬于圖形塊(Graphic Rendering Block),可以在它前面定義圖形控制擴(kuò)展對(duì)它的表現(xiàn)形式進(jìn)一步修改。圖形文本擴(kuò)展的組成:

            BYTE 7 6 5 4 3 2 1 0 BIT
            1 擴(kuò)展塊標(biāo)識(shí) Extension Introducer - 標(biāo)識(shí)這是一個(gè)擴(kuò)展塊,固定值0×21
            2 圖形控制擴(kuò)展標(biāo)簽 Plain Text Label - 標(biāo)識(shí)這是一個(gè)圖形文本擴(kuò)展塊,固定值0×01
            3 塊大小 Block Size - 塊大小,固定值12
            4 文本框左邊界位置 Text Glid Left Posotion - 像素值,文本框離邏輯屏幕的左邊界距離
            5
            6 文本框上邊界位置 Text Glid Top Posotion - 像素值,文本框離邏輯屏幕的上邊界距離
            7
            8 文本框高度 Text Glid Width -像素值
            9
            10 文本框高度 Text Glid Height - 像素值
            11
            12 字符單元格寬度 Character Cell Width - 像素值,單個(gè)單元格寬度
            13 字符單元格高度 Character Cell Height- 像素值,單個(gè)單元格高度
            14 文本前景色索引 Text Foreground Color Index - 前景色在全局顏色列表中的索引
            15 文本背景色索引 Text Blackground Color Index - 背景色在全局顏色列表中的索引
            N … Plain Text Data - 一個(gè)或多個(gè)數(shù)據(jù)塊(Data Sub-Blocks)組成,保存要在顯示的字符串。
            文本數(shù)據(jù)塊

            N+1 塊終結(jié) Block Terminator - 標(biāo)識(shí)注釋塊結(jié)束,固定值0

            推薦:1.由于文本的字體(Font)和尺寸(Size)沒(méi)有定義,解碼器應(yīng)該根據(jù)情況選擇最合適的;
            2.如果一個(gè)字符的值小于0×20或大于0xF7,則這個(gè)字符被推薦顯示為一個(gè)空格(0×20);
            3.為了兼容性,最好定義字符單元格的大小為8×8或8×16(寬度x高度)。

            應(yīng)用程序擴(kuò)展(Application Extension)

            這是提供給應(yīng)用程序自己使用的(需要89a版本),應(yīng)用程序可以在這里定義自己的標(biāo)識(shí)、信息等,組成:

            BYTE 7 6 5 4 3 2 1 0 BIT
            1 擴(kuò)展塊標(biāo)識(shí) Extension Introducer - 標(biāo)識(shí)這是一個(gè)擴(kuò)展塊,固定值0×21
            2 圖形控制擴(kuò)展標(biāo)簽 Application Extension Label - 標(biāo)識(shí)這是一個(gè)應(yīng)用程序擴(kuò)展塊,固定值0xFF
            3 塊大小 Block Size - 塊大小,固定值11
            4 應(yīng)用程序標(biāo)識(shí)符 Application Identifier - 用來(lái)鑒別應(yīng)用程序自身的標(biāo)識(shí)(8個(gè)連續(xù)ASCII字符)
            5
            6
            7
            8
            9
            10
            11
            12 應(yīng)用程序鑒別碼 Application Authentication Code - 應(yīng)用程序定義的特殊標(biāo)識(shí)碼(3個(gè)連續(xù)ASCII字符)
            13
            14
            N … 應(yīng)用程序自定義數(shù)據(jù)塊 - 一個(gè)或多個(gè)數(shù)據(jù)塊(Data Sub-Blocks)組成,保存應(yīng)用程序自己定義的數(shù)據(jù)
            應(yīng)用程序數(shù)據(jù)

            N+1 塊終結(jié)器 lock Terminator - 標(biāo)識(shí)注釋塊結(jié)束,固定值0

            文件結(jié)尾部分

            文件終結(jié)器(Trailer)

            這一部分只有一個(gè)值為0的字節(jié),標(biāo)識(shí)一個(gè)GIF文件結(jié)束.

            BYTE 7 6 5 4 3 2 1 0  
            1 文件終結(jié) GIF Trailer - 標(biāo)識(shí)GIF文件結(jié)束,固定值0×3B

             

            GIF圖象文件格式  
                GIF的全稱是Graphics   Interchange   Format,.譯做圖形交換格式。GIF是一種公用的圖象文件格式標(biāo)準(zhǔn),但它歸compuServe公司版權(quán)所有。  
              GIF文件結(jié)構(gòu)包含一個(gè)文件頭,  在一個(gè)GIF文件中首先碰到的是GIF的標(biāo)志,這個(gè)標(biāo)志告訴解碼程序這是個(gè)GIF文件。這個(gè)標(biāo)志是3字節(jié)的串:GIF。一個(gè)GIF文件中可以存放多幅圖象,但絕大多數(shù)的文件都只包含一幅圖象。  
                然后是屏幕描述字(screen   descriptor),說(shuō)明了用來(lái)生成的顯示文件中的圖象的顯示器分辨率,分別表示屏幕的寬和高。  
                緊跟下來(lái)的一個(gè)字節(jié)是全局標(biāo)志,其低三位說(shuō)明了即將碰到的圖象是多少顏色的。最高位表示是否存在一個(gè)全局色彩表。  
                背景色表示把背景置成適當(dāng)?shù)念伾瑢?shí)際上是一個(gè)指向全局色彩表的數(shù)。  
                Struct   Global_Data{  
                  Unsigned   short   screen_width;  
                  Unsigned   short   screen_height;  
                  Unsigned   char   background;  
                  har   tail='\0';  
                  }  
                接下來(lái)是全局色彩表,按順序存放所有的嚴(yán)肅,每一種嚴(yán)肅由色彩表的一項(xiàng)來(lái)描述,每項(xiàng)是3字節(jié),分別表示紅、綠、藍(lán)三種原色的強(qiáng)度。其長(zhǎng)度有全局標(biāo)志的低三位表示。  
                以后的數(shù)據(jù)都是局部的了。是些數(shù)據(jù)塊的集合。下面是圖象數(shù)據(jù)塊的結(jié)構(gòu)。  
                Struct   Local_Head{  
                    Char   heading=',';  
                    Unsigned   short   image_left;//圖象的屏幕上顯示的起始位置  
                  Unsigned   short   image_top;  
                  Unsigned   short   image_width;  
                  Unsigned   short   image-height;  
                  Unsigned   char   local_flag;//局部標(biāo)志  
                  }    
               
                局部標(biāo)志和   全局標(biāo)志的不同之處在于次高位,如果這位被置成1則表示圖像的位圖數(shù)據(jù)是以隔行方式存放的。也就是說(shuō),在解開(kāi)的位圖數(shù)據(jù)中,第一行存放的是屏幕上第一行,第二行對(duì)應(yīng)屏幕上的第9行,第三行對(duì)應(yīng)屏幕上的第17行,以此遞增--這是第一遍掃描;第二遍掃描是從屏幕上的第5行開(kāi)始,兩行之間也是以8遞增;第三遍掃描是從屏幕上的第3行開(kāi)始,兩行之間以4遞增;第四遍掃描,也是最后一遍,從第2行開(kāi)始,兩行之間以2遞增。隔行存放的圖像數(shù)據(jù)和順序(不隔行)存放的圖像數(shù)據(jù)的對(duì)應(yīng)關(guān)系如下圖所示:  
                    
               
                隔行存放的GIF圖像在邊解碼邊顯示的時(shí)候可分成四遍掃描。第一遍掃描雖然只顯示了整個(gè)圖像的八分之一,第二遍的掃描后也只顯示了四分之一,但這已經(jīng)把整個(gè)圖像的概貌顯示出來(lái)了。在顯示GIF圖像的時(shí),隔行存放的圖像會(huì)給你這樣一個(gè)印象:向它的顯示速度似乎要比其他圖像快一些,這是隔行存放的優(yōu)點(diǎn)。  
                在GIF圖像的編解碼中用到了LZW壓縮算法--把這些字符流轉(zhuǎn)換成另一種形式的代碼流,解碼過(guò)程則是把這種代碼流還原成原來(lái)的字符流。  


            本文來(lái)自CSDN博客,轉(zhuǎn)載請(qǐng)標(biāo)明出處:http://blog.csdn.net/friendwaters/archive/2008/07/30/2737328.aspx

            posted on 2009-10-30 17:41 李陽(yáng) 閱讀(494) 評(píng)論(0)  編輯 收藏 引用 所屬分類: 圖形圖像
            久久99久久99精品免视看动漫| 亚洲日本va中文字幕久久| 国产精品久久久久影视不卡| 久久精品国产91久久综合麻豆自制| 久久99国产精品二区不卡| 久久精品成人欧美大片| 99久久这里只精品国产免费| 精品久久久噜噜噜久久久| 久久国产精品免费一区二区三区| 欧美伊人久久大香线蕉综合| 久久精品国产91久久综合麻豆自制 | 午夜精品久久久久9999高清| 亚洲欧洲日产国码无码久久99| 亚洲国产精品一区二区久久| 中文字幕日本人妻久久久免费| 精品久久久无码中文字幕| 91精品国产乱码久久久久久| 久久综合偷偷噜噜噜色| 久久国产亚洲精品麻豆| 久久国产V一级毛多内射| 色狠狠久久AV五月综合| 国产精品乱码久久久久久软件 | 久久国产精品二国产精品| 人妻精品久久久久中文字幕一冢本 | 亚洲国产另类久久久精品黑人 | 香蕉久久夜色精品升级完成| 一97日本道伊人久久综合影院| 国产精品xxxx国产喷水亚洲国产精品无码久久一区 | 亚洲AV无码一区东京热久久| 久久久久这里只有精品 | 色狠狠久久综合网| 亚洲国产成人久久综合区| 久久精品国产亚洲av瑜伽| 久久97久久97精品免视看| 国产精品美女久久久免费| 久久av高潮av无码av喷吹| 久久国产精品二国产精品| 亚洲国产精品综合久久一线| 久久亚洲国产成人精品无码区| 天天影视色香欲综合久久| 久久久久亚洲国产|