《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 嵌入式Linux下基于FFmpeg的視頻硬件編解碼
嵌入式Linux下基于FFmpeg的視頻硬件編解碼
單片機與嵌入式系統(tǒng)應用
劉建敏,楊斌
摘要: 對FFmpeg多媒體解決方案中的視頻編解碼流程進行研究。結合對S3C6410處理器視頻硬件編解碼方法的分析,闡述了嵌入式Linux下基于FFmpeg的H.264視頻硬件編解碼在S3C6410處理器上的實現方法,為嵌入式多媒體開發(fā)提供參考。
Abstract:
Key words :

引言

目前,智能手機、PDA和平板電腦等越來越多的嵌入式設備支持高清視頻采集和播放功能,高清視頻的采集或播放功能正廣泛用于游戲設備、監(jiān)控設備、視頻會議設備和數字網絡電視等嵌入式系統(tǒng)中。這些功能的實現建立在高性能視頻硬件編解碼技術基礎之上。本文闡述了基于FFmpeg的H.264視頻硬件編解碼在S3C6410處理器上的實現方法,為數字娛樂、視頻監(jiān)控和視頻通信系統(tǒng)開發(fā)過程中的高清視頻硬件編解碼的實現提供參考。

FFmpeg[1]是一個開源免費跨平臺的視頻和音頻流方案,屬于自由軟件。它包含非常先進的音頻/視頻編解碼庫libavcodec,提供了錄制、轉換以及流化音視頻的完整解決方案。FFmpeg支持MPEG4、FLV等40多種編碼,以及AVI、ASF等90多種解碼。目前國內較為流行的播放器暴風影音和國外較為流行的Mplayer在音頻/視頻編解碼方面都用到了FFmpeg。

S3C6410[2]是三星公司推出的應用處理器芯片,基于ARM11架構,主頻最高可達800 MHz。它具有多媒體硬件加速功能,其中包括大于30 fps的MPEG4 SP、H.264/263 BP和VC1(WMV9)多種視頻硬件編解碼,可用于手機、平板電腦和游戲機等手持移動設備和其他高性能嵌入式設備。國產手機魅族M8的處理器使用的就是S3C6410。

雖然FFmpeg提供了簡單的應用程序編程接口(API),可以很方便地實現多種格式的視頻軟件編解碼[3],但是軟件編解碼在處理復雜視頻編解碼(如H.264)時無法運用到處理速度不快、內存空間不多的嵌入式環(huán)境中。為了在資源有限的嵌入式環(huán)境下使用FFmpeg實現復雜視頻編解碼,下面在分析FFmpeg視頻編碼流程和S3C6410處理器視頻編解碼方法的基礎上,闡述嵌入式Linux操作系統(tǒng)下基于FFmpeg的H.264硬件編解碼在S3C6410處理器上的實現方法。

1 FFmpeg視頻編解碼流程

FFmpeg主要有encode/decode、muxer/demuxer和內存操作3個模塊。encode/decode模塊用于音視頻的編碼和解碼,存放在libavcodec子目錄中;muxer/demuxer模塊用于音頻和視頻的合并與分離(也稱混合器模塊),存放在libavformat目錄中;內存等常用模塊存放于libavutil目錄中。下面以解碼過程為例分析FFmpeg視頻編解碼流程。

解碼基本流程共分4步:

① 注冊所有可能用到的編解碼器和混合器。av_register_all(void)函數中通過執(zhí)行 REGISTER_MUXDEMUX(X,x)和REGISTER_ENCDEC(X,x),把所有FFmpeg支持的混合器和編解碼器相關信息以鏈式的結構存放在內存中。

② 打開視頻文件。av_open_input_file(AVFormatContext **ic_ptr,const char *filename,AVInputFormat *fmt,int buf_size,AVFormatParameters *ap)函數中偵測文件的格式,根據文件格式從鏈式的混合器中找到相對應的混合器(demuxer)并分離出視頻信息。

③ 獲取視頻信息。通過av_find_stream_info(AVFormatContext *ic)函數獲取視頻格式。根據視頻格式,在鏈式的視頻解碼器中找到相應的視頻解碼器,并通過avcodec_open(AVCodecContext *avctx,AVCodec *codec)函數將解碼器打開用于下一步視頻的解碼。

④ 解碼一幀視頻,通過 avcodec_decode_video(AVCodecContext *avctx,AVFrame *picture,int *got_picture_ptr,const uint8_t *buf,int buf_size)函數解碼一幀視頻。

FFmpeg的編碼過程與解碼過程類似,不同的是第3步根據要求編碼的格式在鏈式的視頻編碼器中找到相應的視頻編碼器,并執(zhí)行編碼過程。

通過以上對FFmpeg視頻編解碼流程分析可以知道,為了在FFmpeg中添加自定義的視頻編解碼器,并在程序運行時使用這個編解碼器,關鍵在于如下兩點:

