日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

(转)Kinect背景移除支持多人

發(fā)布時(shí)間:2024/7/19 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 (转)Kinect背景移除支持多人 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

原文:http://blogs.msdn.com/b/k4wdev/archive/2013/10/22/using-kinect-background-removal-with-multiple-users.aspx?utm_source=tuicool

Introduction: Background Removal in Kinect for Windows

The 1.8 release of the Kinect for Windows Developer Toolkit includes a component for isolating a user from the background of the scene. The component is called the BackgroundRemovedColorStream. This capability has many possible uses, such as simulating chroma-key or “green-screen” replacement of the background – without needing to use an actual green screen; compositing a person’s image into a virtual environment; or simply blurring out the background, so that video conference participants can’t see how messy your office really is.

To use this feature in an application, you create the BackgroundRemovedColorStream, and then feed it each incoming color, depth, and skeleton frame when they are delivered by your Kinect for Windows sensor. You also specify which user you want to isolate, using their skeleton tracking ID. The BackgroundRemovedColorStream produces a sequence of color frames, in BGRA (blue/green/red/alpha) format. These frames are identical in content to the original color frames from the sensor, except that the alpha channel is used to distinguish foreground pixels from background pixels. Pixels that the background removal algorithm considers part of the background will have an alpha value of 0 (fully transparent), while foreground pixels will have their alpha at 255 (fully opaque). The foreground region is given a smoother edge by using intermediate alpha values (between 0 and 255) for a “feathering” effect. This image format makes it easy to combine the background-removed frames with other images in your application.

As a developer, you get the choice of which user you want in the foreground. The BackgroundRemovalBasics-WPF samplehas some simple logic that selects the user nearest the sensor, and then continues to track the same user until they are no longer visible in the scene.

private void ChooseSkeleton()
{
var isTrackedSkeltonVisible = false;
var nearestDistance = float.MaxValue;
var nearestSkeleton = 0;
foreach (var skel in this.skeletons)
??? {
if (null == skel)
??????? {
continue;
??????? }
if (skel.TrackingState != SkeletonTrackingState.Tracked)
??????? {
continue;
??????? }
if (skel.TrackingId == this.currentlyTrackedSkeletonId)
??????? {
??????????? isTrackedSkeltonVisible = true;
break;
??????? }
if (skel.Position.Z < nearestDistance)
??????? {
??????????? nearestDistance = skel.Position.Z;
??????????? nearestSkeleton = skel.TrackingId;
??????? }
??? }
if (!isTrackedSkeltonVisible && nearestSkeleton != 0)
??? {
this.backgroundRemovedColorStream.SetTrackedPlayer(nearestSkeleton);
this.currentlyTrackedSkeletonId = nearestSkeleton;
??? }
}

Wait, only one person?

If you wanted to select more than one person from the scene to appear in the foreground, it would seem that you’re out of luck, because the BackgroundRemovedColorStream’s SetTrackedPlayer method accepts only one tracking ID. But you can work around this limitation by running two separate instances of the stream, and sending each one a different tracking ID. Each of these streams will produce a separate color image, containing one of the users. These images can then be combined into a single image, or used separately, depending on your application’s needs.

Wait, only two people?

In the most straightforward implementation of the multiple stream approach, you’d be limited to tracking just two people, due to an inherent limitation in the skeleton tracking capability of Kinect for Windows. Only two skeletons at a time can be tracked with full joint-level fidelity. The joint positions are required by the background removal implementation in order to perform its job accurately.

However, there is an additional trick we can apply, to escape the two-skeleton limit. This trick relies on an assumption that the people in the scene will not be moving at extremely high velocities (generally a safe bet). If a particular skeleton is not fully tracked for a frame or two, we can instead reuse the most recent frame in which that skeleton actually was fully tracked. Since the skeleton tracking API lets us choose which two skeletons to track at full fidelity, we can choose a different pair of skeletons each frame, cycling through up to six skeletons we wish to track, over three successive frames.

Each additional instance of BackgroundRemovedColor stream will place increased demands on CPU and memory. Depending on your own application’s needs and your hardware configuration, you may need to dial back the number of simultaneous users you can process in this way.

Wait, only six people?

Demanding, aren’t we? Sorry, the Kinect for Windows skeleton stream can monitor at most six people simultaneously (two at full fidelity, and four at lower fidelity). This is a hard limit.

Introducing a multi-user background removal sample

We’ve created a new sample application, called BackgroundRemovalMultiUser-WPF, to demonstrate how to use the technique described above to perform background removal on up to six people. We started with the code from the BackgroundRemovalBasics-WPF sample, and changed it to support multiple streams, one per user. The output from each stream is then overlaid on the backdrop image.

Factoring the code: TrackableUser

The largest change to the original sample was refactoring the application code that interacts the BackgroundRemovedColorStream, so that we can have multiple copies of it running simultaneously. This code, in the new sample, resides in a new class named TrackableUser. Let’s take a brief tour of the interesting parts of this class.

The application can instruct TrackableUser to track a specific user by setting the TrackingId property appropriately.

public int TrackingId
{
get
??? {
return this.trackingId;
??? }
set
??? {
if (value != this.trackingId)
??????? {
??????????? if (null != this.backgroundRemovedColorStream)
??????????? {
if (InvalidTrackingId != value)
??????????????? {
this.backgroundRemovedColorStream.SetTrackedPlayer(value);
this.Timestamp = DateTime.UtcNow;
??????????????? }?????
else
??????????????? {
// Hide the last frame that was received for this user.
this.imageControl.Visibility = Visibility.Hidden;?????
this.Timestamp = DateTime.MinValue;
??????????????? }?????
??????????? }
this.trackingId = value;
??????? }
??? }
}

The Timestamp property indicates when the TrackingId was most recently set to a valid value. We’ll see later how this property is used by the sample application’s user-selection logic.

public DateTime Timestamp { get; private set; }

Whenever the application is notified that the default Kinect sensor has changed (at startup time, or when the hardware is plugged in or unplugged), it passes this information along to each TrackableUser by calling OnKinectSensorChanged. The TrackableUser, in turn, sets up or tears down its BackgroundRemovedColorStream accordingly.

