亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? preprocess.c

?? speex 1.1.12 編碼 穩定版本
?? C
?? 第 1 頁 / 共 2 頁
字號:
/* Copyright (C) 2003 Epic Games    Written by Jean-Marc Valin   File: preprocess.c   Preprocessor with denoising based on the algorithm by Ephraim and Malah   Redistribution and use in source and binary forms, with or without   modification, are permitted provided that the following conditions are   met:   1. Redistributions of source code must retain the above copyright notice,   this list of conditions and the following disclaimer.   2. Redistributions in binary form must reproduce the above copyright   notice, this list of conditions and the following disclaimer in the   documentation and/or other materials provided with the distribution.   3. The name of the author may not be used to endorse or promote products   derived from this software without specific prior written permission.   THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR   IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES   OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE   DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT,   INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES   (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR   SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)   HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,   STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN   ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE   POSSIBILITY OF SUCH DAMAGE.*/#ifdef HAVE_CONFIG_H#include "config.h"#endif#include <math.h>#include "speex/speex_preprocess.h"#include "misc.h"#include "smallft.h"#define max(a,b) ((a) > (b) ? (a) : (b))#define min(a,b) ((a) < (b) ? (a) : (b))#ifndef M_PI#define M_PI 3.14159263#endif#define SQRT_M_PI_2 0.88623#define LOUDNESS_EXP 2.5#define NB_BANDS 8#define SPEEX_PROB_START_DEFAULT    0.35f#define SPEEX_PROB_CONTINUE_DEFAULT 0.20f#define ZMIN .1#define ZMAX .316#define ZMIN_1 10#define LOG_MIN_MAX_1 0.86859static void conj_window(float *w, int len){   int i;   for (i=0;i<len;i++)   {      float x=4*((float)i)/len;      int inv=0;      if (x<1)      {      } else if (x<2)      {         x=2-x;         inv=1;      } else if (x<3)      {         x=x-2;         inv=1;      } else {         x=4-x;      }      x*=1.9979;      w[i]=(.5-.5*cos(x))*(.5-.5*cos(x));      if (inv)         w[i]=1-w[i];      w[i]=sqrt(w[i]);   }}/* This function approximates the gain function    y = gamma(1.25)^2 * M(-.25;1;-x) / sqrt(x)     which multiplied by xi/(1+xi) is the optimal gain   in the loudness domain ( sqrt[amplitude] )*/static inline float hypergeom_gain(float x){   int ind;   float integer, frac;   static const float table[21] = {      0.82157f, 1.02017f, 1.20461f, 1.37534f, 1.53363f, 1.68092f, 1.81865f,      1.94811f, 2.07038f, 2.18638f, 2.29688f, 2.40255f, 2.50391f, 2.60144f,      2.69551f, 2.78647f, 2.87458f, 2.96015f, 3.04333f, 3.12431f, 3.20326f};         if (x>9.5)      return 1+.1296/x;      integer = floor(2*x);   frac = 2*x-integer;   ind = (int)integer;      return ((1-frac)*table[ind] + frac*table[ind+1])/sqrt(x+.0001f);}static inline float qcurve(float x){   return 1.f/(1.f+.1f/(x*x));}SpeexPreprocessState *speex_preprocess_state_init(int frame_size, int sampling_rate){   int i;   int N, N3, N4;   SpeexPreprocessState *st = (SpeexPreprocessState *)speex_alloc(sizeof(SpeexPreprocessState));   st->frame_size = frame_size;   /* Round ps_size down to the nearest power of two */#if 0   i=1;   st->ps_size = st->frame_size;   while(1)   {      if (st->ps_size & ~i)      {         st->ps_size &= ~i;         i<<=1;      } else {         break;      }   }         if (st->ps_size < 3*st->frame_size/4)      st->ps_size = st->ps_size * 3 / 2;#else   st->ps_size = st->frame_size;#endif   N = st->ps_size;   N3 = 2*N - st->frame_size;   N4 = st->frame_size - N3;      st->sampling_rate = sampling_rate;   st->denoise_enabled = 1;   st->agc_enabled = 0;   st->agc_level = 8000;   st->vad_enabled = 0;   st->dereverb_enabled = 0;   st->reverb_decay = .5;   st->reverb_level = .2;   st->speech_prob_start = SPEEX_PROB_START_DEFAULT;   st->speech_prob_continue = SPEEX_PROB_CONTINUE_DEFAULT;   st->frame = (float*)speex_alloc(2*N*sizeof(float));   st->ps = (float*)speex_alloc(N*sizeof(float));   st->gain2 = (float*)speex_alloc(N*sizeof(float));   st->window = (float*)speex_alloc(2*N*sizeof(float));   st->noise = (float*)speex_alloc(N*sizeof(float));   st->reverb_estimate = (float*)speex_alloc(N*sizeof(float));   st->old_ps = (float*)speex_alloc(N*sizeof(float));   st->gain = (float*)speex_alloc(N*sizeof(float));   st->prior = (float*)speex_alloc(N*sizeof(float));   st->post = (float*)speex_alloc(N*sizeof(float));   st->loudness_weight = (float*)speex_alloc(N*sizeof(float));   st->inbuf = (float*)speex_alloc(N3*sizeof(float));   st->outbuf = (float*)speex_alloc(N3*sizeof(float));   st->echo_noise = (float*)speex_alloc(N*sizeof(float));   st->S = (float*)speex_alloc(N*sizeof(float));   st->Smin = (float*)speex_alloc(N*sizeof(float));   st->Stmp = (float*)speex_alloc(N*sizeof(float));   st->update_prob = (float*)speex_alloc(N*sizeof(float));   st->zeta = (float*)speex_alloc(N*sizeof(float));   st->Zpeak = 0;   st->Zlast = 0;   st->noise_bands = (float*)speex_alloc(NB_BANDS*sizeof(float));   st->noise_bands2 = (float*)speex_alloc(NB_BANDS*sizeof(float));   st->speech_bands = (float*)speex_alloc(NB_BANDS*sizeof(float));   st->speech_bands2 = (float*)speex_alloc(NB_BANDS*sizeof(float));   st->noise_bandsN = st->speech_bandsN = 1;   conj_window(st->window, 2*N3);   for (i=2*N3;i<2*st->ps_size;i++)      st->window[i]=1;      if (N4>0)   {      for (i=N3-1;i>=0;i--)      {         st->window[i+N3+N4]=st->window[i+N3];         st->window[i+N3]=1;      }   }   for (i=0;i<N;i++)   {      st->noise[i]=1e4;      st->reverb_estimate[i]=0.;      st->old_ps[i]=1e4;      st->gain[i]=1;      st->post[i]=1;      st->prior[i]=1;   }   for (i=0;i<N3;i++)   {      st->inbuf[i]=0;      st->outbuf[i]=0;   }   for (i=0;i<N;i++)   {      float ff=((float)i)*.5*sampling_rate/((float)N);      st->loudness_weight[i] = .35f-.35f*ff/16000.f+.73f*exp(-.5f*(ff-3800)*(ff-3800)/9e5f);      if (st->loudness_weight[i]<.01f)         st->loudness_weight[i]=.01f;      st->loudness_weight[i] *= st->loudness_weight[i];   }   st->speech_prob = 0;   st->last_speech = 1000;   st->loudness = pow(6000,LOUDNESS_EXP);   st->loudness2 = 6000;   st->nb_loudness_adapt = 0;   st->fft_lookup = (struct drft_lookup*)speex_alloc(sizeof(struct drft_lookup));   spx_drft_init(st->fft_lookup,2*N);   st->nb_adapt=0;   st->consec_noise=0;   st->nb_preprocess=0;   return st;}void speex_preprocess_state_destroy(SpeexPreprocessState *st){   speex_free(st->frame);   speex_free(st->ps);   speex_free(st->gain2);   speex_free(st->window);   speex_free(st->noise);   speex_free(st->reverb_estimate);   speex_free(st->old_ps);   speex_free(st->gain);   speex_free(st->prior);   speex_free(st->post);   speex_free(st->loudness_weight);   speex_free(st->echo_noise);   speex_free(st->S);   speex_free(st->Smin);   speex_free(st->Stmp);   speex_free(st->update_prob);   speex_free(st->zeta);   speex_free(st->noise_bands);   speex_free(st->noise_bands2);   speex_free(st->speech_bands);   speex_free(st->speech_bands2);   speex_free(st->inbuf);   speex_free(st->outbuf);   spx_drft_clear(st->fft_lookup);   speex_free(st->fft_lookup);   speex_free(st);}static void update_noise(SpeexPreprocessState *st, float *ps, spx_int32_t *echo){   int i;   float beta;   st->nb_adapt++;   beta=1.0f/st->nb_adapt;   if (beta < .05f)      beta=.05f;      if (!echo)   {      for (i=0;i<st->ps_size;i++)         st->noise[i] = (1.f-beta)*st->noise[i] + beta*ps[i];   } else {      for (i=0;i<st->ps_size;i++)         st->noise[i] = (1.f-beta)*st->noise[i] + beta*max(1.f,ps[i]-st->frame_size*st->frame_size*4.0*echo[i]); #if 0      for (i=0;i<st->ps_size;i++)         st->noise[i] = 0;#endif   }}static int speex_compute_vad(SpeexPreprocessState *st, float *ps, float mean_prior, float mean_post){   int i, is_speech=0;   int N = st->ps_size;   float scale=.5f/N;   /* FIXME: Clean this up a bit */   {      float bands[NB_BANDS];      int j;      float p0, p1;      float tot_loudness=0;      float x = sqrt(mean_post);      for (i=5;i<N-10;i++)      {         tot_loudness += scale*st->ps[i] * st->loudness_weight[i];      }      for (i=0;i<NB_BANDS;i++)      {         bands[i]=1e4f;         for (j=i*N/NB_BANDS;j<(i+1)*N/NB_BANDS;j++)         {            bands[i] += ps[j];         }         bands[i]=log(bands[i]);      }            /*p1 = .0005+.6*exp(-.5*(x-.4)*(x-.4)*11)+.1*exp(-1.2*x);      if (x<1.5)         p0=.1*exp(2*(x-1.5));      else         p0=.02+.1*exp(-.2*(x-1.5));      */      p0=1.f/(1.f+exp(3.f*(1.5f-x)));      p1=1.f-p0;      /*fprintf (stderr, "%f %f ", p0, p1);*/      /*p0 *= .99*st->speech_prob + .01*(1-st->speech_prob);      p1 *= .01*st->speech_prob + .99*(1-st->speech_prob);            st->speech_prob = p0/(p1+p0);      */      if (st->noise_bandsN < 50 || st->speech_bandsN < 50)      {         if (mean_post > 5.f)         {            float adapt = 1./st->speech_bandsN++;            if (adapt<.005f)               adapt = .005f;            for (i=0;i<NB_BANDS;i++)            {               st->speech_bands[i] = (1.f-adapt)*st->speech_bands[i] + adapt*bands[i];               /*st->speech_bands2[i] = (1-adapt)*st->speech_bands2[i] + adapt*bands[i]*bands[i];*/               st->speech_bands2[i] = (1.f-adapt)*st->speech_bands2[i] + adapt*(bands[i]-st->speech_bands[i])*(bands[i]-st->speech_bands[i]);            }         } else {            float adapt = 1./st->noise_bandsN++;            if (adapt<.005f)               adapt = .005f;            for (i=0;i<NB_BANDS;i++)            {               st->noise_bands[i] = (1.f-adapt)*st->noise_bands[i] + adapt*bands[i];               /*st->noise_bands2[i] = (1-adapt)*st->noise_bands2[i] + adapt*bands[i]*bands[i];*/               st->noise_bands2[i] = (1.f-adapt)*st->noise_bands2[i] + adapt*(bands[i]-st->noise_bands[i])*(bands[i]-st->noise_bands[i]);            }         }      }      p0=p1=1;      for (i=0;i<NB_BANDS;i++)      {         float noise_var, speech_var;         float noise_mean, speech_mean;         float tmp1, tmp2, pr;         /*noise_var = 1.01*st->noise_bands2[i] - st->noise_bands[i]*st->noise_bands[i];           speech_var = 1.01*st->speech_bands2[i] - st->speech_bands[i]*st->speech_bands[i];*/         noise_var = st->noise_bands2[i];         speech_var = st->speech_bands2[i];         if (noise_var < .1f)            noise_var = .1f;         if (speech_var < .1f)            speech_var = .1f;                  /*speech_var = sqrt(speech_var*noise_var);           noise_var = speech_var;*/         if (speech_var < .05f*speech_var)            noise_var = .05f*speech_var;          if (speech_var < .05f*noise_var)            speech_var = .05f*noise_var;                  if (bands[i] < st->noise_bands[i])            speech_var = noise_var;         if (bands[i] > st->speech_bands[i])            noise_var = speech_var;         speech_mean = st->speech_bands[i];         noise_mean = st->noise_bands[i];         if (noise_mean < speech_mean - 5.f)            noise_mean = speech_mean - 5.f;         tmp1 = exp(-.5f*(bands[i]-speech_mean)*(bands[i]-speech_mean)/speech_var)/sqrt(2.f*M_PI*speech_var);         tmp2 = exp(-.5f*(bands[i]-noise_mean)*(bands[i]-noise_mean)/noise_var)/sqrt(2.f*M_PI*noise_var);         /*fprintf (stderr, "%f ", (float)(p0/(.01+p0+p1)));*/         /*fprintf (stderr, "%f ", (float)(bands[i]));*/         pr = tmp1/(1e-25+tmp1+tmp2);         /*if (bands[i] < st->noise_bands[i])            pr=.01;         if (bands[i] > st->speech_bands[i] && pr < .995)         pr=.995;*/         if (pr>.999f)            pr=.999f;         if (pr<.001f)            pr=.001f;         /*fprintf (stderr, "%f ", pr);*/         p0 *= pr;         p1 *= (1-pr);      }      p0 = pow(p0,.2);      p1 = pow(p1,.2);            #if 1      p0 *= 2.f;      p0=p0/(p1+p0);      if (st->last_speech>20)       {         float tmp = sqrt(tot_loudness)/st->loudness2;         tmp = 1.f-exp(-10.f*tmp);         if (p0>tmp)            p0=tmp;      }      p1=1-p0;#else      if (sqrt(tot_loudness) < .6f*st->loudness2 && p0>15.f*p1)         p0=15.f*p1;      if (sqrt(tot_loudness) < .45f*st->loudness2 && p0>7.f*p1)         p0=7.f*p1;      if (sqrt(tot_loudness) < .3f*st->loudness2 && p0>3.f*p1)         p0=3.f*p1;      if (sqrt(tot_loudness) < .15f*st->loudness2 && p0>p1)         p0=p1;      /*fprintf (stderr, "%f %f ", (float)(sqrt(tot_loudness) /( .25*st->loudness2)), p0/(p1+p0));*/#endif      p0 *= .99f*st->speech_prob + .01f*(1-st->speech_prob);      p1 *= .01f*st->speech_prob + .99f*(1-st->speech_prob);            st->speech_prob = p0/(1e-25f+p1+p0);      /*fprintf (stderr, "%f %f %f ", tot_loudness, st->loudness2, st->speech_prob);*/      if (st->speech_prob > st->speech_prob_start         || (st->last_speech < 20 && st->speech_prob > st->speech_prob_continue))      {         is_speech = 1;         st->last_speech = 0;      } else {         st->last_speech++;         if (st->last_speech<20)           is_speech = 1;      }      if (st->noise_bandsN > 50 && st->speech_bandsN > 50)      {         if (mean_post > 5)         {            float adapt = 1./st->speech_bandsN++;            if (adapt<.005f)               adapt = .005f;            for (i=0;i<NB_BANDS;i++)            {               st->speech_bands[i] = (1-adapt)*st->speech_bands[i] + adapt*bands[i];               /*st->speech_bands2[i] = (1-adapt)*st->speech_bands2[i] + adapt*bands[i]*bands[i];*/               st->speech_bands2[i] = (1-adapt)*st->speech_bands2[i] + adapt*(bands[i]-st->speech_bands[i])*(bands[i]-st->speech_bands[i]);            }         } else {            float adapt = 1./st->noise_bandsN++;            if (adapt<.005f)               adapt = .005f;            for (i=0;i<NB_BANDS;i++)            {               st->noise_bands[i] = (1-adapt)*st->noise_bands[i] + adapt*bands[i];               /*st->noise_bands2[i] = (1-adapt)*st->noise_bands2[i] + adapt*bands[i]*bands[i];*/               st->noise_bands2[i] = (1-adapt)*st->noise_bands2[i] + adapt*(bands[i]-st->noise_bands[i])*(bands[i]-st->noise_bands[i]);            }         }      }   }   return is_speech;}static void speex_compute_agc(SpeexPreprocessState *st, float mean_prior){   int i;   int N = st->ps_size;   float scale=.5f/N;   float agc_gain;   int freq_start, freq_end;   float active_bands = 0;   freq_start = (int)(300.0f*2*N/st->sampling_rate);   freq_end   = (int)(2000.0f*2*N/st->sampling_rate);   for (i=freq_start;i<freq_end;i++)

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美亚洲尤物久久| 久久精品99国产精品| 精品视频一区二区不卡| 精品一区二区在线看| 亚洲欧美一区二区三区久本道91| 日韩一二三四区| 欧美丝袜丝交足nylons图片| 国产91丝袜在线播放| 欧美aaaaaa午夜精品| 亚洲国产精品久久艾草纯爱| 中文字幕日韩欧美一区二区三区| 欧美哺乳videos| 欧美日韩国产色站一区二区三区| 99国产欧美另类久久久精品| 国产精品乡下勾搭老头1| 免费成人深夜小野草| 亚洲成人www| 亚洲一区二区三区视频在线| 国产精品久久久久久久蜜臀| 久久色视频免费观看| 欧美mv日韩mv| 日韩一区二区在线播放| 欧美久久久久久蜜桃| 在线精品视频免费播放| 91啪亚洲精品| 99久精品国产| 97久久精品人人做人人爽50路| 国产精品夜夜嗨| 国产aⅴ精品一区二区三区色成熟| 精品一区二区三区免费观看| 久久69国产一区二区蜜臀| 日韩国产欧美三级| 石原莉奈在线亚洲二区| 亚洲国产欧美在线| 午夜成人在线视频| 婷婷丁香激情综合| 美女高潮久久久| 国产综合色精品一区二区三区| 久久国产精品第一页| 激情深爱一区二区| 国产精品一级片在线观看| 国产在线精品一区二区不卡了| 激情欧美一区二区| 国产乱妇无码大片在线观看| 成人一道本在线| 一本到不卡免费一区二区| 在线观看亚洲精品视频| 欧美精品在线视频| 日韩三级精品电影久久久| 欧美成人vps| 国产欧美精品一区二区色综合| 亚洲国产精品精华液ab| 亚洲精品中文在线影院| 亚洲一卡二卡三卡四卡无卡久久| 亚洲va中文字幕| 久久成人免费电影| 成人精品视频一区二区三区尤物| av电影一区二区| 91成人网在线| 日韩欧美国产综合在线一区二区三区| 日韩美女天天操| 国产精品久久久久桃色tv| 一区二区三区日本| 久久激情五月婷婷| av电影在线观看一区| 欧美日韩国产高清一区| 久久影音资源网| 一区二区三区免费网站| 免费av成人在线| 国产99久久久久| 欧美日免费三级在线| 久久久噜噜噜久久中文字幕色伊伊 | 午夜成人在线视频| 精品一区二区日韩| 91丨porny丨最新| 欧美妇女性影城| 国产午夜精品理论片a级大结局| 中文字幕制服丝袜成人av| 夜夜精品视频一区二区| 狠狠久久亚洲欧美| 日本二三区不卡| 精品久久久久一区| 一区二区三区免费| 国产精品911| 7777精品伊人久久久大香线蕉的 | 亚洲一区二区av电影| 韩日av一区二区| 精品成人在线观看| 一区二区在线观看免费| 九色|91porny| 欧美日韩精品欧美日韩精品一综合| 2019国产精品| 午夜av一区二区三区| 成人午夜免费av| 日韩欧美国产精品一区| 一区二区三区在线观看网站| 国产精品18久久久久久久网站| 欧美无人高清视频在线观看| 国产欧美日韩在线观看| 日韩不卡在线观看日韩不卡视频| 99精品视频在线播放观看| 精品日韩在线一区| 亚洲国产综合视频在线观看| 不卡电影一区二区三区| 久久人人超碰精品| 蜜乳av一区二区| 欧美日本在线一区| 亚洲精品一二三四区| 不卡电影免费在线播放一区| 精品久久久久久最新网址| 日韩在线一区二区三区| 一本大道av伊人久久综合| 日本一区二区三区国色天香| 免费国产亚洲视频| 91精品免费在线| 首页国产丝袜综合| 日本高清不卡视频| 自拍偷拍国产亚洲| 99精品在线观看视频| 国产精品嫩草99a| 国产精品一区二区在线看| 精品成人一区二区三区四区| 日韩精彩视频在线观看| 欧美色中文字幕| 亚洲综合一二区| 欧美性大战xxxxx久久久| 樱桃视频在线观看一区| 91香蕉视频在线| 国产精品电影一区二区三区| 成人一区二区三区视频| 中文字幕欧美日韩一区| 国产黄色成人av| 国产精品美女久久久久高潮| 成人在线综合网| 国产精品高清亚洲| 99久久精品国产导航| 国产精品成人在线观看| 色综合天天狠狠| 亚洲精品成人天堂一二三| 在线观看免费成人| 亚洲一区av在线| 欧美一级免费大片| 韩国午夜理伦三级不卡影院| 久久精品夜色噜噜亚洲aⅴ| 国产成人精品亚洲午夜麻豆| 国产清纯在线一区二区www| 不卡的电视剧免费网站有什么| 中文字幕色av一区二区三区| 一本久久精品一区二区| 午夜精品福利一区二区三区蜜桃| 在线成人av网站| 精品一区二区av| 国产精品美女久久久久高潮| 日本高清不卡在线观看| 日韩精品一区第一页| 久久综合狠狠综合久久激情| 成人黄色网址在线观看| 亚洲欧美福利一区二区| 欧美美女喷水视频| 久久99最新地址| 国产精品乱码久久久久久| 欧洲一区在线观看| 激情图片小说一区| 日韩一区在线看| 欧美日韩dvd在线观看| 国产在线不卡一卡二卡三卡四卡| 中文字幕色av一区二区三区| 欧美日韩激情一区二区三区| 国模冰冰炮一区二区| 综合av第一页| 日韩一区二区三区高清免费看看 | 99re视频这里只有精品| 亚洲 欧美综合在线网络| 精品国内二区三区| 色综合天天综合色综合av| 日韩不卡免费视频| 国产精品久久国产精麻豆99网站| 欧美视频三区在线播放| 国产露脸91国语对白| 亚洲国产精品久久不卡毛片| 精品久久久久久综合日本欧美| 99riav一区二区三区| 蜜乳av一区二区三区| 一区二区三区四区视频精品免费| 精品sm在线观看| 欧美色综合网站| 成人av电影免费观看| 美女视频一区二区三区| 亚洲精品乱码久久久久久日本蜜臀| 精品国产三级电影在线观看| 91麻豆国产福利在线观看| 国产一区不卡精品| 亚洲成av人在线观看| 亚洲欧美在线aaa| 欧美本精品男人aⅴ天堂| 欧美日韩一区二区欧美激情| 懂色av一区二区三区蜜臀| 男男视频亚洲欧美| 亚洲自拍偷拍av| 国产精品久久久久桃色tv|