① 根據FFmpeg對編解碼器的描述,實現自定義編解碼器。

② 通過REGISTER_ENCDEC(X,x)函數將自定義的視頻編解碼器添加到視頻編解碼器鏈中。在獲取視頻信息時,保證需要編碼或解碼的視頻能找到視頻編解碼器鏈中自定義的視頻編解碼器。

2 S3C6410處理器視頻編解碼方法

S3C6410視頻編解碼軟件架構[4]如圖1所示。底層為操作系統(tǒng)空間,上層為用戶空間,視頻編解碼器通過驅動和操作系統(tǒng)以設備文件的形式使用,使用的方法和普通文件一樣,包括文件打開和關閉、文件讀寫和輸入/輸出控制(ioctl,input/output control)。

圖1 S3C6410視頻編解碼軟件架構

具體操作方法如下:

① 通過open函數打開編解碼器設備文件;

② 使用mmap方法在用戶空間和驅動空間之間映射輸入/輸出緩存空間,這樣做的好處是可以快速進行數據輸入/輸出;

③ 通過ioctl設備編解碼參數,初始化編解碼器;

④ 輸入數據,通過ioctl執(zhí)行編解碼過程,輸出數據;

⑤ 通過close方法關閉編解碼器設備文件。

值得注意的是,無論編碼還是解碼,處理的數據都是以一幀幀的形式操作的,所以第4步是一個不斷循環(huán)的過程,直到所有數據處理完成。另外,雖然編解碼器以設備文件的形式使用,但是它不能使用標準的文件讀寫操作,查看編解碼的設備驅動可以發(fā)現,其文件讀寫函數是空的,這一點三星公司的開發(fā)文檔并沒有說明。

3 H.264硬件編解碼實現

FFmpeg的H.264硬件編解碼[5]實現就是自定義一個視頻編解碼器,加入到FFmpeg庫中。這個視頻編解碼器使用S3C6410處理視頻硬件編解碼功能來實現H.264的視頻編碼和解碼過程,這樣使用FFmpeg庫的多媒體程序可以用訪問FFmpeg其他編解碼器一樣的方法使用這個自定義的編解碼器。添加自定義編解碼器的關鍵是根據FFmpeg中對編解碼的描述定義編解碼器,并實現定義中的相關函數。

在libavcodec/avcodec.h中的AVCodec結構體是定義FFmpeg編解碼器的關鍵結構體,包括編解碼器的名字、類型(聲音/視頻)、編解碼器的識別號(CodecID)、支持格式和一些用于初始化、編碼、解碼和關閉的函數指針。

typedef struct AVCodec {

const char *name;

enum CodecType type;

enum CodecID id;

int priv_data_size;

int (*init)(AVCodecContext *);

int (*encode)(AVCodecContext *,uint8_t *buf,int buf_size,void *data);

int (*close)(AVCodecContext *);

int (*decode)(AVCodecContext *,void *outdata,int *outdata_size,

uint8_t *buf,int buf_size);

int capabilities;

struct AVCodec *next;

void (*flush)(AVCodecContext *);

const AVRational *supported_framerates;

const enum PixelFormat *pix_fmts;

} AVCodec;

H.264硬件編解碼器定義如下:

AVCodec s3cx264_encoder = {

.name="s3cx264",

.type=AVMEDIA_TYPE_VIDEO,

.id=CODEC_ID_H264,

.init=X264_init,

.encode=X264_frame,

.decode=X264_decode,

.close=X264_close,

};

解碼器的名字為s3cx264,類型為視頻。CodecID為H264,表示這個解碼器用于H.264視頻編解碼。初始化、編碼、解碼和關閉函數指針分別指向X264_init、X264_frame、X264_decodec和X264_close函數。

添加s3cx264編解碼器到編解器鏈中,關鍵是通過修改libavcodec/allcodecs.c文件實現,修改如下:

REGISTER_ENCDEC (ASV1,asv1);

REGISTER_ENCDEC (S3CX264,s3cx264);

//添加s3cx264編解碼器

REGISTER_ENCDEC (ASV2,asv2);

這樣,在程序運行時調用av_register_all(void)函數后,就可以把自定義的編解碼器s3cx264添加到FFmpeg存放在內存中的解編碼器鏈中。值得提出的是,對同一個視頻格式FFmpeg有多個編解碼器與之相對應。如H.264格式的視頻,FFmpeg本身就帶有對應的軟解碼器,現在添加了硬解碼器,為了避免不確定是哪一個解碼器在執(zhí)行,可以把自定義的硬件編解碼器在注冊時放在注冊過程的最前面,這樣編解碼器在添加到解編器鏈中時就會放在靠前的位置,查找時就可以優(yōu)于軟件解碼器找到硬解碼器。

