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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

对X264/FFMPEG架构探讨---感觉不错

發布時間:2023/12/10 编程问答 54 豆豆
生活随笔 收集整理的這篇文章主要介紹了 对X264/FFMPEG架构探讨---感觉不错 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

?

3. FFMPEG架構分析

FFMPEG是目前被應用最廣泛的編解碼軟件庫,支持多種流行的編解碼器,它是C語言實現的,不僅被集成到各種PC軟件,也經常被移植到多種嵌入式設備中。使用面向對象的辦法來設想這樣一個編解碼庫,首先讓人想到的是構造各種編解碼器的類,然后對于它們的抽象基類確定運行數據流的規則,根據算法轉換輸入輸出對象。

在實際的代碼,將這些編解碼器分成encoder/decoder,muxer/demuxer和device三種對象,分別對應于編解碼,輸入輸出格式和設備。在main函數的開始,就是初始化這三類對象。在avcodec_register_all中,很多編解碼器被注冊,包括視頻的H.264解碼器和X264編碼器等,

REGISTER_DECODER (H264, h264);
REGISTER_ENCODER (LIBX264, libx264);

找到相關的宏代碼如下

#define REGISTER_ENCODER(X,x) { /
????????? extern AVCodec x##_encoder; /
????????? if(CONFIG_##X##_ENCODER)? avcodec_register(&x##_encoder); }
#define REGISTER_DECODER(X,x) { /
????????? extern AVCodec x##_decoder; /
????????? if(CONFIG_##X##_DECODER)? avcodec_register(&x##_decoder); }

這樣就實際在代碼中根據CONFIG_##X##_ENCODER這樣的編譯選項來注冊libx264_encoder和h264_decoder,注冊的過程發生在avcodec_register(AVCodec *codec)函數中,實際上就是向全局鏈表first_avcodec中加入libx264_encoder、h264_decoder特定的編解碼器,輸入參數AVCodec是一個結構體,可以理解為編解碼器的基類,其中不僅包含了名稱,id等屬性,而且包含了如下函數指針,讓每個具體的編解碼器擴展類實現。

??? 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,
????????????????? const uint8_t *buf, int buf_size);
?? ?void (*flush)(AVCodecContext *);

繼續追蹤libx264,也就是X264的靜態編碼庫,它在FFMPEG編譯的時候被引入作為H.264編碼器。在libx264.c中有如下代碼

AVCodec libx264_encoder = {
??? .name = "libx264",
??? .type = CODEC_TYPE_VIDEO,
??? .id = CODEC_ID_H264,
??? .priv_data_size = sizeof(X264Context),
??? .init = X264_init,
??? .encode = X264_frame,
??? .close = X264_close,
??? .capabilities = CODEC_CAP_DELAY,
??? .pix_fmts = (enum PixelFormat[]) { PIX_FMT_YUV420P, PIX_FMT_NONE },
??? .long_name = NULL_IF_CONFIG_SMALL("libx264 H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10"),
};

這里具體對來自AVCodec得屬性和方法賦值。其中
??? .init = X264_init,
??? .encode = X264_frame,
??? .close = X264_close,
將函數指針指向了具體函數,這三個函數將使用libx264靜態庫中提供的API,也就是X264的主要接口函數進行具體實現。pix_fmts定義了所支持的輸入格式,這里4:2:0
PIX_FMT_YUV420P,?? ///< planar YUV 4:2:0, 12bpp, (1 Cr & Cb sample per 2x2 Y samples)

上面看到的X264Context封裝了X264所需要的上下文管理數據,
typedef struct X264Context {
??? x264_param_t params;
??? x264_t *enc;
??? x264_picture_t pic;
??? AVFrame out_pic;
} X264Context;
它屬于結構體AVCodecContext的void *priv_data變量,定義了每種編解碼器私有的上下文屬性,AVCodecContext也類似上下文基類一樣,還提供其他表示屏幕解析率、量化范圍等的上下文屬性和rtp_callback等函數指針供編解碼使用。

回到main函數,可以看到完成了各類編解碼器,輸入輸出格式和設備注冊以后,將進行上下文初始化和編解碼參數讀入,然后調用av_encode()函數進行具體的編解碼工作。根據該函數的注釋一路查看其過程:

1. 輸入輸出流初始化。
2. 根據輸入輸出流確定需要的編解碼器,并初始化。
3. 寫輸出文件的各部分

?

重點關注一下step2和3,看看怎么利用前面分析的編解碼器基類來實現多態。大概查看一下這段代碼的關系,發現在FFMPEG里,可以用類圖來表示大概的編解碼器組合。

可以參考【3】來了解這些結構的含義(見附錄)。在這里會調用一系列來自utils.c的函數,這里的avcodec_open()函數,在打開編解碼器都會調用到,它將運行如下代碼:
??? avctx->codec = codec;
??? avctx->codec_id = codec->id;
??? avctx->frame_number = 0;
??? if(avctx->codec->init){
??????? ret = avctx->codec->init(avctx);
進行具體適配的編解碼器初始化,而這里的avctx->codec->init(avctx)就是調用AVCodec中函數指針定義的具體初始化函數,例如X264_init。

在avcodec_encode_video()和avcodec_encode_audio()被output_packet()調用進行音視頻編碼,將同樣利用函數指針avctx->codec->encode()調用適配編碼器的編碼函數,如X264_frame進行具體工作。

從上面的分析,我們可以看到FFMPEG怎么利用面向對象來抽象編解碼器行為,通過組合和繼承關系具體化每個編解碼器實體。設想要在FFMPEG中加入新的解碼器H265,要做的事情如下:
1. 在config編譯配置中加入CONFIG_H265_DECODER
2. 利用宏注冊H265解碼器
3. 定義AVCodec 265_decoder變量,初始化屬性和函數指針
4. 利用解碼器API具體化265_decoder的init等函數指針

完成以上步驟,就可以把新的解碼器放入FFMPEG,外部的匹配和運行規則由基類的多態實現了。

4. X264架構分析

X264是一款從2004年有法國大學生發起的開源H.264編碼器,對PC進行匯編級代碼優化,舍棄了片組和多參考幀等性能效率比不高的功能來提高編碼效率,它被FFMPEG作為引入的.264編碼庫,也被移植到很多DSP嵌入平臺。前面第三節已經對FFMPEG中的X264進行舉例分析,這里將繼續結合X264框架加深相關內容的了解。

查看代碼前,還是思考一下對于一款具體的編碼器,怎么面向對象分析呢?對熵編碼部分對不同算法的抽象,還有幀內或幀間編碼各種估計算法的抽象,都可以作為類來構建。

在X264中,我們看到的對外API和上下文變量都聲明在X264.h中,API函數中,關于輔助功能的函數在common.c中定義
void x264_picture_alloc( x264_picture_t *pic, int i_csp, int i_width, int i_height );
void x264_picture_clean( x264_picture_t *pic );
int x264_nal_encode( void *, int *, int b_annexeb, x264_nal_t *nal );
而編碼功能函數定義在encoder.c
x264_t *x264_encoder_open?? ( x264_param_t * );
int???? x264_encoder_reconfig( x264_t *, x264_param_t * );
int???? x264_encoder_headers( x264_t *, x264_nal_t **, int * );
int???? x264_encoder_encode ( x264_t *, x264_nal_t **, int *, x264_picture_t *, x264_picture_t * );
void??? x264_encoder_close? ( x264_t * );
在x264.c文件中,有程序的main函數,可以看作做API使用的例子,它也是通過調用X264.h中的API和上下文變量來實現實際功能。

X264最重要的記錄上下文數據的結構體x264_t定義在common.h中,它包含了從線程控制變量到具體的SPS、PPS、量化矩陣、cabac上下文等所有的H.264編碼相關變量。其中包含如下的結構體
??? x264_predict_t????? predict_16x16[4+3];
??? x264_predict_t????? predict_8x8c[4+3];
??? x264_predict8x8_t?? predict_8x8[9+3];
??? x264_predict_t????? predict_4x4[9+3];
??? x264_predict_8x8_filter_t predict_8x8_filter;

??? x264_pixel_function_t pixf;
??? x264_mc_functions_t?? mc;
??? x264_dct_function_t?? dctf;
??? x264_zigzag_function_t zigzagf;
??? x264_quant_function_t quantf;
??? x264_deblock_function_t loopf;
跟蹤查看可以看到它們或是一個函數指針,或是由函數指針組成的結構,這樣的用法很想面向對象中的interface接口聲明。這些函數指針將在x264_encoder_open()函數中被初始化,這里的初始化首先根據CPU的不同提供不同的函數實現代碼段,很多與可能是匯編實現,以提高代碼運行效率。其次把功能相似的函數集中管理,例如類似intra16的4種和intra4的九種預測函數都被用函數指針數組管理起來。

x264_encoder_encode()是負責編碼的主要函數,而其內包含的x264_slice_write()負責片層一下的具體編碼,包括了幀內和幀間宏塊編碼。在這里,cabac和cavlc的行為是根據h->param.b_cabac來區別的,分別運行x264_macroblock_write_cabac()和x264_macroblock_write_cavlc()來寫碼流,在這一部分,功能函數按文件定義歸類,基本按照編碼流程圖運行,看起來更像面向過程的寫法,在已經初始化了具體的函數指針,程序就一直按編碼過程的邏輯實現。如果從整體架構來看,x264利用這種類似接口的形式實現了弱耦合和可重用,利用x264_t這個貫穿始終的上下文,實現信息封裝和多態。

本文大概分析了FFMPEG/X264的代碼架構,重點探討用C語言來實現面向對象編碼,雖不至于強行向C++靠攏,但是也各有實現特色,保證實用性。值得規劃C語言軟件項目所借鑒。?

?

【參考文獻】

1.“用例子說明面向對象和面向過程的區別”
2.?liyuming1978,“liyuming1978的專欄”
3. “FFMpeg框架代碼閱讀”

?

?

附錄:節選自【3】

3. 當前muxer/demuxer的匹配
在FFmpeg的文件轉換過程中,首先要做的就是根據傳入文件和傳出文件的后綴名[FIXME]匹配
合適的demuxer和muxer。匹配上的demuxer和muxer都保存在如下所示,定義在ffmpeg.c里的
全局變量file_iformat和file_oformat中:
? ? static AVInputFormat *file_iformat;
? ? static AVOutputFormat *file_oformat;

3.1 demuxer匹配
在libavformat/utils.c中的static AVInputFormat *av_probe_input_format2(
AVProbeData *pd, int is_opened, int *score_max)函數用途是根據傳入的probe data數據
,依次調用每個demuxer的read_probe接口,來進行該demuxer是否和傳入的文件內容匹配的
判斷。其調用順序如下:
void parse_options(int argc, char **argv, const OptionDef *options,?
? ? ? ? ? void (* parse_arg_function)(const char *));
? ? static void opt_input_file(const char *filename)
? ? ? ? int av_open_input_file(…… )
? ? ? ? ? ? AVInputFormat *av_probe_input_format(AVProbeData *pd,?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? int is_opened)
? ? ? ? ? ? ? ? static AVInputFormat *av_probe_input_format2(……)
opt_input_file函數是在保存在const OptionDef options[]數組中,用于
void parse_options(int argc, char **argv, const OptionDef *options)中解析argv里的
“-i” 參數,也就是輸入文件名時調用的。

3.2 muxer匹配
與demuxer的匹配不同,muxer的匹配是調用guess_format函數,根據main() 函數的argv里的
輸出文件后綴名來進行的。
void parse_options(int argc, char **argv, const OptionDef *options,?
? ? ? ? ? void (* parse_arg_function)(const char *));
? ? void parse_arg_file(const char *filename)
? ? ? ? static void opt_output_file(const char *filename)
? ? ? ? ? ? AVOutputFormat *guess_format(const char *short_name,?
? ? ? ? ? ? ? ? ? ? ? ? ? ? const char *filename,
? ? ? ? ? ? ? ? ? ? ? ? ? ? const char *mime_type)

3.3 當前encoder/decoder的匹配
在main()函數中除了解析傳入參數并初始化demuxer與muxer的parse_options( )函數以外,
其他的功能都是在av_encode( )函數里完成的。
在libavcodec/utils.c中有如下二個函數:
? ? AVCodec *avcodec_find_encoder(enum CodecID id)
? ? AVCodec *avcodec_find_decoder(enum CodecID id)
他們的功能就是根據傳入的CodecID,找到匹配的encoder和decoder。

在av_encode( )函數的開頭,首先初始化各個AVInputStream和AVOutputStream,然后分別調
用上述二個函數,并將匹配上的encoder與decoder分別保存在:
AVInputStream->AVStream *st->AVCodecContext *codec->struct AVCodec *codec與
AVOutputStream->AVStream *st->AVCodecContext *codec->struct AVCodec *codec變量。

4. 其他主要數據結構
4.1 AVFormatContext
AVFormatContext是FFMpeg格式轉換過程中實現輸入和輸出功能、保存相關數據的主要結構。
每一個輸入和輸出文件,都在如下定義的指針數組全局變量中有對應的實體。
? ? static AVFormatContext *output_files[MAX_FILES];
? ? static AVFormatContext *input_files[MAX_FILES];
對于輸入和輸出,因為共用的是同一個結構體,所以需要分別對該結構中如下定義的iformat
或oformat成員賦值。
? ? struct AVInputFormat *iformat;
? ? struct AVOutputFormat *oformat;
對一個AVFormatContext來說,這二個成員不能同時有值,即一個AVFormatContext不能同時
含有demuxer和muxer。在main( )函數開頭的parse_options( )函數中找到了匹配的muxer和
demuxer之后,根據傳入的argv參數,初始化每個輸入和輸出的AVFormatContext結構,并保
存在相應的output_files和input_files指針數組中。在av_encode( )函數中,output_files
和input_files是作為函數參數傳入后,在其他地方就沒有用到了。

4.2 AVCodecContext
保存AVCodec指針和與codec相關數據,如video的width、height,audio的sample rate等。
AVCodecContext中的codec_type,codec_id二個變量對于encoder/decoder的匹配來說,最為
重要。
? ? enum CodecType codec_type;? ? /* see CODEC_TYPE_xxx */
? ? enum CodecID codec_id;? ? ? ? /* see CODEC_ID_xxx */

如上所示,codec_type保存的是CODEC_TYPE_VIDEO,CODEC_TYPE_AUDIO等媒體類型,
codec_id保存的是CODEC_ID_FLV1,CODEC_ID_VP6F等編碼方式。

以支持flv格式為例,在前述的av_open_input_file(…… ) 函數中,匹配到正確的
AVInputFormat demuxer后,通過av_open_input_stream( )函數中調用AVInputFormat的
read_header接口來執行flvdec.c中的flv_read_header( )函數。在flv_read_header( )函數
內,根據文件頭中的數據,創建相應的視頻或音頻AVStream,并設置AVStream中
AVCodecContext的正確的codec_type值。codec_id值是在解碼過程中flv_read_packet( )函
數執行時根據每一個packet頭中的數據來設置的。

4.3 AVStream
AVStream結構保存與數據流相關的編解碼器,數據段等信息。比較重要的有如下二個成員:
? ? AVCodecContext *codec; /**< codec context */
? ? void *priv_data;
其中codec指針保存的就是上節所述的encoder或decoder結構。priv_data指針保存的是和具
體編解碼流相關的數據,如下代碼所示,在ASF的解碼過程中,priv_data保存的就是
ASFStream結構的數據。
? ? AVStream *st;
? ? ASFStream *asf_st;??
? ? … …
? ? st->priv_data = asf_st;

4.4 AVInputStream/ AVOutputStream
根據輸入和輸出流的不同,前述的AVStream結構都是封裝在AVInputStream和AVOutputStream
結構中,在av_encode( )函數中使用。AVInputStream中還保存的有與時間有關的信息。
AVOutputStream中還保存有與音視頻同步等相關的信息。

4.5 AVPacket
AVPacket結構定義如下,其是用于保存讀取的packet數據。
typedef struct AVPacket {
? ? int64_t pts;? ? ? ? ? ? ///< presentation time stamp in time_base units
? ? int64_t dts;? ? ? ? ? ? ///< decompression time stamp in time_base units
? ? uint8_t *data;
? ? int? size;
? ? int? stream_index;
? ? int? flags;
? ? int? duration;? ? ? ? ///< presentation duration in time_base units (0 if not available)
? ? void (*destruct)(struct AVPacket *);
? ? void *priv;
? ? int64_t pos;? ? ? ? ? ///< byte position in stream, -1 if unknown
} AVPacket;

在av_encode()函數中,調用AVInputFormat的
(*read_packet)(struct AVFormatContext *, AVPacket *pkt)接口,讀取輸入文件的一幀數
據保存在當前輸入AVFormatContext的AVPacket成員中。

總結

以上是生活随笔為你收集整理的对X264/FFMPEG架构探讨---感觉不错的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

丝袜制服综合网 | 婷婷av在线 | 欧美在线视频精品 | 深夜免费小视频 | 日本精品视频网站 | 免费视频成人 | 久草视频在线免费 | 亚洲精品国偷拍自产在线观看 | 国模吧一区 | 久要激情网 | 久久午夜影院 | 成人免费网视频 | 99精品久久久久 | 91欧美在线| 国内小视频 | 亚洲综合射| 在线天堂中文www视软件 | 国产精品久久久久免费a∨ 欧美一级性生活片 | 人人舔人人 | 免费日韩 精品中文字幕视频在线 | 成年性视频 | 丁香六月五月婷婷 | 日韩激情视频在线观看 | 日韩色av色资源 | 精品视频99| 亚洲天天在线日亚洲洲精 | 美女网站视频免费都是黄 | av线上看 | 黄在线免费看 | 四虎影视成人精品国库在线观看 | 超碰97.com| 十八岁以下禁止观看的1000个网站 | 久草剧场 | 狠狠地日 | 国产一区免费看 | 国产在线视频在线观看 | 亚洲免费成人 | 免费观看www小视频的软件 | 国产五码一区 | 天天操天天操天天操天天操天天操 | 99热官网| 99久久网站 | 久久精品精品 | 狠狠狠干 | 欧美日韩亚洲在线观看 | 欧美激情第一区 | 久久视频在线观看中文字幕 | 在线视频欧美日韩 | 又爽又黄又无遮挡网站动态图 | 日本高清久久久 | 中文字幕国语官网在线视频 | 免费电影一区二区三区 | av中文天堂在线 | 激情黄色一级片 | 91成人黄色 | 国产精品久久久久久久久久久久久久 | 日韩电影一区二区三区在线观看 | 国产成人精品综合久久久 | 91精品国产92久久久久 | 国产亚洲成av片在线观看 | 91探花在线视频 | 久久公开免费视频 | 久久99这里只有精品 | 玖玖999 | 久久1区 | 欧美福利久久 | 久久综合欧美精品亚洲一区 | 天天操夜夜曰 | 97香蕉超级碰碰久久免费软件 | 亚洲伊人网在线观看 | 蜜臀av在线一区二区三区 | 热re99久久精品国产99热 | 亚洲精品乱码久久久久v最新版 | 在线一级片 | 中文字幕黄色网 | 久热这里有精品 | 偷拍区另类综合在线 | 欧洲av不卡 | 在线免费黄网站 | 一区二区视频在线观看免费 | 日韩理论在线视频 | 麻豆va一区二区三区久久浪 | 久久婷婷一区二区三区 | 成人app在线免费观看 | 中文字幕中文字幕在线中文字幕三区 | 99视频在线精品 | 国产精品s色 | av看片在线观看 | 日韩中文字幕在线看 | 91tv国产成人福利 | 成人禁用看黄a在线 | 中文字幕4 | 久草在线资源网 | 808电影 | 日韩在线视频二区 | 中文字幕在线视频免费播放 | 亚洲国产精品一区二区尤物区 | 美女网站视频色 | 日日干激情五月 | 久久热亚洲 | 91精品视频播放 | 不卡精品视频 | 日韩欧美视频免费看 | 国产在线观看午夜 | 手机在线日韩视频 | 日本久久综合视频 | 亚洲午夜精品久久久久久久久 | 美女激情影院 | 激情小说网站亚洲综合网 | www.亚洲精品在线 | 天堂在线一区二区 | 伊人天天综合 | 免费亚洲视频在线观看 | 欧美精品亚洲精品 | 99精品视频在线 | 久久国产免 | 97免费在线观看 | 国产精品美女免费看 | 69中文字幕| 欧美激情精品久久久久久免费 | 亚洲免费av在线播放 | 色综合天天狠天天透天天伊人 | 久久99操| 国产免费资源 | 999国产 | 中午字幕在线 | 天天爱天天射 | 国产精品一区二区久久精品爱微奶 | 99精品免费观看 | 在线成人中文字幕 | 精品免费久久久久 | 夜夜澡人模人人添人人看 | 人人射av | 国产在线精品一区二区三区 | 欧美日韩视频在线 | 欧美激情精品久久 | av一级片 | 91看片一区二区三区 | 免费在线观看的av网站 | 日韩com| 精品一区电影国产 | 久久一线 | 一区二区三区四区五区在线 | 精品国产视频一区 | 在线观看视频福利 | 午夜在线免费观看 | 国产黄色片在线免费观看 | 国产在线色视频 | 精品国内 | 麻豆视频免费在线观看 | 久久99国产精品视频 | 久久人人爽人人人人片 | 亚洲午夜精品久久久 | 美女很黄免费网站 | 久久久久成人精品 | 中文字幕观看视频 | 久久69av| 极品美女被弄高潮视频网站 | 色视频国产直接看 | 午夜精品久久久久久久99无限制 | 一级淫片在线观看 | 国产91精品一区二区绿帽 | 日本少妇高清做爰视频 | 日本黄色a级大片 | 成人国产精品免费观看 | 国产精品婷婷 | 国产女人18毛片水真多18精品 | 久久人人爽人人片av | 日韩有码在线播放 | 亚洲乱码在线 | 国产精品女人网站 | 91精品久久久久久久久久入口 | 日韩av电影免费在线观看 | 91久久久久久久一区二区 | 日躁夜躁狠狠躁2001 | 久久成人在线视频 | 日韩精品免费专区 | 欧美一区二区三区不卡 | 色综合久久综合中文综合网 | 久久亚洲综合国产精品99麻豆的功能介绍 | 国产日韩av在线 | 日韩精品最新在线观看 | 天天干天天草天天爽 | 天天天天射 | 成人黄色免费在线观看 | 亚洲精品国产欧美在线观看 | 成人国产精品久久久久久亚洲 | 综合久久久久久久久 | 激情久久综合 | 成人综合日日夜夜 | 日韩久久片 | 久久综合久久八八 | 国产成人精品午夜在线播放 | 国产精品久久久久久影院 | 精品国产久 | 91丨九色丨91啦蝌蚪老版 | 国产精品久久久久久久久费观看 | 国产剧情一区 | 91黄色小网站 | 国产精品美女久久久久久 | 99色在线播放 | 久草观看 | 一区二区视频欧美 | 蜜桃视频成人在线观看 | 在线视频黄 | 亚洲资源在线观看 | 在线观看亚洲国产精品 | 97视频在线| 四虎小视频 | 人人爽久久久噜噜噜电影 | 日韩在线观看三区 | 日韩精品视频在线观看免费 | 成人一区影院 | 天天操天天舔天天干 | 在线影视 一区 二区 三区 | 99re中文字幕 | 午夜av免费| 一本一道波多野毛片中文在线 | av一级二级| 亚洲欧美国产精品久久久久 | 国产精品毛片一区视频播不卡 | 人人澡人人添人人爽一区二区 | 97香蕉久久超级碰碰高清版 | 91久久偷偷做嫩草影院 | 国产精品嫩草69影院 | 中文字幕观看视频 | 国产在线精品国自产拍影院 | 国产一区二区三精品久久久无广告 | 免费在线色 | 国产一级免费播放 | 97视频免费观看 | 最近能播放的中文字幕 | 91亚洲精品久久久 | 婷婷在线不卡 | 成人黄色电影在线 | 久久综合九色九九 | 伊人久久影视 | 色综合久久综合网 | 国产黄a三级三级 | 色五月激情五月 | 六月丁香婷婷网 | 成人黄色资源 | 五月天久久综合 | 99久久这里有精品 | 久久久久久久久久久久国产精品 | 综合网久久 | 一区二区三区精品在线视频 | 日韩乱码中文字幕 | 日日噜噜噜噜夜夜爽亚洲精品 | 成人一区二区三区在线观看 | 欧美在线日韩在线 | 国产美女视频一区 | 中文字幕在线观看不卡 | 99精品国产亚洲 | 在线成人性视频 | 国产精品一区免费看8c0m | 成人免费视频视频在线观看 免费 | 国产区精品区 | 成人黄色小说在线观看 | 日本在线中文 | 黄色大全免费网站 | 国产成人久久精品亚洲 | 欧美精品久久久久久久久久白贞 | 亚洲欧美视屏 | 69av网| 亚洲综合在线五月 | 香蕉免费在线 | 欧美韩国日本在线观看 | 精品久久久久久久久久岛国gif | 在线亚洲人成电影网站色www | 日b视频国产 | 日韩欧美久久 | 91精品久久香蕉国产线看观看 | 日韩素人在线观看 | 91精品少妇偷拍99 | 久久字幕精品一区 | 丁香综合网 | 久久人人爽视频 | 国产午夜在线观看 | 国产日韩在线看 | 久久污视频 | 狠狠狠狠狠狠狠狠 | 天天干 夜夜操 | 中文字幕二区三区 | 日韩视频免费观看高清完整版在线 | 午夜手机看片 | 亚洲天堂在线观看完整版 | 91在线永久 | 成人免费一区二区三区在线观看 | 国产精品欧美久久久久天天影视 | 国产亚洲精品福利 | 激情在线免费视频 | 中国美女一级看片 | 日日夜夜婷婷 | 91精品办公室少妇高潮对白 | 色婷婷成人网 | 在线国产日本 | 9在线观看免费高清完整版在线观看明 | 麻豆国产精品va在线观看不卡 | 1024手机在线看 | 高清精品视频 | 天天插日日射 | 91在线精品秘密一区二区 | 欧美最猛性xxxx | 中文字幕在线网 | 日本久久久久久科技有限公司 | 欧美日韩视频在线播放 | 色狠狠久久av五月综合 | 成人黄色电影视频 | 亚洲a在线观看 | 日韩电影久久久 | 密桃av在线 | 亚洲综合五月天 | 国产精品一区二区在线观看 | 免费在线观看不卡av | 亚洲一区二区三区miaa149 | 国产精品久久久久国产精品日日 | 日韩在线视频网 | 亚洲国产资源 | 激情网站 | 亚洲精品综合在线观看 | 日韩亚洲精品电影 | 99视频一区二区 | 欧美男同网站 | 国产精品福利在线 | 国产精品毛片一区二区在线看 | 色老板在线视频 | 香蕉视频在线观看免费 | 九色精品在线 | 欧美另类色图 | 欧美巨大| 日本激情视频中文字幕 | 中文字幕观看在线 | 久久久久国产精品免费网站 | 97中文字幕 | 国产成人一区二区三区在线观看 | 日韩黄色大片在线观看 | 国产高清视频在线免费观看 | 在线观看免费av网 | 四虎国产精品成人免费影视 | 精品欧美小视频在线观看 | 欧美日韩国产综合一区二区 | 日日夜夜天天干 | 国产日产精品一区二区三区四区的观看方式 | 国产婷婷精品av在线 | 波多野结衣一区三区 | 97碰在线视频 | 天堂av色婷婷一区二区三区 | 玖玖在线视频观看 | 婷婷国产视频 | 在线 高清 中文字幕 | 国产精品小视频网站 | 五月激情丁香图片 | 午夜成人影视 | 亚洲免费在线视频 | 激情片av| 亚洲精品福利在线观看 | 十八岁以下禁止观看的1000个网站 | 最新高清无码专区 | 天天五月天色 | 永久免费毛片在线观看 | 久久不色 | 波多野结衣电影一区二区三区 | 日韩精品国产一区 | 久久九九影视 | 在线免费观看国产黄色 | 天天干亚洲| 国产三级精品在线 | 99免费国产 | 欧美精品视 | 啪啪免费观看网站 | 一本一本久久a久久精品综合小说 | 欧美精品久久久久久久久久白贞 | 亚洲精品99久久久久久 | 色婷婷国产在线 | 日本护士三级少妇三级999 | 日韩高清在线一区二区三区 | 中文字幕在线观看一区二区三区 | 999国内精品永久免费视频 | 成人小视频在线观看免费 | 亚洲精品乱码久久久久久蜜桃动漫 | 国产精品久久久久久久毛片 | 天天天天天天天操 | 欧美一级日韩免费不卡 | 99视频在线观看一区三区 | 久久久电影 | 五月天综合婷婷 | 欧美一区三区四区 | 国产免费黄视频在线观看 | 国产精品久久久久9999 | www.午夜视频 | 91私密视频 | 一区二区 久久 | 91av免费在线观看 | 亚洲精品在线免费观看视频 | 国产精品青青 | 中文字幕视频播放 | 国产精品久久久久婷婷二区次 | 色婷婷激情电影 | 最新日韩视频在线观看 | 亚洲精品免费在线视频 | 日日操日日插 | 亚洲精品黄色片 | 国产黄色免费看 | 日韩国产精品久久久久久亚洲 | 欧美性生活免费看 | 国产精品久久嫩一区二区免费 | 欧美在线观看小视频 | 91精品国产三级a在线观看 | 天天在线操 | 亚洲激情 欧美激情 | 色福利网站 | 午夜精品一区二区三区四区 | 精品一二区 | 免费在线观看不卡av | 午夜精品一二区 | 国产在线视频一区 | 国产精品久久久久久久久久99 | 国产va饥渴难耐女保洁员在线观看 | 日本精品久久久久中文字幕 | 成人性生交大片免费观看网站 | 成人免费91 | 国产在线观看二区 | 天天干天天操天天拍 | av直接看 | av成人在线电影 | 成人动漫精品一区二区 | 波多野结衣久久资源 | 亚洲九九九在线观看 | 日韩免费av网址 | 亚洲精品在线播放视频 | 国产精品久久久久久久久久免费 | 人人插人人艹 | 网站免费黄 | 国产中文| 亚洲天堂网视频 | 国产精品久久久久久久电影 | 中文字幕av免费在线观看 | 国产精品 中文字幕 亚洲 欧美 | 国产精品wwwwww | 成人av地址 | 亚洲国产中文在线 | 日韩理论在线视频 | av在线之家电影网站 | 亚洲成人中文在线 | 国产99久久久久久免费看 | 亚洲乱码久久久 | 久草在线免费播放 | 干av在线 | 国产999精品久久久影片官网 | 狠狠色丁香婷婷综合久久片 | 国产一区视频在线播放 | 欧美analxxxx| a级国产乱理伦片在线播放 久久久久国产精品一区 | 伊人久久在线观看 | 日韩中文字幕视频在线观看 | 九九九视频在线 | 欧美中文字幕久久 | 久久久久久久久久网 | 不卡的av | 日韩女同一区二区三区在线观看 | 成人avav| 亚洲视频aaa | 久久99亚洲网美利坚合众国 | 黄色网www | 性色va | 久久精品一区二区三区视频 | 99在线免费观看视频 | 9在线观看免费高清完整版 玖玖爱免费视频 | 国产亚洲婷婷 | 久久视频在线观看 | 久久视影| 国产大片免费久久 | 人人澡超碰碰97碰碰碰软件 | 国产精品视频免费 | 免费在线观看黄 | 国产精品18久久久久久久 | 黄色一级大片在线免费看产 | 91在线一区二区 | 久久久久99999| 国产精品理论在线观看 | av网站免费看 | 欧美日韩高清国产 | 东方av在 | 国产九九热视频 | av成人动漫 | 一区久久久 | 狠狠插狠狠干 | 黄色特级毛片 | 欧美日韩一区二区三区在线观看视频 | 在线观看视频一区二区三区 | 欧美日本不卡高清 | 中文av影院 | 涩涩伊人| 六月丁香综合 | 日韩av片无码一区二区不卡电影 | 中字幕视频在线永久在线观看免费 | 免费视频久久久久久久 | 成人午夜影院 | 99国产一区| 天天鲁一鲁摸一摸爽一爽 | 国产成人精品在线观看 | 中文字幕在线观看一区 | 亚洲 欧美日韩 国产 中文 | 国产在线精品播放 | 久久人人插| 久久国产成人午夜av影院潦草 | 一区二区精品久久 | 亚洲一区二区精品视频 | 色诱亚洲精品久久久久久 | 国产一区不卡在线 | 亚洲精品中文在线 | 在线免费高清视频 | 国产视频精选在线 | 国产精品永久 | 黄色精品久久 | 天天插天天 | 欧美激情精品久久久久久 | 国产视频精品视频 | 91香蕉视频色版 | 免费看黄色小说的网站 | 亚洲免费视频观看 | 黄色三级av| 亚洲欧美成人网 | 久久精品国产美女 | 亚洲精品在线观看中文字幕 | 国产一区精品在线观看 | 九九热只有这里有精品 | 亚洲永久av | 91免费国产在线观看 | 久久久久久久久精 | 免费视频久久久久久久 | 精品久久国产一区 | 亚洲一级特黄 | 最近2019中文免费高清视频观看www99 | 毛片a级片| 国产成人精品久久 | 久久久久人人 | 久久婷婷精品 | 天天爽夜夜操 | 天天天天色射综合 | 色综合久久久久久中文网 | 97热在线观看 | 福利一区在线视频 | 在线观看一区二区视频 | 亚洲精品国产成人 | 日韩精品视频第一页 | 国产无套精品久久久久久 | 国产专区在线看 | 久久婷亚洲五月一区天天躁 | 国产色中涩 | 人人插人人爱 | 在线av资源 | 精品亚洲视频在线 | 一本一本久久a久久精品综合妖精 | 中文字幕在线精品 | 亚洲精品久久久久久久蜜桃 | 精品一区二区在线免费观看 | 国产精品久久久久久久午夜片 | 亚洲精品视频在线观看免费视频 | 天堂资源在线观看视频 | 国产破处在线视频 | 久久久久久久久综合 | 国产精品久久久久久久99 | 天天色天天草天天射 | 日韩精品一区二区三区免费观看 | 五月香视频在线观看 | 国产高清在线免费视频 | 国产午夜在线观看 | www.超碰97.com| 亚洲欧洲日韩 | 亚洲最新合集 | 天天综合操 | 中文字幕人成一区 | 亚洲国产日韩欧美在线 | 激情图片区 | 观看免费av| 日日日天天天 | 日韩av高潮| 亚洲精选视频免费看 | 91精品伦理 | 深爱激情五月综合 | 在线观看av麻豆 | 色综合久久88 | 最新av免费在线观看 | 日韩精品一区二区三区免费视频观看 | 日韩在线观看免费 | 日韩在线观看视频一区二区三区 | 五月婷婷综 | 日日干日日操 | 国产手机视频在线播放 | 国产视频亚洲精品 | 欧美黑吊大战白妞欧美 | 国产专区日韩专区 | 国产91aaa| 毛片1000部免费看 | 97福利视频 | 黄色av电影 | 999ZYZ玖玖资源站永久 | 91成人精品国产刺激国语对白 | 久久999久久 | 成人av资源网站 | 亚洲免费精彩视频 | 在线精品观看 | 亚洲视频axxx | 日韩av影视| 天天射综合网视频 | 成年人免费在线观看网站 | 天堂视频一区 | 久久精品日产第一区二区三区乱码 | 成人网在线免费视频 | 日韩免费视频观看 | 九九精品久久 | 亚洲在线激情 | 亚洲少妇影院 | 日韩精品视频在线观看网址 | av一本久道久久波多野结衣 | 国产精品日韩在线观看 | 国产麻豆精品免费视频 | 国产成人av片 | 亚洲国产小视频在线观看 | 日韩欧美一区二区在线观看 | 国产亚洲婷婷免费 | 亚洲视频电影在线 | 五月天六月色 | 国产成人精品女人久久久 | 丁香久久五月 | 91九色精品女同系列 | 精品国产123| 免费在线国产精品 | 免费观看福利视频 | 国产高清区 | 国产精品九九九九九九 | 国产成人精品女人久久久 | 亚洲成人资源在线观看 | 五月天网页 | 女人高潮特级毛片 | 国产一级在线观看视频 | 亚洲精品456在线播放第一页 | 久久精品中文字幕 | 九九九九九九精品任你躁 | 亚洲精品在线观看网站 | 午夜精品一区二区三区在线观看 | 成人av免费看 | 五月婷婷综合在线观看 | 激情开心色 | www.久久色.com| 久久五月天综合 | 久99视频| 久久99影院 | 久久久精品 一区二区三区 国产99视频在线观看 | 91在线区| 国产一级一片免费播放放 | 伊人五月天综合 | 久久久久久久av | 日韩精品视频网站 | 一区二区不卡视频在线观看 | 玖玖在线观看视频 | 日日夜夜中文字幕 | 日韩资源在线播放 | 国产视频美女 | 精品欧美日韩 | av.com在线| 夜添久久精品亚洲国产精品 | 国产又粗又猛又黄又爽 | 午夜视频99| 国产美女视频免费观看的网站 | 日韩欧美在线影院 | 丁香婷五月 | 免费污片 | 日日狠狠 | 韩国一区在线 | 欧美精品一区二区三区一线天视频 | 91成人精品一区在线播放69 | 国产美女网 | 在线看片中文字幕 | 在线观看成人 | 伊人中文字幕在线 | 91精品国产自产在线观看永久 | 综合色婷婷 | 亚洲一区二区观看 | 91精品成人 | 精品国产精品久久一区免费式 | 69国产精品视频免费观看 | 免费看wwwwwwwwwww的视频 久久久久久99精品 91中文字幕视频 | 精品国产乱码久久久久久天美 | 日韩理论电影网 | www最近高清中文国语在线观看 | 亚洲资源在线观看 | 丁香婷婷激情国产高清秒播 | 成人精品亚洲 | 在线观看视频 | 99高清视频有精品视频 | 欧美一进一出抽搐大尺度视频 | 亚洲黄色成人网 | 午夜精品福利一区二区 | 99在线热播精品免费99热 | 精品久久久久久综合日本 | 国产成人久久精品77777 | 国产精品第54页 | 五月天婷婷综合 | 成人va天堂| 欧美日韩99| 四虎国产视频 | 天天操天天操天天操天天操天天操天天操 | 国产 日韩 欧美 在线 | 99精品热| 国产第一页在线观看 | 国内一区二区视频 | 成人黄色电影免费观看 | 国产高清福利在线 | 免费看搞黄视频网站 | 国产成人1区 | 欧美91精品久久久久国产性生爱 | 久久久久久久久久久综合 | 91麻豆传媒 | 99久久久成人国产精品 | 区一区二区三区中文字幕 | 国产精品久久久电影 | www.色五月.com| 精品一区二区免费视频 | 精品成人免费 | 久久视频一区二区 | 天堂在线一区 | 精品国产伦一区二区三区观看方式 | 特级毛片aaa | 久久av高清| 国产在线高清视频 | 国产精品亚洲综合久久 | 久久久久亚洲国产 | 婷五月激情 | 亚洲经典精品 | 天天摸夜夜添 | a午夜电影| 在线观看激情av | 天天操天天干天天操天天干 | 日韩sese | 精品国产精品久久一区免费式 | 日韩精品视频久久 | 国产五码一区 | 久久久久久久久免费视频 | 香蕉视频网站在线观看 | 91看片看淫黄大片 | 国产精品18久久久久久久网站 | 五月天天色| 久艹视频在线观看 | 91人人澡人人爽人人精品 | 午夜精品久久久久99热app | 国产精品一区一区三区 | 中文字幕色综合网 | 日韩国产精品毛片 | 免费看片网址 | 国产在线视频在线观看 | 天海翼一区二区三区免费 | 午夜精品999 | 干天天 | 国内精品视频一区二区三区八戒 | 97香蕉久久超级碰碰高清版 | 免费看精品久久片 | 狠色在线| 久久久久综合精品福利啪啪 | 久操免费视频 | 欧美日韩亚洲在线观看 | 天天做天天爱夜夜爽 | 美女视频黄免费的 | 天天爽夜夜爽精品视频婷婷 | 久久久免费观看 | 一区二区精品国产 | 欧美日韩中文字幕视频 | 成年人电影免费在线观看 | 男女视频久久久 | 91精品啪在线观看国产线免费 | 日本视频久久久 | 探花视频在线观看免费版 | 美女免费视频黄 | 久久综合操 | 午夜久久福利视频 | 91插插视频 | www中文在线 | 国产精品免费观看网站 | 久久久久久久国产精品影院 | 美女网站在线观看 | 国产成人99久久亚洲综合精品 | 玖玖综合网| 国产福利小视频在线 | 成人a大片 | 精品国产伦一区二区三区免费 | japanesexxxxfreehd乱熟 | 最新久久免费视频 | 国产一级免费在线观看 | 视频一区二区视频 | 在线电影中文字幕 | 久久婷婷综合激情 | 天天操夜夜看 | 超碰人人做| 九色视频网 | 精品国精品自拍自在线 | 日韩系列 | 国模精品一区二区三区 | 日本91在线| 欧美另类人妖 | 操操操av | 肉色欧美久久久久久久免费看 | 青草视频在线 | 久久精品牌麻豆国产大山 | 精品一二三区视频 | 久久久国产精品成人免费 | 国产成人三级三级三级97 | 国产精品观看在线亚洲人成网 | 最新精品国产 | 国产日韩在线视频 | 2019中文最近的2019中文在线 | 久久爱资源网 | 亚洲欧洲一级 | 超碰成人免费电影 | 亚洲综合色播 | 成人h在线| 黄色成人在线网站 | 婷婷 中文字幕 | 99免费看片| 91人人射 | 在线午夜av | 韩国av一区二区三区 | 丁香电影小说免费视频观看 | 最近2019中文免费高清视频观看www99 | 日韩欧美在线中文字幕 | 欧美一性一交一乱 | 国产一二区精品 | 欧美色图东方 | 中文字幕电影高清在线观看 | 国产不卡精品视频 | 亚洲一级片av | 免费视频二区 | 日韩乱码在线 | 999久久国产精品免费观看网站 | 一区二区三区国产欧美 | 在线中文字幕观看 | 在线观看av网站 | 波多野结衣一区二区三区中文字幕 | 欧美久久久久久久久久 | 国产精品日韩久久久久 | 97在线视频免费播放 | 日韩欧美电影 | 日韩系列 | 久久久久免费视频 | 午夜久久久影院 | 亚洲国产天堂av | 国产伦理精品一区二区 | 成人毛片100免费观看 | 亚洲一级影院 | 免费a现在观看 | 成人亚洲综合 | 国产在线一区观看 | 天天爱天天操天天干 | 国产在线a视频 | 午夜精品久久一牛影视 | 日本一区二区免费在线观看 | 日韩av中文在线 | 中文字幕在线观 | 丁香综合网| 久久综合久久综合九色 | 午夜18视频在线观看 | 久草在线久草在线2 | 一区二区视频在线观看免费 | 久久综合天天 | 国产精品 国产精品 | 日韩在线免费电影 | 男女视频91 | 日韩在线视频二区 | 精品国产三级a∨在线欧美 免费一级片在线观看 | 国产麻豆精品免费视频 | 国产乱码精品一区二区三区介绍 | 免费午夜av | 天天草天天 | 日本xxxx裸体xxxx17 | 一二三区在线 | 正在播放日韩 | 亚洲激情综合网 | 91九色蝌蚪| 久久精品国产精品 | 国产麻豆精品传媒av国产下载 | 少妇性bbb搡bbb爽爽爽欧美 | 日韩动态视频 | 久久成人免费 | 国产91精品久久久久 | 日韩高清毛片 | 国产精品久久久久久久久久99 | 99riav1国产精品视频 | 国产久草在线 | 欧美精品九九99久久 | 在线三级播放 | 99精彩视频| 色综合久久综合 | 中文字幕国内精品 | 婷婷激情在线 | 在线免费高清 | 日韩精品一区二区三区免费视频观看 | 蜜臀av性久久久久蜜臀aⅴ流畅 | 日韩欧美在线视频一区二区 | 人人讲| 天天干天天干天天干 | 日韩在线观看中文 | 亚洲影院色 | 天天操天天舔天天干 | 国产精品视频地址 | 久久精品这里热有精品 | 成人免费在线观看av | 欧美在线日韩在线 | 美女黄久久 | 国产精品一区二区三区在线看 | 亚洲精品视频免费在线观看 | 久久网页 | www.伊人色.com | 欧美激情视频一二区 | 色福利网 | 国产精品专区h在线观看 | 免费观看mv大片高清 | 亚洲国产中文字幕 | 成人久久18免费网站图片 | 天天综合在线观看 | 99久久精品免费看国产一区二区三区 | 欧美在线不卡一区 | 午夜久久久久久久久久影院 | 免费91麻豆精品国产自产在线观看 | 日韩特级毛片 | 六月丁香综合网 | 日韩午夜精品福利 | 欧美高清视频不卡网 | 天天做天天爱夜夜爽 | www.天天色 | www色片 | 久久伦理 | 九九在线精品视频 | 国产视频丨精品|在线观看 国产精品久久久久久久久久久久午夜 | 91精品国自产在线 | 在线观看久久久久久 | 国产一区二区在线免费 | 精品久久久精品 | 亚洲视频在线看 | 亚洲成人黄色在线观看 | 爱爱av网| 亚洲精品国产欧美在线观看 | 少妇bbb搡bbbb搡bbbb | 日韩av中文字幕在线免费观看 | 久久不见久久见免费影院 | 亚洲a网| 蜜臀久久99精品久久久久久网站 | 中文字幕在线视频网站 | 国产午夜精品视频 | 欧美精品色| 亚洲精品乱码久久久久久9色 | 91精品国产92久久久久 | 麻豆91精品 | 久久免费国产精品1 | 狠狠久久婷婷 | 日本久久久亚洲精品 | 91亚瑟视频 | 久久午夜色播影院免费高清 | 久久免费国产 | 免费在线精品视频 | 三级黄色免费 | 久久精品国产一区二区三 | 亚洲片在线 | 制服丝袜亚洲 | 天天射日 | 国产一级片在线播放 | 欧美一级免费在线 | 久久露脸国产精品 | 欧美日韩精品网站 | 黄色的网站免费看 | 天天艹天天 | 97超在线 | 久久综合九色综合久久久精品综合 | 欧美午夜理伦三级在线观看 | 天干啦夜天干天干在线线 | 久久草av | 国产高h视频 | 视频91在线| 五月开心六月伊人色婷婷 | 中文在线a天堂 | 亚洲精品国产精品国自产观看 | 日本精品视频在线播放 | 国产成人福利在线 | 人人要人人澡人人爽人人dvd | 国产免费影院 | 久久久黄色av | 激情开心站 | 亚洲精品国产日韩 | 国产精品系列在线观看 | 玖玖玖在线观看 | 夜色在线资源 | 91亚洲精品乱码久久久久久蜜桃 | 1024手机基地在线观看 | av电影亚洲| 精品亚洲va在线va天堂资源站 | 狠狠操91 | 97国产 | 狠狠狠色狠狠色综合 |