public void OnKinectSensorChanged(KinectSensor oldSensor, KinectSensor newSensor)
{
??? if (null != oldSensor)
??? {
// Remove sensor frame event handler.
??????? oldSensor.AllFramesReady -= this.SensorAllFramesReady;
// Tear down the BackgroundRemovedColorStream for this user.
this.backgroundRemovedColorStream.BackgroundRemovedFrameReady -=
this.BackgroundRemovedFrameReadyHandler;
this.backgroundRemovedColorStream.Dispose();
this.backgroundRemovedColorStream = null;
this.TrackingId = InvalidTrackingId;
??? }
this.sensor = newSensor;
if (null != newSensor)
??? {
// Setup a new BackgroundRemovedColorStream for this user.
this.backgroundRemovedColorStream = new BackgroundRemovedColorStream(newSensor);
this.backgroundRemovedColorStream.BackgroundRemovedFrameReady +=
this.BackgroundRemovedFrameReadyHandler;
this.backgroundRemovedColorStream.Enable(
??????????? newSensor.ColorStream.Format,
??????????? newSensor.DepthStream.Format);
// Add an event handler to be called when there is new frame data from the sensor.
??????? newSensor.AllFramesReady += this.SensorAllFramesReady;
??? }
}

Each time the Kinect sensor produces a matched set of depth, color, and skeleton frames, we forward each frame’s data along to the BackgroundRemovedColorStream.

private void SensorAllFramesReady(object sender, AllFramesReadyEventArgs e)
{
??? ...
if (this.IsTracked)
??????? {
using (var depthFrame = e.OpenDepthImageFrame())
??????????? {?????
if (null != depthFrame)
??????????????? {
// Process depth data for background removal.
this.backgroundRemovedColorStream.ProcessDepth(
???????????????????????? depthFrame.GetRawPixelData(),
???????????????????????? depthFrame.Timestamp);
??????????????? }
??????????? }
using (var colorFrame = e.OpenColorImageFrame())?????
??????????? {?????
if (null != colorFrame)?????
??????????????? {
// Process color data for background removal.
this.backgroundRemovedColorStream.ProcessColor(
??????????????????????? colorFrame.GetRawPixelData(),
??????????????????????? colorFrame.Timestamp);?????
??????????????? }
??????????? }
using (var skeletonFrame = e.OpenSkeletonFrame())
??????????? {
if (null != skeletonFrame)
??????????????? {
// Save skeleton frame data for subsequent processing.
??????????????????? CopyDataFromSkeletonFrame(skeletonFrame);
// Locate the most recent data in which this user was fully tracked.
bool isUserPresent = UpdateTrackedSkeletonsArray();
// If we have an array in which this user is fully tracked,
// process the skeleton data for background removal.
if (isUserPresent && null != this.skeletonsTracked)
??????????????????? {
this.backgroundRemovedColorStream.ProcessSkeleton(
this.skeletonsTracked,
??????????????????????????? skeletonFrame.Timestamp);
???????????????????? }
??????????????? }
??????????? }
??????? }
??? ...
}

The UpdateTrackedSkeletonsArray method implements the logic to reuse skeleton data from an older frame when the newest frame contains the user’s skeleton, but not in a fully-tracked state. It also informs the caller whether the user with the requested tracking ID is still present in the scene.

private bool UpdateTrackedSkeletonsArray()
{
// Determine if this user is still present in the scene.
bool isUserPresent = false;
foreach (var skeleton in this.skeletonsNew)
??? {
if (skeleton.TrackingId == this.TrackingId)
???????? {
??????????? isUserPresent = true;
if (skeleton.TrackingState == SkeletonTrackingState.Tracked)
???????????? {
// User is fully tracked: save the new array of skeletons,
// and recycle the old saved array for reuse next time.
var temp = this.skeletonsTracked;
this.skeletonsTracked = this.skeletonsNew;
this.skeletonsNew = temp;
??????????? }
break;
??????? }
??? }
if (!isUserPresent)
??? {
// User has disappeared; stop trying to track.
this.TrackingId = TrackableUser.InvalidTrackingId;
??? }
return isUserPresent;
}

Whenever the BackgroundRemovedColorStream produces a frame, we copy its BGRA data to the bitmap that is the underlying Source for an Image element in the MainWindow. This causes the updated frame to appear within the application’s window, overlaid on the background image.

private void BackgroundRemovedFrameReadyHandler(
object sender,
BackgroundRemovedColorFrameReadyEventArgs e)
{
using (var backgroundRemovedFrame = e.OpenBackgroundRemovedColorFrame())
??? {
if (null != backgroundRemovedFrame && this.IsTracked)
???????? {
int width = backgroundRemovedFrame.Width;
int height = backgroundRemovedFrame.Height;
WriteableBitmap foregroundBitmap =
this.imageControl.Source as WriteableBitmap;
// If necessary, allocate new bitmap. Set it as the source of the Image
// control.
if (null == foregroundBitmap ||
??????????????? foregroundBitmap.PixelWidth != width ||
??????????????? foregroundBitmap.PixelHeight != height)
??????????? {
??????????????? foregroundBitmap = new WriteableBitmap(
??????????????????? width,?????
??????????????????? height,
??????????????????? 96.0,
??????????????????? 96.0,?????
PixelFormats.Bgra32,
null);
this.imageControl.Source = foregroundBitmap;
??????????? }
// Write the pixel data into our bitmap.
??????????? foregroundBitmap.WritePixels(
new Int32Rect(0, 0, width, height),
??????????????? backgroundRemovedFrame.GetRawPixelData(),
??????????????? width * sizeof(uint),
??????????????? 0);
// A frame has been delivered; ensure that it is visible.
this.imageControl.Visibility = Visibility.Visible;
??????? }
??? }
}

Limiting the number of users to track

As mentioned earlier, the maximum number of trackable users may have a practical limit, depending on your hardware. To specify the limit, we define a constant in the MainWindow class:

private const int MaxUsers = 6;

You can modify this constant to have any value from 2 to 6. (Values larger than 6 are not useful, as Kinect for Windows does not track more than 6 users.)

Selecting users to track: The User View

We want to provide a convenient way to choose which users will be tracked for background removal. To do this, we present a view of the detected users in a small inset. By clicking on the users displayed in this inset, we can select which of those users are associated with our TrackableUser objects, causing them to be included in the foreground.

We update the user view each time a depth frame is received by the sample’s main window.