把硬件編解碼器s3cx264注冊到編解碼器鏈后,還要完成X264_init、X264_frame、X264_decodec和X264_close函數,編解碼器才能正常工作。以下結合前面對S3C6410視頻編解碼過程的分析,以編碼為例詳細闡述實現過程。

定義X264Context結構體,保存設備文件描述符、編碼參數和輸入/輸出地址等信息,用于FFmpeg模塊間數據的傳遞:

typedef struct X264Context {

int dev_fd;

uint8_t *addr;

s3c_mfc_enc_init_arg_t enc_init;

s3c_mfc_enc_exe_arg_t enc_exe;

s3c_mfc_get_buf_addr_arg_t get_buf_addr;

uint8_t *in_buf,*out_buf;

AVFrame out_pic;

} X264Context;

X264_init實現的是編碼器初始化過程, 用于編碼器設備文件的打開、內存空間的映射、編碼參數設置和獲取編解碼數據輸入/輸出地址。

static av_cold int X264_init(AVCodecContext *avctx){

X264Context *x4 = avctx>priv_data;

//打開編碼器設備文件

x4>dev_fd = open(MFC_DEV_NAME,O_RDWR|O_NDELAY);

//內存空間映射

x4>addr = (uint8_t *) mmap(0,BUF_SIZE,PROT_READ |PROT_WRITE,MAP_SHARED,x4>dev_fd,0);

//編碼參數設置

ioctl(x4>dev_fd,S3C_MFC_IOCTL_MFC_H264_ENC_INIT,&x4>enc_init);

//獲取輸入/輸出地址

x4>get_buf_addr.in_usr_data = (int)x4>addr;

ioctl(x4>dev_fd,S3C_MFC_IOCTL_MFC_GET_YUV_BUF_ADDR,&x4>get_buf_addr);

x4>in_buf = (uint8_t *)x4>get_buf_addr.out_buf_addr;

x4>get_buf_addr.in_usr_data = (int)x4>addr;

ioctl(x4>dev_fd,S3C_MFC_IOCTL_MFC_GET_LINE_BUF_ADDR,&x4>get_buf_addr);

x4>out_buf = (uint8_t *)x4>get_buf_addr.out_buf_addr;

return 0;

}

ioctl的參數為S3C_MFC_IOCTL_MFC_H264_ENC_INIT,表示使用H.264編碼。

X264_frame函數執(zhí)行編碼過程。需要注意的是data參數保存了需要編碼的數據,是一個四維的數組,要把它轉換成一維數組用于S3C6410編碼器輸入。另外,編碼數據存在空的情況,也就是空幀。這是需要處理的,方法是返回“0”,表示沒有輸出數據,否則程序運行時會出現段錯誤。

static int X264_frame(AVCodecContext *ctx,uint8_t *buf,int bufsize,void *data){

……

//空間轉換

if(frame){

memcpy(x4>in_buf,frame>data[0],ctx>width*ctx>height);

memcpy(x4>in_buf+ctx>width*ctx>height,frame>data[1],ctx>width*ctx>height/4);

memcpy(x4>in_buf+ctx>width*ctx>height+ctx>width*ctx>height/4,frame>data[2],

ctx>width*ctx>height/4);

}

else

return 0;//空幀,返回

//執(zhí)行編碼過程

ioctl(x4>dev_fd,S3C_MFC_IOCTL_MFC_H264_ENC_EXE,&x4>enc_exe);

//編碼數據輸出

bufsize = x4>enc_exe.out_encoded_size;

memcpy(buf,x4>out_buf,bufsize);

……

return bufsize;

}

X264_close關閉函數用于編碼結束后的資源釋放,包括取消空間映射和關閉設備文件。

static av_cold int X264_close(AVCodecContext *avctx){

//取消空間映射

munmap(x4>addr,BUF_SIZE);

//關閉設備文件

close(x4>dev_fd);

return 0;

}

解碼函數的實現過程類似于編碼函數,包括空間轉換、執(zhí)行解碼和解碼數據輸出。初始化時使用S3C_MFC_IOCTL_MFC_H264_DEC_INIT參數,執(zhí)行時使用S3C_MFC_IOCTL_MFC_H264_ENC_EXE參數。

4 運行測試

s3cx264編解碼器添加到FFmpeg后,可以通過以下方式測試:

① 用如下命令編譯FFmpeg。

./configure enablecrosscompile

arch=armv6 cpu=armv6

targetos=linux crossprefix

=/usr/local/arm/4.3.2/bin/

armlinux

② 運行 ./ffmpeg codecs查看可以找到s3cx264編解碼器,如圖2所示。

圖2 FFmpeg顯示s3cx264編解碼器信息

