青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

socketref,再見!高德

https://github.com/adoggie

  C++博客 :: 首頁 :: 聯(lián)系 :: 聚合  :: 管理
  246 Posts :: 4 Stories :: 312 Comments :: 0 Trackbacks

常用鏈接

留言簿(54)

我參與的團(tuán)隊

搜索

  •  

最新評論

閱讀排行榜

評論排行榜

由于視頻開發(fā)的需求,封裝xvid c調(diào)用接口,使之優(yōu)雅易用
我已經(jīng)對pc camera視頻流(RGB)進(jìn)行嘗試,編碼之后傳輸?shù)竭h(yuǎn)程主機(jī)進(jìn)行解碼回放,效果不錯
具體的xvid的參數(shù)可以進(jìn)一步優(yōu)化,這里只是提供簡單的范例
1. xvid 解碼

 1 
 2 /*
 3     encode.cpp
 4     xvid 編碼YUV數(shù)據(jù),為進(jìn)一步傳輸提供準(zhǔn)備
 5 
 6 */
 7 #ifndef _XVID_ENCODE_H
 8 #define _XVID_ENCODE_H
 9 
10 #include <xvid.h>
11 
12 struct DecodeInfo{
13     unsigned short    width;
14     unsigned short  height;        
15     void (*after_decode)(void * data,unsigned int size,int width,int height,void* user);
16     void * user;
17 };
18 
19 
20 class Xvid_Decoder{
21     
22 public:
23     Xvid_Decoder(){ 
24     }
25     bool            Open();
26     void            Close();
27     DecodeInfo &    GetDecodeInfo(){    return _dec_info;}
28     void            decode(void *data,unsigned int size);
29     static    void    xvid_global_init();
30     xvid_dec_create_t&    GetHandle(){    return _xvid_dec_create;}
31 private:
32     int                xvid_dec(unsigned char *bitstream,int bs_size,unsigned char *image);
33 private:
34     DecodeInfo    _dec_info;
35     void*        _dec_handle;
36     char         _image[1024*768*3];
37     xvid_dec_create_t _xvid_dec_create;    
38 };
39 
40 #endif
41 

 

 

 1 
 2 /*
 3     encode.cpp
 4     xvid 編碼YUV數(shù)據(jù),為進(jìn)一步傳輸提供準(zhǔn)備
 5 
 6 */
 7 #include "xvid_dec.h"
 8 #include <windows.h>
 9 