private void UpdateUserView(DepthImageFrame depthFrame)
{
??? ...
// Store the depth data.
??? depthFrame.CopyDepthImagePixelDataTo(this.depthData);?????
??? ...
// Write the per-user colors into the user view bitmap, one pixel at a time.
this.userViewBitmap.Lock();
unsafe
??? {
uint* userViewBits = (uint*)this.userViewBitmap.BackBuffer;
fixed (uint* userColors = &this.userColors[0])
??????? {?????
// Walk through each pixel in the depth data.
fixed (DepthImagePixel* depthData = &this.depthData[0])?????
??????????? {
??????????????? DepthImagePixel* depthPixel = depthData;
??????????????? DepthImagePixel* depthPixelEnd = depthPixel + this.depthData.Length;
while (depthPixel < depthPixelEnd)
??????????????? {
// Lookup a pixel color based on the player index.
// Store the color in the user view bitmap's buffer.
??????????????????? *(userViewBits++) = *(userColors + (depthPixel++)->PlayerIndex);
??????????????? }
??????????? }
??????? }
??? }
this.userViewBitmap.AddDirtyRect(new Int32Rect(0, 0, width, height));
this.userViewBitmap.Unlock();
}

This code fills the user view bitmap with solid-colored regions representing each of the detected users, as distinguished by the value of the PlayerIndex field at each pixel in the depth frame.

The main window responds to a mouse click within the user view by locating the corresponding pixel in the most recent depth frame, and using its PlayerIndex to look up the user’s TrackingId in the most recent skeleton data. The TrackingID is passed along to the ToggleUserTracking method, which will attempt to toggle the tracking of that TrackingID between the tracked and untracked states.

private void UserViewMouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
// Determine which pixel in the depth image was clicked.
??? Point p = e.GetPosition(this.UserView);
int depthX =
??????? (int)(p.X * this.userViewBitmap.PixelWidth / this.UserView.ActualWidth);
int depthY =
??????? (int)(p.Y * this.userViewBitmap.PixelHeight / this.UserView.ActualHeight);
int pixelIndex = (depthY * this.userViewBitmap.PixelWidth) + depthX;
if (pixelIndex >= 0 && pixelIndex < this.depthData.Length)
??? {
// Find the player index in the depth image. If non-zero, toggle background
// removal for the corresponding user.
short playerIndex = this.depthData[pixelIndex].PlayerIndex;
if (playerIndex > 0)
??????? {?????
// playerIndex is 1-based, skeletons array is 0-based, so subtract 1.
this.ToggleUserTracking(this.skeletons[playerIndex - 1].TrackingId);
??????? }
??? }
}

Picking which users will be tracked

When MaxUsers is less than 6, we need some logic to handle a click on an untracked user, and we are already tracking the maximum number of users. We choose to stop tracking the user who was tracked earliest (based on timestamp), and start tracking the newly chosen user immediately. This logic is implemented in ToggleUserTracking.

private void ToggleUserTracking(int trackingId)
{
if (TrackableUser.InvalidTrackingId != trackingId)
??? {
??????? DateTime minTimestamp = DateTime.MaxValue;
TrackableUser trackedUser = null;
TrackableUser staleUser = null;
// Attempt to find a TrackableUser with a matching TrackingId.
foreach (var user in this.trackableUsers)
??????? {
if (user.TrackingId == trackingId)
??????????? {
// Yes, this TrackableUser has a matching TrackingId.
??????????????? trackedUser = user;
??????????? }
// Find the "stale" user (the trackable user with the earliest timestamp).
if (user.Timestamp < minTimestamp)
??????????? {?????
??????????????? staleUser = user;
??????????????? minTimestamp = user.Timestamp;
??????????? }
??????? }
if (null != trackedUser)
??????? {
// User is being tracked: toggle to not tracked.
??????????? trackedUser.TrackingId = TrackableUser.InvalidTrackingId;
??????? }
else
??????? {?????
// User is not currently being tracked: start tracking, by reusing
// the "stale" trackable user.
??????????? staleUser.TrackingId = trackingId;
??????? }
??? }
}

Once we’ve determined which users will be tracked by the TrackableUser objects, we need to ensure that those users are being targeted for tracking by the skeleton stream on a regular basis (at least once every three frames). UpdateChosenSkeletons implements this using a round-robin scheme.

private void UpdateChosenSkeletons()
{
KinectSensor sensor = this.sensorChooser.Kinect;
if (null != sensor)
??? {
// Choose which of the users will be tracked in the next frame.
int trackedUserCount = 0;
for (int i = 0; i < MaxUsers && trackedUserCount < this.trackingIds.Length; ++i)
???????? {
// Get the trackable user for consideration.
var trackableUser = this.trackableUsers[this.nextUserIndex];
if (trackableUser.IsTracked)
??????????? {
// If this user is currently being tracked, copy its TrackingId to the
// array of chosen users.
this.trackingIds[trackedUserCount++] = trackableUser.TrackingId;
??????????? }
// Update the index for the next user to be considered.
this.nextUserIndex = (this.nextUserIndex + 1) % MaxUsers;
??????? }?????
// Fill any unused slots with InvalidTrackingId.
for (int i = trackedUserCount; i < this.trackingIds.Length; ++i)
??????? {
this.trackingIds[i] = TrackableUser.InvalidTrackingId;
??????? }
// Pass the chosen tracking IDs to the skeleton stream.
??????? sensor.SkeletonStream.ChooseSkeletons(this.trackingIds[0], this.trackingIds[1]);
??? }
}

Combining multiple foreground images

Now that we can have multiple instances of TrackableUser, each producing a background-removed image of a user, we need to combine those images on-screen. We do this by creating multiple overlapping Image elements (one per trackable user), each parented by the MaskedColorImages element, which itself is a sibling of the Backdrop element. Wherever the background has been removed from each image, the backdrop image will show through.

As each image is created, we associate it with its own TrackableUser.

public MainWindow()
{
??? ...
// Create one Image control per trackable user.
for (int i = 0; i < MaxUsers; ++i)
??? {
Image image = new Image();
this.MaskedColorImages.Children.Add(image);
this.trackableUsers[i] = new TrackableUser(image);
??? }
}

To capture and save a snapshot of the current composited image, we create two VisualBrush objects, one for the Backdrop, and one for MaskedColorImages. We draw rectangles with each of these brushes, into a bitmap, and then write the bitmap to a file.