③ 結合USB攝像頭測試s3cx264編碼。運行 ./ffmpeg s 320x240 r 50 f video4linux2 i /dev/video2 vcodec s3cx264 test.mp4 可以看到FFmpegg正使用s3cx264編碼器將USB攝像頭采集的數據編碼壓縮成test.mp4文件。test.mp4能夠正常播放顯示。

以上測試說明已經成功地將s3cx264硬件視頻編碼器添加到了FFmpeg中,能夠編碼視頻數據,可以運用到其他使用FFmpeg庫的多媒體程序中。

結語

對于多媒體開發(fā)來說,編解碼時使用FFmpeg多媒體庫是一個不錯的選擇,支持較多的音視頻編解碼,編程接口簡單易用。了解FFmpeg編解碼過程,熟悉FFmpeg硬件編解碼器添加方法,對多媒體開發(fā),尤其是資源有限的嵌入式多媒體開發(fā)有很大幫助。本文通過分析FFmpeg視頻編解碼過程和三星S3C6410處理器視頻硬件編解碼方法,在FFmpeg庫中成功添加S3C6410硬件編解碼器,使FFmpeg庫具有H.264視頻格式的硬件編解碼能力,可運用于游戲設備、監(jiān)控設備、視頻會議設備和數字網絡電視等嵌入式系統(tǒng)中,同時也為其他嵌入式設備添加別的視頻格式的編解碼器到FFmpeg多媒體庫提供了參考。

參考文獻

[1] http://www.ffmpeg.org/.

[2] Samsung.S3C6410 Datasheet,2010.

[3] 李少春.基于FFMPEG的嵌入式視頻監(jiān)控系統(tǒng)[J].電子技術,2007(3):3437.

[4] API Document S3C6400/6410 MultiFormat Codec,2008.

[5] FFmpeg codec HOWTO[EB/OL].2010[201101].http://wiki.multimedia.cx/index.php?title=FFmpeg_codec_HOWTO/.

劉建敏(碩士生)、楊斌(教授),主要研究方向為單片機與嵌入式系統(tǒng)及應用。