10 //////////////////////////////////////////////////////////////////////////
11 
12 
13 void Xvid_Decoder::Close(){
14     int xerr;    
15     /* Destroy the encoder instance */
16     xerr = xvid_decore(_dec_handle, XVID_ENC_DESTROY, NULL, NULL);    
17 }
18 
19 void Xvid_Decoder::xvid_global_init(){
20     /*------------------------------------------------------------------------
21      * XviD core initialization
22      *----------------------------------------------------------------------*/
23     xvid_gbl_init_t xvid_gbl_init;
24     memset(&xvid_gbl_init, 0sizeof(xvid_gbl_init));
25     xvid_gbl_init.version = XVID_VERSION;
26     xvid_gbl_init.cpu_flags = XVID_CPU_FORCE;
27     /* Initialize XviD core -- Should be done once per __process__ */
28     xvid_global(NULL, XVID_GBL_INIT, &xvid_gbl_init, NULL);
29 }
30 
31 bool Xvid_Decoder::Open(){
32     int ret;    
33     
34     /*------------------------------------------------------------------------
35      * XviD encoder initialization
36      *----------------------------------------------------------------------*/
37     int width,height;
38     width = _xvid_dec_create.width ;
39     height = _xvid_dec_create.height;
40     memset(&_xvid_dec_create, 0sizeof(xvid_dec_create_t));
41     _xvid_dec_create.version = XVID_VERSION;
42 
43     /* Width and Height of input frames */
44     _xvid_dec_create.width = width;
45     _xvid_dec_create.height = height;
46 
47     ret = xvid_decore(NULL, XVID_DEC_CREATE, &_xvid_dec_create, NULL);
48     _dec_handle = _xvid_dec_create.handle;
49     return true;
50 }
51 
52 void Xvid_Decoder::decode(void * data,unsigned int size){
53     int ret;
54     ret = xvid_dec((unsigned char*)data,(int)size,(unsigned char *)_image);    
55     if (ret >0)
56         _dec_info.after_decode(_image,(unsigned int)ret,(int)_xvid_dec_create.width,(int)_xvid_dec_create.height,_dec_info.user);
57 }
58 
59 /*
60 raw xvid_encode procedure
61 */
62 int    Xvid_Decoder::xvid_dec(unsigned char *bitstream,int bs_size,unsigned char *image)
63 {
64     int ret;
65     xvid_dec_frame_t xvid_dec_frame;
66 
67     /* Reset all structures */
68     memset(&xvid_dec_frame, 0sizeof(xvid_dec_frame_t));
69     /* Set version */
70     xvid_dec_frame.version = XVID_VERSION;
71 //    xvid_dec_stats->version = XVID_VERSION;
72 
73     /* No general flags to set */
74     xvid_dec_frame.general          = 0;
75 
76     /* Input stream */
77     xvid_dec_frame.bitstream        = bitstream;
78     xvid_dec_frame.length           = bs_size;
79 
80     /* Output frame structure */
81     xvid_dec_frame.output.plane[0]  = image;
82     xvid_dec_frame.output.stride[0= _xvid_dec_create.width  *3;
83     xvid_dec_frame.output.csp = XVID_CSP_BGR;
84 
85     ret = xvid_decore(_dec_handle, XVID_DEC_DECODE, &xvid_dec_frame, NULL);
86     return(ret);    
87 }
88 
89 
90 

2. xvid 編碼
 1 
 2 /*
 3     encode.cpp
 4     xvid 編碼YUV數(shù)據(jù),為進(jìn)一步傳輸提供準(zhǔn)備
 5 
 6 */
 7 #ifndef _XVID_ENCODE_H
 8 #define _XVID_ENCODE_H
 9 
10 #include <xvid.h>
11 #include <nv.h>
12 
13 
14 
15 struct EncodeInfo{
16     unsigned short    width;
17     unsigned short  height;        
18     void (*after_encode)(void * data,unsigned int size,void* user);
19     void * user;
20 };
21 
22 class Xvid_Encoder:public NVObject{
23 public:
24     Xvid_Encoder(){ _closed = true;
25     }
26     bool            Open();
27     void            Close();
28     EncodeInfo &    GetEncodeInfo(){    return _enc_info;}
29     void            encode(void *data,unsigned int size);
30     static    void    xvid_global_init();
31     int                xvid_enc(unsigned char *image,unsigned char *bitstream);
32 private:
33     EncodeInfo    _enc_info;
34     void*        _enc_handle;
35     char         _bitstream[1024*100];
36     bool        _closed;
37     
38 
39 };
40 
41 #endif
42 
  1 
  2 /*
  3     encode.cpp
  4     xvid 編碼YUV數(shù)據(jù),為進(jìn)一步傳輸提供準(zhǔn)備
  5 
  6 */
  7 #include "encode.h"
  8 #include <windows.h>
  9 
 10 
 11 static const int motion_presets[] = {
 12     /* quality 0 */
 13     0,
 14         
 15         /* quality 1 */
 16         XVID_ME_ADVANCEDDIAMOND16,
 17         
 18         /* quality 2 */
 19         XVID_ME_ADVANCEDDIAMOND16 | XVID_ME_HALFPELREFINE16,
 20         
 21         /* quality 3 */
 22         XVID_ME_ADVANCEDDIAMOND16 | XVID_ME_HALFPELREFINE16 |
 23         XVID_ME_ADVANCEDDIAMOND8 | XVID_ME_HALFPELREFINE8,
 24         
 25         /* quality 4 */
 26         XVID_ME_ADVANCEDDIAMOND16 | XVID_ME_HALFPELREFINE16 |
 27         XVID_ME_ADVANCEDDIAMOND8 | XVID_ME_HALFPELREFINE8 |
 28         XVID_ME_CHROMA_PVOP | XVID_ME_CHROMA_BVOP,
 29         
 30         /* quality 5 */
 31         XVID_ME_ADVANCEDDIAMOND16 | XVID_ME_HALFPELREFINE16 |
 32         XVID_ME_ADVANCEDDIAMOND8 | XVID_ME_HALFPELREFINE8 |
 33         XVID_ME_CHROMA_PVOP | XVID_ME_CHROMA_BVOP,
 34         
 35         /* quality 6 */
 36         XVID_ME_ADVANCEDDIAMOND16 | XVID_ME_HALFPELREFINE16 | XVID_ME_EXTSEARCH16 |
 37         XVID_ME_ADVANCEDDIAMOND8 | XVID_ME_HALFPELREFINE8 | XVID_ME_EXTSEARCH8 |
 38         XVID_ME_CHROMA_PVOP | XVID_ME_CHROMA_BVOP,
 39         
 40 };
 41 #define ME_ELEMENTS (sizeof(motion_presets)/sizeof(motion_presets[0]))
 42 
 43 static const int vop_presets[] = {
 44     /* quality 0 */
 45     0,
 46         
 47     /* quality 1 */
 48     0,
 49 
 50     /* quality 2 */
 51     XVID_VOP_HALFPEL,
 52 
 53     /* quality 3 */
 54     XVID_VOP_HALFPEL | XVID_VOP_INTER4V,
 55 
 56     /* quality 4 */
 57     XVID_VOP_HALFPEL | XVID_VOP_INTER4V,
 58 
 59     /* quality 5 */
 60     XVID_VOP_HALFPEL | XVID_VOP_INTER4V |
 61     XVID_VOP_TRELLISQUANT,
 62 
 63     /* quality 6 */
 64     XVID_VOP_HALFPEL | XVID_VOP_INTER4V |
 65     XVID_VOP_TRELLISQUANT | XVID_VOP_HQACPRED,
 66 
 67 };
 68 #define VOP_ELEMENTS (sizeof(vop_presets)/sizeof(vop_presets[0]))
 69 
 70 //////////////////////////////////////////////////////////////////////////
 71 #define MAX_ZONES   64
 72 
 73 /* Maximum number of frames to encode */
 74 #define ABS_MAXFRAMENR 9999
 75 
 76 static int ARG_STATS = 0;
 77 static int ARG_DUMP = 0;
 78 static int ARG_LUMIMASKING = 0;
 79 static int ARG_BITRATE = 0;
 80 static int ARG_SINGLE = 0;
 81 static char *ARG_PASS1 = 0;
 82 static char *ARG_PASS2 = 0;
 83 static int ARG_QUALITY = ME_ELEMENTS - 1;
 84 static float ARG_FRAMERATE = 25.00f;
 85 static int ARG_MAXFRAMENR = ABS_MAXFRAMENR;
 86 static int ARG_MAXKEYINTERVAL = 0;
 87 static char *ARG_INPUTFILE = NULL;
 88 static int ARG_INPUTTYPE = 0;
 89 static int ARG_SAVEMPEGSTREAM = 0;
 90 static int ARG_SAVEINDIVIDUAL = 0;
 91 static char *ARG_OUTPUTFILE = NULL;
 92 
 93 static int ARG_BQRATIO = 150;
 94 static int ARG_BQOFFSET = 100;
 95 static int ARG_MAXBFRAMES = 0;
 96 static int ARG_PACKED = 0;
 97 
 98 static int ARG_VOPDEBUG = 0;
 99 static int ARG_GMC = 0;
100 static int ARG_INTERLACING = 0;
101 static int ARG_QPEL = 0;
102 static int ARG_CLOSED_GOP = 0;
103 
104 #ifndef READ_PNM
105 #define IMAGE_SIZE(x,y) ((x)*(y)*3/2)
106 #else
107 #define IMAGE_SIZE(x,y) ((x)*(y)*3)
108 #endif
109 
110 #define MAX(A,B) ( ((A)>(B)) ? (A) : (B) )
111 #define SMALL_EPS (1e-10)
112 
113 #define SWAP(a) ( (((a)&0x000000ff)<<24) | (((a)&0x0000ff00)<<8) | \
114 (((a)&0x00ff0000)>>8)  | (((a)&0xff000000)>>24) )
115 
116 
117 //////////////////////////////////////////////////////////////////////////
118 
119 
120 void Xvid_Encoder::Close(){
121     int xerr;    
122     NVMutexLock lock(_lock);
123 
124     _closed = true;
125     /* Destroy the encoder instance */
126     xerr = xvid_encore(_enc_handle, XVID_ENC_DESTROY, NULL, NULL);    
127 
128 }
129 
130 void Xvid_Encoder::xvid_global_init(){
131     /*------------------------------------------------------------------------
132      * XviD core initialization
133      *----------------------------------------------------------------------*/
134     xvid_gbl_init_t xvid_gbl_init;
135     memset(&xvid_gbl_init, 0sizeof(xvid_gbl_init));
136     xvid_gbl_init.version = XVID_VERSION;
137     xvid_gbl_init.cpu_flags = XVID_CPU_FORCE;
138     /* Initialize XviD core -- Should be done once per __process__ */
139     xvid_global(NULL, XVID_GBL_INIT, &xvid_gbl_init, NULL);
140 }
141 
142 bool Xvid_Encoder::Open(){
143     int xerr;        
144     xvid_enc_create_t xvid_enc_create;
145     _closed = false;
146     /*------------------------------------------------------------------------
147      * XviD encoder initialization
148      *----------------------------------------------------------------------*/
149     memset(&xvid_enc_create, 0sizeof(xvid_enc_create));
150     xvid_enc_create.version = XVID_VERSION;
151 
152     /* Width and Height of input frames */
153     xvid_enc_create.width = GetEncodeInfo().width;
154     xvid_enc_create.height = GetEncodeInfo().height;
155     xvid_enc_create.profile = XVID_PROFILE_AS_L4;
156 
157     /* init plugins  */
158     /*
159     xvid_enc_create.zones = ZONES;
160     xvid_enc_create.num_zones = NUM_ZONES;
161 
162     xvid_enc_create.plugins = plugins;
163     xvid_enc_create.num_plugins = 0;
164     */
165 
166 
167     /* No fancy thread tests */
168     xvid_enc_create.num_threads = 0;
169 
170     /* Frame rate - Do some quick float fps = fincr/fbase hack */    
171     xvid_enc_create.fincr = 1;
172     xvid_enc_create.fbase = (int10;
173     /* Maximum key frame interval */
174     xvid_enc_create.max_key_interval = (int)-1;    //--default 10s
175     /* Bframes settings */
176     xvid_enc_create.max_bframes = ARG_MAXBFRAMES;
177     xvid_enc_create.bquant_ratio = ARG_BQRATIO;
178     xvid_enc_create.bquant_offset = ARG_BQOFFSET;
179 
180     /* Dropping ratio frame -- we don't need that */
181     xvid_enc_create.frame_drop_ratio = 0;
182     /* Global encoder options */
183     xvid_enc_create.global = 0;
184 
185     if (ARG_PACKED)
186         xvid_enc_create.global |= XVID_GLOBAL_PACKED;
187 
188     if (ARG_CLOSED_GOP)
189         xvid_enc_create.global |= XVID_GLOBAL_CLOSED_GOP;
190 
191     if (ARG_STATS)
192         xvid_enc_create.global |= XVID_GLOBAL_EXTRASTATS_ENABLE;
193 
194     /* I use a small value here, since will not encode whole movies, but short clips */
195     xerr = xvid_encore(NULL, XVID_ENC_CREATE, &xvid_enc_create, NULL);
196     _enc_handle = xvid_enc_create.handle;
197     return true;
198 }
199 
200 void Xvid_Encoder::encode(void * data,unsigned int size){
201     int ret;    
202     _lock.Lock();
203     if( _closed ){
204         _lock.Unlock();
205         return;
206     }
207     ret = xvid_enc((unsigned char*)data,(unsigned char *)_bitstream);        
208     _lock.Unlock();
209     if (ret >0)
210         _enc_info.after_encode(_bitstream,(unsigned int)ret,_enc_info.user);
211     
212 }
213 
214 /*
215 raw xvid_encode procedure
216 */
217 int Xvid_Encoder::xvid_enc(unsigned char *image,unsigned char *bitstream)
218 {
219     int ret;    
220     xvid_enc_frame_t xvid_enc_frame;
221     xvid_enc_stats_t xvid_enc_stats;
222     
223     /* Version for the frame and the stats */
224     memset(&xvid_enc_frame, 0sizeof(xvid_enc_frame));
225     xvid_enc_frame.version = XVID_VERSION;
226     
227     memset(&xvid_enc_stats, 0sizeof(xvid_enc_stats));
228     xvid_enc_stats.version = XVID_VERSION;
229     
230     /* Bind output buffer */
231     xvid_enc_frame.bitstream = bitstream;
232     xvid_enc_frame.length = -1;
233     
234     /* Initialize input image fields */
235     xvid_enc_frame.input.plane[0= image;
236     xvid_enc_frame.input.csp = XVID_CSP_BGR;
237     xvid_enc_frame.input.stride[0= _enc_info.width*3;
238 
239     
240     /* Set up core's general features */
241     xvid_enc_frame.vol_flags = 0;
242     
243     /* Set up core's general features */
244     xvid_enc_frame.vop_flags = vop_presets[ARG_QUALITY-2];
245     
246     /* Frame type -- let core decide for us */
247     xvid_enc_frame.type = XVID_TYPE_AUTO;
248     
249     /* Force the right quantizer -- It is internally managed by RC plugins */
250     xvid_enc_frame.quant = 0;
251     
252     /* Set up motion estimation flags */
253     xvid_enc_frame.motion = motion_presets[ARG_QUALITY-2];
254     
255     /* We don't use special matrices */
256     xvid_enc_frame.quant_intra_matrix = NULL;
257     xvid_enc_frame.quant_inter_matrix = NULL;
258     
259     /* Encode the frame */
260     ret = xvid_encore(_enc_handle, XVID_ENC_ENCODE, &xvid_enc_frame,NULL);
261     //    &xvid_enc_stats);
262     //--判別是否是關(guān)鍵幀
263     //*key = (xvid_enc_frame.out_flags & XVID_KEYFRAME);
264     //*stats_type = xvid_enc_stats.type;
265     //*stats_quant = xvid_enc_stats.quant;
266     //*stats_length = xvid_enc_stats.length;
267     //sse[0] = xvid_enc_stats.sse_y;
268     //sse[1] = xvid_enc_stats.sse_u;
269     //sse[2] = xvid_enc_stats.sse_v;
270     
271     return (ret);
272 }
273 
274 
275 
posted on 2006-03-02 00:28 放屁阿狗 閱讀(4644) 評論(6)  編輯 收藏 引用 所屬分類: 視頻監(jiān)控

Feedback

# re: xvid 數(shù)據(jù)編碼和解碼 2006-04-04 12:25 vcpp
不錯的CLASS,封裝后簡單易用  回復(fù)  更多評論
  

# re: xvid 數(shù)據(jù)編碼和解碼 2006-07-17 11:31 蔡生
那個NVObject是什么啊????編譯不過啊!!!!!!!!!
我能與你聯(lián)系嗎?我的MSN:fortruer@msn.com  回復(fù)  更多評論
  

# re: xvid 數(shù)據(jù)編碼和解碼 2006-09-05 17:10 ainycao
嘿,你好,我最近也在做xvid的東西,可以交流一下嗎?
聯(lián)系方法:msn:ainy_198010@hotmail.com  回復(fù)  更多評論
  

# re: xvid 數(shù)據(jù)編碼和解碼 2006-12-15 23:34 監(jiān)控開發(fā)
我現(xiàn)在也用xvid能交流一下嗎,兄弟
qq:530139959
msn:xjycyx@hotmail.com  回復(fù)  更多評論
  

# re: xvid 數(shù)據(jù)編碼和解碼 2009-05-09 09:43 xdsgh
你好,我現(xiàn)在要用到xvid,在vc++2005上面已經(jīng)編譯通過,得到DLL和LIB文件,我把這兩個文件都拷到我的工程里面了,但是后面生成我的工程的時候老是出現(xiàn)錯誤,我想可能是我不知道怎么用里面的編解碼器,我想能和你交流一下,謝謝。急需,xdusgh@hotmail.com  回復(fù)  更多評論
  

# re: xvid 數(shù)據(jù)編碼和解碼 2013-11-12 16:09 someday
我試了試 編譯運行后出現(xiàn)段錯誤 可能是解碼是出現(xiàn)的 求指教,謝謝~  回復(fù)  更多評論
  

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            欧美国产综合视频| 日韩视频一区二区在线观看| 国产亚洲精品v| 国产精品久久久久久久久婷婷| 欧美护士18xxxxhd| 亚洲视频免费在线观看| 欧美一区二区三区免费观看| 亚洲一区国产视频| 欧美一区二区三区四区在线观看地址 | 欧美无乱码久久久免费午夜一区 | 亚洲欧美精品伊人久久| 国产亚洲欧美日韩在线一区| 日韩视频在线观看一区二区| 亚洲精品综合精品自拍| 一区二区三区四区五区精品视频| 亚洲午夜av| 亚洲国产综合视频在线观看| 老司机免费视频一区二区三区| 9国产精品视频| 亚洲一区二区三区四区五区午夜 | 性做久久久久久久久| 久久免费精品日本久久中文字幕| 一区二区免费在线视频| 亚洲欧美制服另类日韩| 亚洲免费观看| 香蕉乱码成人久久天堂爱免费 | 亚洲欧美日韩系列| 亚洲激情啪啪| 麻豆精品一区二区综合av| 亚洲一区二区成人| 亚洲人成免费| 一本色道久久精品| 久久久精品国产一区二区三区| 欧美成熟视频| 欧美福利小视频| 中文一区在线| 在线亚洲欧美| 日韩午夜电影| 久久精品91久久久久久再现| 亚洲欧美国产一区二区三区| 免费亚洲一区| 国内一区二区三区| 香蕉成人啪国产精品视频综合网| 日韩视频中文| 在线亚洲精品| 欧美成年人网| 欧美顶级少妇做爰| 国产亚洲成人一区| 亚洲在线观看视频网站| 亚洲国产日韩在线一区模特| 亚洲国产精品专区久久| 久久不射中文字幕| 国产精品视频免费一区| 中文亚洲字幕| 亚洲欧美伊人| 久久国产精品久久精品国产| 久久久999精品视频| 99精品视频免费全部在线| 亚洲视频中文字幕| 欧美大胆成人| 亚洲欧洲一区二区三区久久| 欧美国产日韩一区二区三区| 亚洲人永久免费| 美女主播一区| 欧美美女bb生活片| 91久久香蕉国产日韩欧美9色| 狼狼综合久久久久综合网 | 亚洲精品少妇网址| 欧美激情性爽国产精品17p| 噜噜噜在线观看免费视频日韩 | 国语自产在线不卡| 久久免费视频在线观看| 亚洲第一精品电影| 久久天天狠狠| 亚洲人成高清| 久久久久一区二区三区四区| 午夜精品亚洲一区二区三区嫩草| 国产精品主播| 久久久综合激的五月天| 亚洲精品欧美在线| 欧美伦理91| 欧美一区二区三区在线视频 | 欧美日韩高清在线| 国产精品网站在线| 亚洲欧美日韩人成在线播放| 欧美亚洲免费在线| 亚洲第一综合天堂另类专| 欧美成人综合一区| 国产精品美女在线观看| 99国产精品久久久| 久久综合激情| 欧美国产精品v| 有码中文亚洲精品| 亚洲国内在线| 国产麻豆成人精品| 亚洲欧美久久| 91久久夜色精品国产网站| 欧美日韩一区二区三区视频| 亚洲高清在线| av成人福利| 亚洲福利视频网站| 麻豆久久婷婷| 性欧美长视频| 国产欧美日韩| 欧美国产精品人人做人人爱| 国产精品欧美久久久久无广告| 狼人社综合社区| 国产精品久久久久久久app | 亚洲在线观看免费| 国产精品国色综合久久| 久久夜色精品国产欧美乱| 亚洲欧美一区二区原创| 国产精品久久久久久久午夜片| 久久亚洲精品欧美| 久久久精品动漫| 亚洲男女自偷自拍| 欧美不卡视频| 日韩视频久久| 国产一区二区三区在线观看免费视频| 亚洲欧美亚洲| 欧美视频精品在线观看| 亚洲第一页在线| 99国产成+人+综合+亚洲欧美| 黄色亚洲免费| 午夜久久99| 亚洲欧美日韩精品久久久久| 欧美风情在线| 欧美成人精品高清在线播放| 国产一区二区精品丝袜| 亚洲一区视频| 极品尤物av久久免费看| 一区二区三区视频免费在线观看| 亚洲欧洲精品一区二区三区不卡| 亚洲神马久久| 亚洲一区二区动漫| 久久国产精彩视频| 欧美一区成人| 久久综合九色综合欧美就去吻 | 欧美在线观看网站| 亚洲欧美日韩成人| 国产精品成人一区二区| 日韩小视频在线观看| 亚洲美女中文字幕| 亚洲综合电影| 激情欧美丁香| 亚洲人午夜精品免费| 在线精品亚洲一区二区| 久久久综合网| 欧美黑人多人双交| 国产精品久久久久久影院8一贰佰| 最新日韩在线| 中国成人黄色视屏| 久久久精品日韩欧美| 久久久综合精品| 欧美性淫爽ww久久久久无| 久久av一区| 欧美日韩国产一中文字不卡| 亚洲精品免费观看| 国产亚洲精品久久久久久| 亚洲欧美日韩视频一区| 久热国产精品视频| 亚洲精品五月天| 久久久xxx| 亚洲欧美另类中文字幕| 国产精品久久久久久久久婷婷| 欧美大片在线影院| 亚洲美女av电影| 久久精品主播| 亚洲欧美视频在线观看视频| 国产精品视频99| 久久久噜噜噜久久| 亚洲靠逼com| 国外成人在线| 欧美成人综合一区| 久久综合九色综合网站| 亚洲国产精品久久久久久女王| 午夜精品久久久久影视| 农村妇女精品| 亚洲永久免费| 在线精品视频在线观看高清| 久久se精品一区精品二区| 销魂美女一区二区三区视频在线| 久久久精品视频成人| 欧美激情一区二区三区高清视频 | 亚洲欧美一区在线| **欧美日韩vr在线| 欧美中文在线视频| 欧美激情一区| 欧美在线看片a免费观看| 国产精品v日韩精品| 亚洲精品女人| 国内激情久久| 欧美日韩网站| 最新国产乱人伦偷精品免费网站| 亚洲欧美日本国产专区一区| 欧美日韩一区在线观看| 欧美aⅴ99久久黑人专区| 免费久久久一本精品久久区| 国产精品免费网站在线观看| 久久一综合视频|