private void ButtonScreenshotClick(object sender, RoutedEventArgs e)
{
??? ...
var dv = new DrawingVisual();
using (var dc = dv.RenderOpen())
??? {
// Render the backdrop.
var backdropBrush = new VisualBrush(Backdrop);?????
??????? dc.DrawRectangle(
??????????? backdropBrush,?????
null,
new Rect(new Point(), new Size(colorWidth, colorHeight)));
// Render the foreground.
var colorBrush = new VisualBrush(MaskedColorImages);?????
??????? dc.DrawRectangle(
??????????? colorBrush,
null,
new Rect(new Point(), new Size(colorWidth, colorHeight)));
??? }
??? renderBitmap.Render(dv);
??? ...
}

Summary

While the BackgroundRemovedColorStream is limited to tracking only one user at a time, the new BackgroundRemovalMultiUser-WPF sample demonstrates that you can run multiple stream instances to track up to six users simultaneously. When using this technique, you should consider – and measure – the increased resource demands (CPU and memory) that the additional background removal streams will have, and determine for yourself how many streams your configuration can handle.

We hope that this sample opens up new possibilities for using background removal in your own applications.

John Elsbree
Principal Software Development Engineer
Kinect for Windows

轉(zhuǎn)載于:https://www.cnblogs.com/leven20061001/p/3524462.html

總結(jié)

以上是生活随笔為你收集整理的(转)Kinect背景移除支持多人的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