此內容為AET網站原創(chuàng),未經授權禁止轉載。
主站蜘蛛池模板: 拧花蒂尿用力按凸起喷水尿av | 香蕉久久夜色精品国产使用方法 | 在线免费观看av不卡 | 丁香六月欧美 | 一级特黄aaaaaa大片 | 精品人妻av一区二区三区 | 亚洲女人天堂 | 中文字幕成人网 | 精品国产999久久久免费 | 欧美黄色免费在线观看 | 亚洲 欧美 制服 中文字幕 | 草草浮力影院 | 天天爽天天搞 | 456欧美成人免费视频 | 久久免费看少妇 | 色国产精品 | 色哟哟免费在线观看 | 男人的天堂一区二区 | 中文字幕在线免费观看视频 | www欧美视频| 日本女优在线看 | 日韩一级片在线 | 欧美内射深插日本少妇 | 国产精品久久久久久久竹霞 | 91探花福利精品国产自产在线 | 五月婷婷一区 | 欧美性生活一区 | 色网在线看| 成人短视频在线播放 | av在线网站观看 | 狂野欧美性猛交xxxx | 男人添女人高潮免费网站打开网站 | 国产五区 | 首页 动漫 亚洲 欧美 日韩 | 97人人模人人爽人人喊电影 | 91精品国产综合久久久蜜臀 | 中文字幕无码色综合网 | 一区二区中文字幕在线观看 | 天天澡天天狠天干天 | 免费播放毛片 | 久久精品伊人 | 精品无码久久久久久国产 | 午夜精品久久久久久久久久久 | 五月婷婷丁香六月 | 日本japanese丰满白浆 | 性一交一伦一伦一视频 | 一级黄色a级片 | 国产毛片91 | 日韩精品一区二区三区在线视频 | 97精品一区二区视频在线观看 | 国产成人精品无码播放 | 熟女人妇 成熟妇女系列视频 | 久草在线新时代的视觉体验 | 国产成人免费在线 | www17com嫩草影院 | 免费女人18a级毛片视频 | 天天综合日日夜夜 | 国产精品女教师av久久 | 久久久www成人免费无遮挡大片 | 国产精品嫩草影院av蜜臀 | 在线免费观看毛片 | 波多野结衣在线精品视频 | 国产做受蜜臀 | 欧美性生活一区 | 一级片视频免费观看 | 少妇裸体淫交免费视频网站 | 我爱avav色av爱avav亚洲 | 农村少妇一区二区三区四区五区 | 国产亚洲精品精华液 | 亚洲系列在线 | 国产人与禽zoz0性伦在线 | 午夜久久久久 | 国内精自视频品线一区 | 美乳少妇与邻居尤物啪啪 | 一级全黄少妇性色生活免费看 | 久久人妻内射无码一区三区 | 五月天婷婷网站 | 夜夜高潮夜夜爽国产伦精品 | 五月香蕉网 | 国产日韩欧美久久 | 成人午夜免费在线 | 亚洲国产精品久久久久婷蜜芽 | 国产jjizz一区二区三区视频 | 欧美日韩一卡二卡三卡 | 伊人天天操 | 激情五月婷婷色 | 黄色一级黄色片 | 狠狠色综合色综合网站久久 | 天干天干天啪啪夜爽爽av网站 | 精品国产乱码一区二区三 | 欧美理论片在线观看 | 欧美日韩无套内射另类 | 久久久久久久久久久久久9999 | 欧洲少妇ooo | 高清不卡一区二区 | 成人影视网址 | 中文在线日韩 | 免费看黄a级毛片 | 天天精品在线 | 精品va久久久噜噜久久软件 | 欧美一区二区三区四 | 亚洲精品www久久久久久软件 | 2018天天干天天操 | 国产激情视频一区二区三区 | 狠狠色丁香久久婷婷综合五月 | 中国大陆一级毛片 | 午夜在线| 亚洲熟妇av日韩熟妇在线 | 日韩在线一级片 | 国产精品福利久久久 | 精品999视频 | 国产又爽又黄的激情精品视频 | 欧美精品色视频 | 国产欧美一区二区在线 | 东京天堂热av | 欧美人与野鲁交xxx视频 | 人人妻人人澡人人爽久久av | 欧美图片在线观看 | 欧美在线va | 国产又粗又大又黄 | 另类sb东北妇女av | 欧洲熟妇色xxxxx欧美老妇伦 | 精品久久久久久亚洲精品 | 男人午夜剧场 | 亚洲乱色伦图片区小说 | 国产精品人人爽人人爽 | 青青草91久久久久久久久 | 亚洲成人第一页 | 欧美一区二区视频在线 | av在线入口 | 国产精品黄在线观看免费软件 | 波多野结衣av无码久久一区 | 国产精品一区二区不卡 | 欧美伦理片网站 | 国产av国片精品jk制服丝袜 | 99国内精品久久久久久久 | 91视频看片 | 男人深夜影院 | 亚洲成a人片在线观看久 | 午夜精品一区二区三区的区别 | 亚洲国产精品久久久久久女王 | 国产香港明星裸体xxxx视频 | 天天躁日日躁狠狠躁超碰97 | 青娱乐极品视频在线 | 女同性aaaaa一区二区 | 国产精品女同一区二区 | 亚洲欧美国产精品久久久久久久 | 午夜免费高清视频 | 日韩少妇白浆无码系列 | 91自产国偷拍在线 | 中文字幕无码无码专区 | 美女在线不卡 | 婷婷在线播放 | 中文字幕免费视频观看 | 久久久性视频 | 国产精品一区二区av | 国产aⅴ一区二区三区 | 乱人伦av| 综合五月激情二区视频 | 漂亮人妻洗澡被公强 日日躁 | 国模大尺度一区二区三区 | 国产日韩av在线播放 | 亚洲成av人片在www色猫咪 | 99精品欧美一区二区蜜桃美图 | 毛片无遮挡| 亚洲自拍成人 | 久久免费在线观看 | 高潮添下面视频免费看 | 国产在线看 | 亚洲国产午夜精品理论片在线播放 | 亚洲精品久久久一区二区三区 | 国产一区二区三区四区五区加勒比 | 国产97色在线 | 免费 | 亚洲无人区一区二区三区 | 在线播放日韩av | 天堂在线中文 | 全球色影院 | 久久激情综合网 | 91porny真实丨国产jk | 337p粉嫩日本欧洲亚洲大胆 | 无套内谢老熟女 | 国产97色在线 | 免费 | 欧美国产高潮xxxx1819 | 亚洲国产婷婷香蕉久久久久久 | 97人人模人人爽人人喊38tv | 大伊香蕉精品一区视频在线 | 国产精品揄拍一区二区久久国内亚洲精 | 亚色中文网 | 精品一区中文字幕 | 夫妻啪啪呻吟x一88av | 男女作爱免费网站 | 九九国产在线观看 | 欧美亚洲在线 | 中文字幕人妻第一区 | 国产精品天天看天天狠 | 国产片自拍 | 越南毛茸茸的少妇 | 国产精品女主播 | 三级在线国产 | 无码国产成人午夜电影在线观看 | 92看片淫黄大片欧美看国产片 | 一本色道久久加勒比88综合 | 欧美情侣性视频 | 97人人做人人添人人爱 | 亚洲精品无码高潮喷水在线 | 三级全黄做爰龚玥菲在线 | 日本丰满熟妇videossex | 福利视频一区 | 亚洲精品国产精品久久99热 | 亚洲免费人成在线视频观看 | 九九久久精品国产av片国产 | 一二三国产精品 | 男人天堂资源网 | 午夜精品视频一区二区三区在线看 | 亚洲性xxxx | 性色av免费观看 | 超碰最新在线 | 超碰成人福利 | 国产无套内射又大又猛又粗又爽 | 男人的天堂日本 | 国产无遮挡一区二区三区毛片日本 | 亚洲人成网站999久久久综合 | 亚洲蜜桃av一区二区 | 久久97超碰 | 黄色字幕网 | 亚洲综合福利 | 成年人在线视频网站 | 久久aⅴ免费观看 | 台湾黄色网址 | 欧美大胆a视频 | 国产热99 | 九九爱视频 | 免费纯肉3d动漫无码网站 | 乳孔很大能进去的av番号 | 天天做天天看 | 亚洲国产精品成人午夜在线观看 | 日日噜噜夜夜狠狠va视频 | 老头糟蹋新婚少妇系列小说 | 欧美第一夜 | 成人禁片又硬又粗太爽了 | 欧美激情一区二区三区蜜桃视频 | 狠狠干在线观看 | www亚洲www| 奶大交一乱一乱一视一频 | 亚洲 日本 欧美 中文幕 | 麻豆av一区二区天美传媒 | 亚洲最大无码中文字幕 | 国产精品欧美精品 | 国产91对白叫床清晰播放 | 亚洲国产天堂一区二区三区 | 亚州视频一区二区三区 | 日本少妇全身按摩做爰5 | 中文字幕在线亚洲精品 | 日韩一区国产二区欧美三区 | 污视频大全 | 日韩裸体人体欣赏pics | 91中文在线 | 免费激情网站 | 亚洲天堂久久新 | 91精品国产色综合久久不卡蜜臀 | 免费国偷自产拍精品视频 | yellow免费在线观看 | 国产精选视频在线观看 | 精品日韩在线视频 | 沉溺于黑人叶爱中文字幕 | 一级成人毛片 | 亚洲视频在线观看免费的欧美视频 | 国产精品xxx | 日韩成人黄色 | 久久综合伊人77777蜜臀 | 国产成人av一区 | 性色xxxxhd| 五月综合激情 | 少妇艹逼 | 波多野结衣潜藏淫欲 | 日本人乱人乱亲乱色视频观看 | 极品尤物魔鬼身材啪啪仙踪林 | 国产aⅴ一区二区三区 | 成人午夜视频在线播放 | 日韩精品专区在线影院重磅 | 午夜影院免费版 | 欧美精品一区二区三区久久久 | 亚洲精品国产suv一区别 | 日日骚视频 | 人妖av在线 | 午夜婷婷国产麻豆精品 | 美国一级大黄一片免费中文 | 日韩在线专区 | 日日躁夜夜躁狠狠躁aⅴ蜜 日日躁夜夜躁狠狠躁超爽2001 | 国产精品免费视频观看 | 国产黄a三级| 欧日韩精品 | 国产精品18久久久久久首页狼 | 中国老妇淫片bbb | julia无码中文字幕一区 | 偷拍欧美亚洲 | 中文文字幕一区二区三三 | 欧美骚少妇 | 青青草免费视频在线播放 | 日韩精品中文字幕一区二区三区 | 高潮中文字幕 | av男人的天堂在线观看国产 | 理论片高清免费理论片毛毛片 | 欧美一级特黄aa大片 | 国产色视频一区二区三区qq号 | 欧美极品三级 | 久久中文免费视频 | 免费全部高h视频 | 国产人与禽zoz0性伦 | 亚洲精品乱码一区二区三区 | 亚洲黄色小视频 | a级在线观看 | 欧美日韩国内 | 成人男女啪啪免费观软件 | 亚洲国产精品久久久久婷婷老年 | 秋霞一级黄色片 | 亚洲色无码中文字幕 | 国产成人精品亚洲午夜麻豆 | 交换配乱淫东北大坑性事视频 | 欧美日韩中文字幕在线 | 毛茸茸日本熟妇高潮 | 91免费观看视频在线 | 精品国产欧美日韩 | 亚洲国产精品网站 | 国产精品黄在线观看免费软件 | 国产 日韩 一区 | 日韩欧美啪啪 | 日日摸夜夜添夜夜添欧美毛片小说 | 石原莉奈一区二久久影视 | 久久精品一区二区国产 | 中文有码无码人妻在线 | 国产成人综合精品无码 | 综合五月激情二区视频 | xxxx国产片 | 国语自产精品视频在线看 | 无码人妻人妻经典 | 香蕉久久精品日日躁夜夜躁夏 | 人人看人人做 | 99久久免费精品国产男女高不卡 | 狠狠色噜噜狠狠狠狠色综合网 | 成人欧美18 | 一色一性一乱一交一视频 | 国产真人性做爰久久网站 | 好紧好湿太硬了我太爽了视频 | 天天看国91产在线精品福利桃色 | 国产免费最爽的乱淫视频a 国产免国产免费 | 亚洲熟妇无码八av在线播放 | 日韩在线国产精品 | 欧美精品在线视频观看 | 91精品国产综合婷婷香蕉 | 亚洲精品tv久久久久久久久久 | 日韩人妻系列无码专区 | 国产原创一区 | 无码人妻丰满熟妇区96 | 精品国产_亚洲人成在线 | 免费一区二区无码东京热 | 久久精品国产日本波多野结衣 | 9l视频自拍九色9l视频最新 | 亚洲一区日韩 | 亚洲天堂av在线播放 | 屁屁影院ccyy备用地址 | 91麻豆精品国产91久久久点播时间 | 天堂在线www天堂 | 人妻精油按摩bd高清中文字幕 | 二级黄色毛片 | 优月まりな乳狂在线观看 | 天天爽夜夜爽一区二区三区 | 一级做a爰全过程免费视频毛片 | 四虎免费久久 | 欧美丰满熟妇xxxx性 | 拔萝卜在线视频免费观看 | 日本国产在线观看 | 国产精品毛片无遮挡 | 日韩字幕在线观看 | 特黄特色大片免费播放器图片 | 91亚洲国产成人精品一区二区三 | 国产69精品久久 | 欧美丰满白嫩bbw激情 | 国产精品天堂 | 亚洲综合在线播放 | 少妇富婆一区二区三区夜夜 | 久久国产成人精品av | 欧美日韩国产精品久久 | 人人爽久久涩噜噜噜红粉 | 欧美一级视频 | 成人综合网址 | 国产区图片区小说区亚洲区 | 久久香焦| 亚洲免费网站观看视频 | 毛片com| 稀缺呦国内精品呦 | 综合婷婷 | 久热这里只有 | 亚洲xxxx做受欧美 | 国产亚洲papapa | 一区二区视频免费 | 国产夜色精品一区二区av | 伊人久久大香线蕉综合5g | 欧美日韩一区二区在线 | 精精国产xxxx在线观看主放器 | 狠狠综合久久av一区二区小说 | 日韩视频精品一区 | 又长又硬又粗一区二区三区 | 国产精品99久久久久久一二区 | 亚洲一区波多野结衣在线app | 一本无码久本草在线中文字幕dvd | 天天躁恨躁夜躁2020优势对比 | 手机看片99 | 东京一本一道一二三区 | 粉嫩av一区二区三区入口 | 美玉足脚交一区二区三区图片 | 日本v片做爰免费视频网站 日本www | 女人爽到高潮潮喷18禁网站 | 久草中文在线 | 可以免费看的黄色 | 中文字幕在线观看线人 | 男女猛烈激情xx00免费视频 | 国产v亚洲v天堂无码 | 男人猛吃奶女人爽视频 | 国产美女精品一区二区三区 | 欧美在线视频播放 | 2019年中文字幕 | 欧洲亚洲综合 | av专区在线观看 | 免费jjzz在在线播放国产 | 成人毛片av| 一级欧美一级日韩片免费观看 | 亚洲人精品亚洲人成在线 | 淫品色影院 | 狠狠干夜夜爽 | 久久国产精华液 | 欧美一级大黄 | 成人午夜激情影院 | 秋霞av国产精品一区 | 99精品视频九九精品视频 | 国产婷婷一区二区三区 | aa片在线观看视频在线播放 | 国产精品偷伦视频免费手机播放 | 国产亚洲日韩欧美另类第八页 | 久久精品视频在线看15 | 国产高清在线不卡 | 激情文学亚洲 | av网站亚洲 | 舌头伸进添得好爽高潮欧美 | 99色影院| 黄色欧美视频 | 亚洲三级在线观看 | 亚洲精品丝袜一区二区三区 | 啪一啪射一射插一插 | 欧美 国产 综合 | 欧美国产成人精品一区二区三区 | 狠狠躁日日躁夜夜躁老司机 | 91亚洲精品乱码久久久久久蜜桃 | 久久久久久国产精品免费免费 | av电影在线观看 | 日本韩国欧美一区 | 超碰在线人 | 操操操日日日 | 催眠淫辱の教室3在线观看 村上凉子在线播放av88 | 人妻激情另类乱人伦人妻 | 亚洲一区二区在线免费观看 | 日韩精品成人在线 | 亚洲视频欧美 | 国产v亚洲v天堂无码久久久 | 亚洲欧美中文日韩在线v日本 | 性欧美大战久久久久久久 | 91丨porny丨国产 | 免费观看性欧美大片无片 | 亚洲精品一区二区三区香蕉 | 国产91精品精华液一区二区三区 | 日日插插| 国产精品无码翘臀在线观看 | 亚洲精品一区二区久久 | 精品中文字幕一区 | 色琪琪久久草在线视频 | 视频在线观看网站免费 | 红桃17c视频永久免费入口 | 91麻豆精品91久久久久久清纯 | 久久这里只有精品首页 | 中文字幕日韩欧美一区二区三区 | 91探花福利精品国产自产在线 | 亚洲中文字幕aⅴ天堂 | 丁香五香天堂 | 人人鲁人人莫一区二区三区 | 亚洲蜜桃v妇女 | 女超人h版av在线看 女儿的朋友4在线观看 | 少妇中出视频 | 色妞av永久一区二区国产av | 免费看a | 99视频在线播放 | 久久久久久久久久久久久久 | 婷婷色九月 | 欧美三级韩国三级日本一级 | 日韩大胆人体 | 国产亚洲系列 | 欧美日韩国 | 久久久久久亚洲精品a片成人 | 精品毛片一区二区 | 久久在线免费视频 | 91国在线观看 | 男人一边吃奶一边做爰网站 | 不卡av免费在线观看 | 久久久妇女国产精品影视 | 日韩精品日韩激情日韩综合 | 男女动漫18动漫免费 | 亚洲视频在线看 | 伊人色av| 天天色综合av | 天天射视频 | 国产一区二区三区久久久久久久 | 黄色大片视频网站 | 亚洲最新av网站 | 看全色黄大色黄大片 视频 欧美深度肠交惨叫 | 国产色区 | 国产精品久久久久久久久久久痴汉 | 国产新婚夫妇白天做个爱 | 亚洲成人综合在线 | 91素人约啪 | 日韩中文字幕综合 | missav|免费高清av在线看 | 久久久aa | 一区二区三区乱码在线 | 欧洲 | 国产91片 | 国产午夜福利久久精品 | 国产人妻一区二区三区四区五区六 | 翘臀后进少妇大白嫩屁股91 | 成人av黄色| 精品动漫卡一卡2卡三卡四卡 | 国产精品18久久久久久久 | 中文字幕人乱码中文 | 亚洲天天综合网 | 91九色在线视频 | 日韩少妇白浆无码系列 | 狠狠爱无码一区二区三区 | 成人动漫一区二区 | 国产最新av| 少妇日韩| 成人 动漫 | 亚洲欧洲无码av电影在线观看 | 黑丝美女一区二区 | 欧美视频一区二区三区在线观看 | 中文字幕第99页 | 日韩欧美一级片 | 日韩国产大片 | 中国黄色一及片 | 女同性69囗交| 亚洲成人日韩 | 精品乱码久久久久久中文字幕 | 日韩成人无码影院 | 亚洲日韩日本中文在线 | 国产精品99久久久久久www | 毛片看| 青青青av | 成人第四色 | 色老头在线视频 | 亚洲色图欧美自拍 | 中文天堂资源在线www | 一级黄色录象 | 国产精品入口夜色视频大尺度 | 欧美午夜性 | 黄色xxxxx| 欧洲美色妇ⅹxxxxx欧美 | 日本五月天婷久久网站 | 无人码一区二区三区视频 | 亚洲最大的成人网站 | 国产sm网站 | 高清国产一区二区三区 | 午夜一区二区三区四区 | 五月开心网 | 白嫩嫩翘臀美女在线视频 | 人成亚洲| 无码熟妇αⅴ人妻又粗又大 | 国内精品久久久久影视老司机 | 少妇粉嫩小泬白浆流出 | 国产视频精品一区二区三区 | 四虎在线网址 | 国产精品午夜一区二区三区视频 | 成年片黄色日本大片网站视频 | 女上男下激烈啪啪xx00免费 | 久久国产精品视频 | 欧美一级三级在线观看 | 日韩av一区二区在线播放 | 久久久亚洲最大ⅹxxx | 欧美日韩一区二区在线视频 | 黄色片中文字幕 | 欧美综合社区 | 国产精品卡一卡二卡三 | 中国老妇荡对白正在播放 | 色噜噜在线| 又黄又爽的视频在线观看网站 | 欧美少妇在线 | 一区二区三区在线 | 欧 | 一区二区视频免费在线观看 | 久久精品视频免费 | 五月婷婷六月婷婷 | 深夜少妇18免费 | 亚洲一二三区视频 | 免费网站看v片在线18禁无码 | 天堂国产女人av | 毛片一区二区三区 | 久久久午夜影院 | 久久国产精品视频 | 日本视频在线观看免费 | 国产精品无需播放器在线观看 | 色妞ww精品视频7777 | 玖玖爱在线精品视频 | 激情免费网站 | 国产精品日本 | www.伊人| 性开放xxxhd视频 | 日本内射精品一区二区视频 | 先锋影音男人av资源 | 国产一区二区三区三州 | www.av天天| 日韩亚洲欧美一区 |