ww视频在线观看 | 91福利社区在线观看 | 久久精品99视频 | 在线观看一级视频 | 美女网站在线播放 | 精品主播网红福利资源观看 | 欧美黑人性爽 | 国产在线精品区 | 天堂av免费 | 国产视频在线看 | 91精品资源 | 一区二区精品视频 | 天天草天天干天天 | 免费看污在线观看 | 久久免费在线观看视频 | 丰满少妇久久久 | 欧美一区二区在线看 | 91激情视频在线 | 婷婷激情综合五月天 | 久久99国产综合精品免费 | 天天曰天天射 | 香蕉视频4aa | 国产精品对白一区二区三区 | 久久综合五月天婷婷伊人 | 亚洲精品国产精品国自 | 亚洲最大的av网站 | 日韩av中文 | 亚洲涩涩一区 | 天天天干天天射天天天操 | 黄色在线观看免费网站 | www.黄色片.com| 久久免费一 | 久久精品波多野结衣 | 青草视频在线播放 | 日韩 国产 | 成人av免费网站 | 精品一区二区三区久久久 | 中文字幕国内精品 | 国产视频中文字幕 | 国产高清在线a视频大全 | 91麻豆免费看 | 国产一区二区在线播放视频 | 99久久影视 | 国产二区精品 | 精品免费国产一区二区三区四区 | 国产精品区在线观看 | 丁香婷婷久久久综合精品国产 | 国产午夜精品一区二区三区嫩草 | 日本免费一二三区 | 欧美一级日韩三级 | 日韩黄色在线观看 | 久草在线观看 | 欧美精品一区二区性色 | 中文字幕永久免费 | 日韩精品久久久久久久电影99爱 | 成人在线视频论坛 | 日免费视频 | 国产96精品 | 中文字幕在线播放视频 | 日本韩国欧美在线观看 | 免费黄在线观看 | 亚洲精品免费观看视频 | 国产日韩精品一区二区三区在线 | 久久在现 | av综合av | 日韩最新中文字幕 | 激情丁香综合 | 美女网站视频色 | 二区三区精品 | 91视频下载 | 国产一级免费视频 | 国产精品色婷婷视频 | 最近2019年日本中文免费字幕 | 天天操狠狠干 | 欧美日韩免费一区 | 精品视频久久 | 精品国产网址 | 手机在线中文字幕 | 在线导航av | 日韩中文字幕在线观看 | 久久精品99国产精品亚洲最刺激 | 天天射天天干天天插 | 黄色毛片视频免费观看中文 | 人人射人人爽 | 精品欧美一区二区精品久久 | 四虎影院在线观看av | 国产精品视频免费在线观看 | 成人资源站 | av视屏在线播放 | 麻豆果冻剧传媒在线播放 | 麻豆一区二区 | 婷婷 综合 色 | 欧美韩国日本在线观看 | 国产一级性生活 | 欧美乱熟臀69xxxxxx | 超碰在线日韩 | 亚洲天堂激情 | 日韩精品欧美视频 | 国产乱视频 | 亚洲最大免费成人网 | 91九色在线视频观看 | 精品999久久久 | 久草观看 | 国产精品免费麻豆入口 | 国产精品嫩草69影院 | 国产一二三四在线观看视频 | 日本精品午夜 | 国产欧美精品一区aⅴ影院 99视频国产精品免费观看 | 国产精品第一页在线观看 | 51久久夜色精品国产麻豆 | 中文字幕电影一区 | 欧美在线观看视频一区二区三区 | 天天做天天射 | 91av在线视频播放 | 成人小视频在线 | 777视频在线观看 | 日韩一区二区三区高清在线观看 | 久久精品女人毛片国产 | 激情欧美一区二区三区免费看 | 97福利| av电影免费看 | 激情视频区 | 国产黄色大全 | 综合网久久 | 最新av网站在线观看 | 久久三级视频 | 欧美精品一区二区三区四区在线 | 成人一级在线观看 | 久久草草影视免费网 | 色播五月激情综合网 | 久久精品99国产国产 | 久久国产热 | 国产 欧美 在线 | 网站免费黄色 | 久久综合之合合综合久久 | 国产福利电影网址 | 中文字幕资源站 | 夜夜视频 | 日日夜夜免费精品视频 | 丁香六月网 | 天天碰天天操视频 | 2021久久 | 日韩影视在线观看 | 欧美孕妇视频 | 麻豆视频91 | 尤物九九久久国产精品的分类 | av电影免费看 | 天天天色综合a | 天天爱av导航 | 操处女逼| 免费视频久久久久久久 | 99精品区 | 91av九色 | 色婷婷综合成人av | 亚洲少妇久久 | 中文字幕在线观看日本 | 网站在线观看日韩 | 黄色片视频免费 | 97视频免费 | 国产专区一 | 麻豆91网站| 男女拍拍免费视频 | 夜色成人网 | 久久久国产精品视频 | 日韩欧美在线免费观看 | 天堂中文在线视频 | 天天操夜| 久久美女视频 | 亚洲激情视频在线观看 | 婷婷丁香激情综合 | 96av麻豆蜜桃一区二区 | 国产黄色精品在线 | 成年人在线 | 在线小视频国产 | 日韩理论电影在线观看 | 99久久er热在这里只有精品66 | 西西www4444大胆在线 | 国产成人精品日本亚洲999 | 激情综合网五月婷婷 | 在线免费视频一区 | 亚洲精品乱码久久久久久蜜桃不爽 | 精品在线播放 | 久久免费国产精品 | 美女黄频视频大全 | 91av视频在线观看 | 日日操天天操夜夜操 | 国产精品第十页 | 成人a v视频| 国内综合精品午夜久久资源 | 天躁狠狠躁 | 深夜精品福利 | 四虎免费在线观看视频 | 五月天丁香亚洲 | 免费高清男女打扑克视频 | 911国产精品 | 久久久.com | 免费看黄色大全 | 91av精品 | 91香蕉国产在线观看软件 | 国产不卡免费 | 欧美福利网站 | 欧美夫妻生活视频 | 91精品天码美女少妇 | 天天色天天操天天爽 | 91黄在线看 | 久久人人97超碰精品888 | 丁香六月色 | 在线a人片免费观看视频 | 久久er99热精品一区二区三区 | 日一日操一操 | 蜜臀一区二区三区精品免费视频 | 91视频免费国产 | 九九免费在线观看视频 | 国产操在线 | 亚洲视频 视频在线 | 欧美视频网址 | 国产激情小视频在线观看 | 国产99久久久精品 | 亚洲精品国产综合99久久夜夜嗨 | 麻豆影视在线免费观看 | 在线看片91 | 麻豆国产精品永久免费视频 | www.久久色 | 在线观看国产www | 国产亚洲欧美日韩高清 | 久久精品3 | 亚洲精品一区二区网址 | 五月天婷婷综合 | 超碰在线亚洲 | 国产精品九九视频 | 亚洲一一在线 | 三级黄色a | 五月婷婷丁香在线观看 | 国产精品 9999| 亚洲一片黄| 亚洲精品视频久久 | 大胆欧美gogo免费视频一二区 | 美女网站在线观看 | 91精品国产91久久久久 | 久久久久久久久久久电影 | 久久久久久久久久电影 | 日韩高清一| 午夜精品视频在线 | 欧美资源在线观看 | 久久久久二区 | 在线一二三四区 | se婷婷| 久久在线播放 | 免费美女久久99 | 国产短视频在线播放 | 国产一区二区在线免费播放 | 国产123区在线观看 国产精品麻豆91 | 8x成人免费视频 | 国产h在线播放 | 日韩激情第一页 | 国产精品欧美久久久久久 | 色网站免费在线看 | 欧美日在线 | 99成人免费视频 | 在线欧美小视频 | 久久a视频| 国产色网站 | 69视频在线 | 成人午夜精品久久久久久久3d | 91福利影院在线观看 | 国产精品免费视频久久久 | 免费在线激情电影 | 黄网站色欧美视频 | 特黄特黄的视频 | 国产精品久久久久久久久久直播 | 中文字幕久久亚洲 | 日韩综合精品 | 免费av黄色 | 国产一二三精品 | 国产在线观看免费观看 | 美女福利视频一区二区 | 免费看短 | 在线观看aa | 国产精品免费看久久久8精臀av | 婷婷久草 | 91插插视频 | 久久综合九色欧美综合狠狠 | 欧美精品一区二区在线观看 | 99色网站| 亚洲国产精品成人综合 | 97视频精品 | 亚洲另类久久 | 日韩免费电影网站 | 国产一级电影免费观看 | 天天综合五月天 | 久久韩国免费视频 | 精品国产乱码一区二 | 国产精品尤物 | 日韩成人xxxx | 欧美精品成人在线 | 中文字幕久久精品一区 | 国产成人一区二区三区在线观看 | 在线观看国产日韩欧美 | 有码中文字幕在线观看 | 精品99在线 | 成年人国产视频 | 81国产精品久久久久久久久久 | 在线观看国产区 | 久久久久久久久久久免费av | 久久国产视频网站 | 国产精品久久久久一区二区国产 | 久久99深爱久久99精品 | 亚洲综合射 | 日韩精品免费在线观看视频 | 激情综合网五月婷婷 | www亚洲国产 | 狠狠干网址 | 六月色婷婷 | 亚洲色五月| 免费三级网 | 亚洲综合色网站 | 久久精品视频在线 | 一区二区不卡视频在线观看 | 视频直播国产精品 | 在线精品视频免费观看 | av免费在线网| 免费在线看v | 婷婷激情综合网 | 国产一区二区电影在线观看 | 久久福利精品 | 91麻豆精品国产91久久久更新时间 | 午夜免费电影院 | 国产一区二区精品久久 | av成人资源| 成人中文字幕在线 | 久久久久在线观看 | 中文字幕在线观看第一区 | 色94色欧美 | 久久中文字幕视频 | 99精品黄色 | 中文在线免费看视频 | 美女视频久久 | 毛片网在线 | 麻豆91网站 | 国产精品97| 日韩av午夜在线观看 | 国产又粗又猛又色又黄网站 | 久久精品直播 | 久久久穴| 精品欧美一区二区精品久久 | 久久精品99久久久久久 | 成人av高清在线 | 久久精品波多野结衣 | 一区二区三区视频网站 | 日日日日日 | bayu135国产精品视频 | 国产精品日韩欧美 | 中文字幕在线一区观看 | 亚洲三级毛片 | 久久久污 | 91视频免费看网站 | 五月婷在线视频 | 久久精品国产精品 | 97在线免费视频观看 | av在线免费网| 欧美一区二区伦理片 | 欧美日韩免费网站 | 奇米网在线观看 | 成人一级免费电影 | 国产精品一区二区av麻豆 | 91精品蜜桃 | 黄色大片免费网站 | 夜夜夜夜夜夜操 | 精品999 | 午夜视频导航 | 欧美视频www | 久99久精品| 精品国产一区二区三区av性色 | av久久在线 | 毛片888| 色视频在线免费观看 | 久久99操| 成人黄视频| av丁香| 一区久久久 | 久久久久免费精品国产小说色大师 | 伊人永久在线 | 久久久久久久久久久久亚洲 | 97自拍超碰 | 婷婷丁香久久五月婷婷 | 久久久免费网站 | 成人国产精品久久久久久亚洲 | 成人手机在线视频 | 激情五月开心 | 91精品国产成人观看 | 国产精品美 | 欧美在线视频精品 | 久久美女高清视频 | 久久av在线| 美女视频黄免费网站 | 在线免费试看 | 国产精品一区二区三区在线免费观看 | 国产视频精品在线 | 国产精品99久久久久人中文网介绍 | 中文字幕亚洲字幕 | 亚洲精品视频在线免费播放 | 视频在线亚洲 | 日本爱爱免费视频 | 丁香高清视频在线看看 | 在线观看黄 | 色成人亚洲网 | 毛片视频网址 | 97视频免费在线观看 | 欧美日韩不卡在线观看 | 亚洲伊人网在线观看 | 久久99国产精品久久 | 91精品国产91热久久久做人人 | 久久精品久久久久久久 | 国产日韩视频在线 | 最近日韩免费视频 | 亚洲欧美偷拍另类 | 国产亚洲观看 | 久久国产成人午夜av影院宅 | 超碰在线观看97 | 超碰人人99 | 亚洲欧美精品一区二区 | 久草视频手机在线 | 精品中文字幕在线 | 亚洲三级在线免费观看 | 精品九九九 | 99精品国产福利在线观看免费 | 不卡视频在线看 | 免费a级黄色毛片 | 成人观看| 久久久久免费精品 | 99久久精品免费 | 亚洲天天综合 | 欧美日韩视频在线 | 日韩欧美在线观看一区二区 | 伊香蕉大综综综合久久啪 | 丁香综合激情 | 午夜视频在线观看欧美 | 久久精品99国产精品亚洲最刺激 | 国产成视频在线观看 | 国产精品激情偷乱一区二区∴ | 久久一区二区免费视频 | 国产精品精品久久久久久 | 国产手机免费视频 | 五月婷婷电影网 | 丁香六月在线观看 | 亚洲精品视频在线免费 | 亚洲情感电影大片 | 欧洲精品视频一区 | 91亚洲永久精品 | 午夜精品久久久久久99热明星 | 色多多在线观看 | 激情五月婷婷综合网 | 四虎影院在线观看av | 中文字幕免费在线 | 亚洲精品999 | 日韩在线视 | 色吊丝在线永久观看最新版本 | 国产高清免费av | 色噜噜噜噜 | 99视频精品免费视频 | 97精品在线 | 国产一级在线 | a级片久久| av在线影视| 亚洲精品乱码久久久久久蜜桃不爽 | 国产成人精品在线观看 | 国产精品久久久久久久久久妇女 | 精品久久影院 | 九九久久久久久久久激情 | 西西444www大胆无视频 | 蜜桃视频成人在线观看 | 一区二区三区在线免费 | 国产一级性生活视频 | 高清免费在线视频 | 成人午夜剧场在线观看 | 久久综合色影院 | 日批视频在线观看免费 | 免费精品在线 | 免费a v观看 | 99久久精品久久久久久动态片 | 成人网444ppp| 日韩黄色一级电影 | 一本一本久久a久久精品综合小说 | www.超碰| 日韩一区二区三区在线观看 | 九九久久婷婷 | 国产伦理精品一区二区 | av中文字幕在线电影 | 97av免费视频 | 日本中文乱码卡一卡二新区 | 久久好看免费视频 | 五月天最新网址 | 欧美另类69 | 日韩av成人在线观看 | 丰满少妇在线观看网站 | 亚洲三区在线 | 狠狠干狠狠艹 | 国产 亚洲 欧美 在线 | 亚洲午夜在线视频 | 日韩电影一区二区三区 | 久久精品中文字幕一区二区三区 | 国产综合片 | 超碰在线观看99 | 久久视频精品在线 | 国产精品久久久久久久久久免费 | 91麻豆精品国产91久久久无限制版 | 亚洲国产偷 | 91精彩视频在线观看 | 色视频在线看 | 久久久国产精品一区二区中文 | 国产一区在线视频观看 | 91资源在线 | 国产精品免费久久久久久久久久中文 | 色婷婷激情 | 日本中文乱码卡一卡二新区 | 国产精品视频地址 | www亚洲一区 | 久久久这里有精品 | 天天拍天天操 | 精品国产一区二区在线 | 91亚洲狠狠婷婷综合久久久 | 日本午夜在线亚洲.国产 | 精品天堂av | 日韩三级久久 | 日韩亚洲欧美中文字幕 | 黄色av电影在线观看 | 欧美 日韩 国产 成人 在线 | 国产精品视频全国免费观看 | 免费视频黄 | 久久免费高清视频 | www黄com | 在线观看一级片 | 久久国产精品第一页 | 蜜臀av免费一区二区三区 | 久久99久久99精品免观看软件 | 免费一级片久久 | 91精品久久久久久久久久入口 | 91免费高清视频 | 日韩精品在线视频免费观看 | 久9在线 | 97超碰福利久久精品 | 九九免费精品视频 | 天堂在线视频中文网 | 国产成人精品av | 久久久免费观看完整版 | 婷婷av色综合 | 亚洲精品视频一 | 久久蜜臀一区二区三区av | 国产免费一区二区三区网站免费 | 久久免费一级片 | 久久久免费在线观看 | av中文字幕免费在线观看 | 国产一区二区电影在线观看 | 日韩国产欧美在线播放 | 粉嫩一二三区 | 中国美女一级看片 | 特级aaa毛片 | 国产福利免费看 | 在线观看韩国av | 亚洲国产高清视频 | 欧美精品v国产精品 | 成人在线免费观看网站 | 欧美91在线 | 在线免费av电影 | 欧美另类tv| 在线看v片 | 国产精品视频地址 | 美州a亚洲一视本频v色道 | 97精品在线视频 | 国产一区观看 | 亚洲一级在线观看 | 国产精品久久久精品 | 韩国精品福利一区二区三区 | 91精品国产一区二区三区 | 五月天婷亚洲天综合网鲁鲁鲁 | 久久精品国产99国产 | 日本中文字幕免费观看 | 日韩特黄av | 日日操日日干 | 成人一级电影在线观看 | 精精国产xxxx视频在线播放 | 欧美精品免费在线 | 精品国产综合区久久久久久 | 国产成人免费精品 | 99爱精品在线 | 91成人免费视频 | 成人看片| 国产精品永久免费 | 日韩激情片在线观看 | 在线免费观看国产 | 欧美少妇xx | 久久久久久久影院 | 国产91精品一区二区绿帽 | 国产精品久久电影网 | 四虎影视www | 91香蕉视频色版 | 国产中文字幕一区二区 | 国产亚洲精品成人av久久影院 | 99精品视频在线 | 欧美在线视频二区 | 国产理论在线 | 91在线观看欧美日韩 | 91视视频在线直接观看在线看网页在线看 | 国产一级在线视频 | 国产精品成人av在线 | 开心色停停 | 黄色av网站在线观看免费 | 日韩黄色在线电影 | 国产成人333kkk | 色激情五月| 国产精品成人免费 | 成年人视频在线免费观看 | 亚洲国产欧美在线看片xxoo | 亚洲精品456在线播放乱码 | 亚洲精品中文在线资源 | 麻豆视频免费在线播放 | 久久久久久久久久久高潮一区二区 | 午夜精品久久久久久99热明星 | 97视频免费在线 | 91亚洲综合 | 精品久久久久久久久久国产 | 亚州精品成人 | 久久国产精品成人免费浪潮 | av电影一区二区 | 波多野结衣精品 | 免费看三级 | 亚洲精品在线播放视频 | 深爱激情综合 | 中文字幕 国产精品 | 日韩二区在线观看 | 黄色一区二区在线观看 | www视频在线播放 | 久久国产一区二区 | 久久成人精品电影 | 欧美精品在线视频 | 欧美成人精品三级在线观看播放 | 激情婷婷网 | 国产99久久久国产精品成人免费 | 激情五月婷婷综合网 | 国产不卡av在线播放 | 国产美女免费看 | 亚洲国产精品久久久 | av在线一二三区 | 中文字幕高清av | 成人午夜久久 | 欧美精品久久久久久久久久久 | 1区2区视频 | 日韩另类在线 | 精品三级av | 成人动漫精品一区二区 | 欧美日韩亚洲第一页 | 中国一级片在线播放 | 成人av电影在线观看 | 免费在线黄色av | 欧美成人xxxxx | 亚洲免费观看在线视频 | 日日干影院 | 色香com.| 欧美午夜激情网 | 丁香六月av | 久久久久久国产精品999 | 国产精品不卡av | 日韩xxx视频 | 国产精品成人国产乱一区 | 亚洲国产剧情av | 欧美精品久久久久久久久久白贞 | 在线观看日韩 | 色婷婷在线播放 | 人人玩人人添人人 | 欧美色图狠狠干 | 午夜精选视频 | 96精品在线 | 午夜精品视频一区二区三区在线看 | 久草网站在线 | 在线视频专区 | 免费在线观看91 | 久久嗨| 久久久国产影视 | 在线视频精品 | 肉色欧美久久久久久久免费看 | 亚洲精品在线免费 | 成年人视频在线免费播放 | 天天躁天天狠天天透 | 在线免费性生活片 | 69热国产视频 | 成年人看片网站 | av免费看在线 | 国产糖心vlog在线观看 | av不卡免费看 | 毛片在线网| 免费视频成人 | 少妇精69xxtheporn | 国产精品久久久久影视 | 天天色天天操综合 | 三上悠亚一区二区在线观看 | 伊人久久在线观看 | 黄色91在线观看 | 99这里只有精品99 | 午夜国产一区二区 | 日日操网站 | 久久亚洲综合国产精品99麻豆的功能介绍 | 久草www| 久久国产精品电影 | 精品国产一区二区三区在线观看 | 六月丁香激情综合色啪小说 | 午夜在线观看影院 | 久久亚洲热 | 亚洲一区二区黄色 | 黄网站免费看 | 欧美亚洲一区二区在线 | 免费成人在线观看视频 | 国产精彩视频 | 日本爱爱免费 | 在线观看免费观看在线91 | 精品久久久久一区二区国产 | 日日干天夜夜 | 国产精品中文久久久久久久 | 中文字幕在线观看完整版 | 亚洲无吗av | 亚洲电影黄色 | 六月色婷 | 欧美日韩一区二区三区视频 | 色偷偷人人澡久久超碰69 | 中文字幕在线观看第一区 | 久久国产精品二国产精品中国洋人 | 国产不卡一二三区 | 在线观看精品 | 久草久视频 | 五月婷在线观看 | 日本二区三区在线 | 亚洲免费一级电影 | 亚洲成人影音 | av中文字幕亚洲 | 成人黄色小视频 | 久久精品3 | 欧美午夜精品久久久久久孕妇 | 精产嫩模国品一二三区 | 久久视频免费看 | 成人免费观看完整版电影 | 精品国内自产拍在线观看视频 | 在线观看完整版免费 | 亚洲 综合 激情 | 国产成人一区二区三区久久精品 | 久久久久一区 | 91亚洲在线| 在线精品视频免费播放 | 免费在线观看一区二区三区 | 手机在线看永久av片免费 | 久久99视频免费 | 手机在线看a | 亚洲一级二级三级 | 欧美极度另类 | 91在线视频在线观看 | 久久精品99精品国产香蕉 | 国产不卡毛片 | 91精彩在线视频 | 午夜视频亚洲 | 国产一区二区在线观看免费 | 成人动图 | 色婷婷导航 | 在线免费观看国产视频 | 日韩视频一 | 国产精品va最新国产精品视频 | 日韩在线观看你懂的 | 国产成人综合精品 | 国产午夜一区 | 精品一二三四在线 | 91精品国产福利在线观看 | 成人网在线免费视频 | 国产一区二区久久精品 | 亚洲精品国产精品乱码在线观看 | 岛国大片免费视频 | 免费视频91| 欧美精品在线一区二区 | av在线免费在线观看 | 成人黄色片在线播放 | 91九色蝌蚪国产 | 免费在线色电影 | 久久久久9999亚洲精品 | 国产精品麻豆欧美日韩ww | 天天色天天综合网 | 久久久久久久久久久久久久电影 | 一区二区久久久久 | 色999精品| 日韩精品一区二区三区在线视频 | 国产精品美女免费视频 | 二区三区毛片 | 国产精品久久久久久久久久三级 | 国产精品美乳一区二区免费 | 国产亚洲成av片在线观看 | 国产精品久久久久亚洲影视 | 国产人成在线视频 | 91中文在线视频 | 国产精品久久久久久久久久妇女 | 偷拍精偷拍精品欧洲亚洲网站 | 久久午夜精品视频 | 在线黄色国产 | 久久高清免费视频 | 国产精品免费观看视频 | 久久99国产精品自在自在app | 天天色天天射天天干 | 日韩在线不卡 | 91精品国产乱码久久桃 | 视频成人免费 | 亚洲美女久久 | 国产午夜一区二区 | 色停停五月天 | 亚洲精品国产精品国自产在线 | 久久嗨 | 精品av在线播放 | 91精品啪在线观看国产线免费 | 欧美乱大交 | 亚洲资源视频 | 日韩二区精品 | 欧美性大胆 | 国产一区 在线播放 | 开心色停停 | 欧美日韩国产免费视频 | 在线精品亚洲一区二区 | 久久草视频 | 激情婷婷六月 | 国产一区黄色 | 六月丁香在线视频 | 国产精品99视频 | 一区二区三区精品在线 | 久久福利电影 | 激情丁香5月 | 日本精品免费看 | 国产精品色视频 | 日本在线观看一区二区三区 | 国产大片免费久久 | av手机版 | 88av视频| 日韩在线观看第一页 | 免费h漫在线观看 | 精品国产_亚洲人成在线 | 国产一区二区中文字幕 | 天天操天天操天天爽 | 亚洲视频在线看 | 婷婷网址 | 久草在线久草在线2 | 久久爱导航 | 亚洲国产精品日韩 | 国产精品美女免费看 | 欧美三级高清 | 久久99国产精品自在自在app | 日韩一区二区三区在线看 | 97在线观 | 国产白浆在线观看 | 国产精品ssss在线亚洲 | www.久草视频| 亚洲精品456在线播放 | 黄色小说在线免费观看 | 日韩精品免费在线观看视频 | 亚洲精品综合一区二区 | 国产一二三精品 | 久久久网址 | 日日爽日日操 | 久久久国产一区二区三区 | www.福利视频 | 色综合狠狠干 | 中文视频在线 | 中文字幕区 | 日本中文字幕观看 | 久久久久亚洲最大xxxx | 亚洲黄网站 | 黄色一级在线免费观看 | 最近免费中文字幕大全高清10 | 五月花丁香婷婷 | 人人干人人爽 | 成年人在线免费看 | 欧美乱码精品一区二区 | 国产精品99久久久久久有的能看 | 日韩免费在线观看网站 | 99久久久久久久久久 | 欧美日韩在线播放 | 国产精品黄色 | 国产一区二区在线播放 | 97在线观看免费 | 欧美日韩一级久久久久久免费看 | 91在线porny国产在线看 | 日本中文字幕在线观看 | 久久久久女人精品毛片九一 | 欧美日韩aaaa| 欧美亚洲精品一区 | 国产精品嫩草影视久久久 | 中文字幕在线字幕中文 | 天堂av免费在线 | 国语黄色片 | 久久精品国产精品亚洲精品 | 精品99视频 | 国产精品久久久一区二区 | 天天操夜 | 国产拍揄自揄精品视频麻豆 | 国产97免费 | 玖玖在线免费视频 | av7777777 | 中文字幕一区二区在线播放 | 午夜手机看片 | 国产中的精品av小宝探花 | 亚洲国产免费看 | 天天射天天做 | 久久撸在线视频 | 97天堂网| 国产精品久久免费看 | 色综合天天狠天天透天天伊人 | 久久精品99国产精品 | 狠狠干狠狠艹 | 欧美日韩国产区 | 成年人黄色在线观看 | www日韩视频 | 2024国产精品视频 | 国产分类视频 | 中文字幕在线免费97 | 黄色免费在线视频 | 色鬼综合网 | 午夜私人影院久久久久 | 在线小视频你懂的 | av在线电影网站 | 亚洲国产黄色 | 福利一区在线 | 香蕉影视app | 国产精品理论片在线播放 | 综合色中文| 特级西西人体444是什么意思 | 久久久国产一区二区三区四区小说 | 日韩在线免费视频观看 | 日本黄色免费电影网站 | 最新色视频 | 午夜视频在线观看网站 | 999久久国精品免费观看网站 | 精品国产乱码一区二区三区在线 | 国产日韩视频在线观看 | 国产日韩欧美在线看 | 久久国产精品二国产精品中国洋人 | 亚洲一级片免费观看 | 五月婷婷av | 视频一区二区视频 | 午夜婷婷在线播放 | 久草在线最新 | 亚洲精品乱码久久久久久 | 国产高清福利在线 | 日韩69av| 中国一区二区视频 | 三级黄色在线观看 | av黄色影院 | 亚洲欧美国内爽妇网 | avav片| 久久婷婷丁香 | 婷婷色 亚洲 | 国产精品免费在线 | 日韩电影在线视频 | 日韩理论片在线 | 国产91精品久久久久 | 毛片播放网站 | 色综合天天天天做夜夜夜夜做 | 精品久久影院 | japanese黑人亚洲人4k | 亚洲高清在线观看视频 | av黄网站 | 中文字幕日韩免费视频 | 麻豆一区在线观看 | 国产日韩精品在线 | 久久黄色片 | 欧美日韩不卡一区二区三区 | 狠狠干干 | 午夜av网站 | 不卡的av在线播放 | 成片免费观看视频 | 亚洲欧洲国产视频 | 欧美a视频 | 国产一级淫片在线观看 | 国产精品久久久久久久婷婷 | 免费观看www小视频的软件 | 亚洲色图色 | 国产三级精品三级在线观看 | 亚洲激情视频在线 | 欧美日韩免费在线观看视频 | 五月婷婷综合网 | 91亚州 | 亚洲成aⅴ人片久久青草影院 | 久久久精品 一区二区三区 国产99视频在线观看 | 日本天天色| 色播99 | 四虎小视频 | 亚洲女裸体 | 久久精品久久综合 | 中文字幕在线观看免费观看 | 久久精品一区二区三区四区 | 香蕉在线观看视频 | 草樱av | 又色又爽又激情的59视频 | 在线播放亚洲 | 国产在线观看免费观看 | 黄色国产在线 | 久久在线免费视频 | 国产二区免费视频 | 婷婷日韩|