亚洲有码Av一区二区三区_国产高清啪啪免费视频_69色视频国产_国产成人人人爆出白浆_国产精品自在线拍国_一本久久伊人热热精品无码_午夜性刺激在线看免费带字幕_助力高品质欧美狂喷水_亚洲精品日韩无码_精品无码一区二区三区蜜臀_麻豆高清国产AV_熟妇人素无码中文字幕_亚洲a级片在线观看_国产欧美日韩三区_99国产成人高清在线观看

ARTICLE DETAIL

資訊詳情

深耕商務建站與企業(yè)官網運營的一線實戰(zhàn)洞察。

RK3588邊緣AI視覺:基于DMA-BUF的零拷貝跨進程通信實戰(zhàn)

RK3588邊緣AI視覺:基于DMA-BUF的零拷貝跨進程通信實戰(zhàn) 在RK3588上做邊緣AI視覺真正讓人頭疼的往往不是模型跑多快而是數(shù)據從攝像頭到NPU、再到硬編碼和RTSP推流這一路上究竟被memcpy搬了多少次。很多教程只教你怎么在板子上把YOLOv8的demo跑起來可真正做產品時采集、推理、編碼往往是三個進程幀數(shù)據如果隔著socket和共享內存來回拷貝4K分辨率下光是搬數(shù)據就能吃掉好幾個毫秒CPU占用也壓不下去。這篇文章想和你聊聊在RK3588架構下怎么做零拷貝跨進程通信把視頻幀的整個生命周期都留在DMA-BUF里讓多個進程和NPU、VPU、RGA這些硬件模塊直接引用同一塊物理內存而不是你搬給我、我搬給他。這套方法也是邊緣AI視覺工程化繞不開的一環(huán)。不管你是準備把采集、AI推理、硬編碼拆成獨立進程還是想優(yōu)化現(xiàn)有項目的幀率瓶頸下面這套基于DMA-BUF加SCM_RIGHTS的方案都能直接參考。我盡量把原理、代碼、踩坑細節(jié)都寫透。1. 為什么需要零拷貝跨進程通信先算清楚拷貝這筆賬1.1 邊緣AI視覺典型的數(shù)據流和它真正的開銷在哪先還原一個典型場景。一塊RK3588板卡上做實時視頻監(jiān)控或邊緣計算盒子通常會有這么幾個角色采集進程負責從MIPI CSI或USB攝像頭拿圖像走Rockchip的rockit或V4L2框架AI進程負責跑NPU推理常見的是YOLOv8或者各種檢測分類模型編碼進程負責把處理后的畫面交給MPP硬編碼成H.264/H.265再走RTSP推給客戶端另外可能還有一個業(yè)務進程負責疊加OSD、保存錄像之類。如果按照最樸素的做法采集進程拿到一幀圖像后先把數(shù)據從內核buffer拷到用戶態(tài)內存然后通過socket發(fā)給AI進程AI進程再拷到自己內存跑完模型后再拷一次發(fā)給編碼進程編碼進程為了把數(shù)據交給硬件編碼器可能還要再拷一次。這條路走下來一幀4K NV12圖像數(shù)據量大約12MB拷三到四次什么概念RK3588的A76大核跑memcpy理想情況能到4到6GB/s左右但實際受DDR頻率、cache狀態(tài)、內存是否對齊影響往往打折扣。一幀4K大約12MB單次memcpy耗時大概2到4毫秒。算上socket收發(fā)過程中內核緩沖區(qū)的那幾次搬運一幀畫面光是數(shù)據搬運就吃掉6到15毫秒。如果跑30fps幀預算33毫秒拷貝占了三分之一甚至接近一半這還沒算模型推理和編碼的時間。多路視頻時這個開銷還會成倍往上翻。1.2 多進程還是多線程怎么選更合理有人會問既然進程間傳數(shù)據這么麻煩為什么不把所有邏輯塞進一個進程用多線程加指針直接共享內存天然零拷貝這個問題的標準答案是看你做的是demo還是產品。demo當然可以全塞一個進程但真實產品里采集、AI、編碼往往來自不同的SDKRockchip的RKMPP、rockit和RKNN runtime對資源的管理方式不同錯誤處理和崩潰影響范圍也不一樣。多線程單一進程的好處是共享數(shù)據簡單壞處是一個模塊崩了整條流水線跟著崩權限也難隔離。采集進程可能需要訪問攝像頭設備節(jié)點AI進程其實沒必要拿那么高的權限拆開之后可以單獨降權、單獨重啟這對邊緣盒子的穩(wěn)定性和可維護性是很重要的。所以很多RK3588上的商業(yè)方案都會選擇多進程架構把攝像頭上層、AI業(yè)務、編碼推流分開部署。既然選了多進程跨進程傳輸大塊圖像數(shù)據就是一個必須解決的問題而且必須高效。1.3 “共享內存”不等于“零拷貝”別被概念騙了不少人在這一步會陷入一個誤區(qū)用POSIX共享內存shm_open加mmap兩個進程不就能直接讀寫同一塊內存了嗎這算不算零拷貝算也不完全算。shm_open拿到的是一塊普通匿名內存CPU可以直接訪問沒錯但NPU、VPU、RGA這些硬件模塊訪問內存需要內核驅動拿到這塊內存的物理地址信息把它映射進IOMMU或做DMA映射。普通共享內存沒有這個機制硬件不認。所以即便你用shm共享了一塊內存最后為了讓硬編碼器能讀這幀數(shù)據還是得把數(shù)據從shm內存拷貝到MPP分配的硬件可訪問buffer里白白多一次搬運。真正的方案是讓整條數(shù)據鏈路都建立在DMA-BUF之上。DMA-BUF導出的fd同時具備兩個能力用戶態(tài)可以mmap訪問硬件驅動也能通過它拿到物理內存的訪問權。RGA、VPU、NPU、ISP這些驅動全都認這個fd。這才是“零拷貝”跨進程通信的地基。2. 兩塊基石DMA-BUF 和 SCM_RIGHTS2.1 DMA-BUF 到底是什么為什么硬件都認它DMA-BUF是Linux內核里一個標準的buffer共享機制??梢赃@樣理解一個DMA-BUF對象代表一塊“能被硬件訪問的物理內存”。它由某個exporter設備創(chuàng)建然后通過fd的形式把這塊內存的訪問權分享給其他設備或進程。每個拿到fd的進程都能通過mmap把同一塊物理內存映射到自己的虛擬地址空間每個硬件驅動也能從fd那里拿到內核態(tài)的sg_table完成DMA映射。打個比方DMA-BUF fd就像一張圖書館的借書卡。大家拿著同一張卡借同一本書而不是每次有人要看就去復印一份再遞過去。書只有一本放在圖書館固定的書架上誰借誰來看。在RK3588平臺上最常用的分配接口是DMA-BUF heaps。內核啟動后一般能看到這樣的節(jié)點ls /dev/dma_heap/常見的有system、system-uncached、linux,cma等。不同開發(fā)板、不同內核版本節(jié)點名會有差異有些老SDK還是用的/dev/ion。如果你想確認當前平臺支持哪些堆直接看這個目錄最靠譜。正點原子、香橙派這類開發(fā)板廠商的內核配置不太一樣節(jié)點名和權限都要以實際為準。2.2 RK3588上常見buffer來源攝像頭、MPP、自分配具體到一條邊緣AI視覺鏈路DMA-BUF fd通常有三個來源。第一個來源是攝像頭采集。Rockchip的rockit框架或者V4L2配合rkcif/rkisp驅動導出的采集buffer本身就是DMA-BUF fd。比如你通過V4L2申請一組用于采集的bufferVIDIOC_REQBUFS之后用VIDIOC_QUERYBUF拿到的fd就是可以傳給下游的DMA-BUF fd。第二個來源是MPP的編解碼buffer。用MPP做硬編碼或硬解時通過mpp_buffer_get拿到的buffer本質上也是基于DMA-BUF分配的可以通過mpp_buffer_get_fd把fd取出來傳給其他進程。第三個來源是自分配。你想要一塊不屬于任何采集或編碼器、純粹用于進程間共享的buffer時可以直接懟dma-heap#include fcntl.h #include sys/ioctl.h #include sys/mman.h #include unistd.h #include linux/dma-heap.h int heap_fd open(/dev/dma_heap/system-uncached, O_RDWR); if (heap_fd 0) { perror(open dma_heap); return -1; } struct dma_heap_allocation_data data {0}; data.len size; // 建議按4096向上對齊 data.fd_flags O_CLOEXEC | O_RDWR; if (ioctl(heap_fd, DMA_HEAP_IOCTL_ALLOC, data) 0) { perror(DMA_HEAP_IOCTL_ALLOC); close(heap_fd); return -1; } close(heap_fd); int buffer_fd data.fd; void *ptr mmap(NULL, size, PROT_READ | PROT_WRITE, MAP_SHARED, buffer_fd, 0);這里有個點要提醒如果這塊內存主要是給硬件設備讀、CPU不經常碰優(yōu)先選uncached的堆如果進程本身要用CPU頻繁讀寫又希望硬件訪問時一致那就需要處理cache同步后面會單獨講。2.3 SCM_RIGHTS把fd“快遞”給另一個進程有了DMA-BUF fd下一個問題很直接fd只是一個整數(shù)這個整數(shù)在進程A里指向某塊buffer進程B里隨便傳一個數(shù)字過去內核可不會認為它有效因為每個進程的文件描述符表是獨立的。所以需要一種內核幫你“打開文件引用”的機制這就是Unix domain socket上的SCM_RIGHTS輔助消息。本質上是讓內核從發(fā)送進程的fd表里取出對應的struct file復制一份引用安裝到接收進程的fd表里然后返回一個新的fd整數(shù)給接收進程。發(fā)送方和接收方各自持有的fd指向同一個內核對象DMA-BUF引用計數(shù)會相應增加生命周期由雙方共同維護。發(fā)送端的核心代碼#include sys/socket.h #include sys/types.h void send_fd(int sockfd, int fd_to_send) { struct msghdr msg {0}; char buf[1] {F}; struct iovec io { .iov_base buf, .iov_len sizeof(buf), }; char cmsg_buf[CMSG_SPACE(sizeof(int))]; msg.msg_iov io; msg.msg_iovlen 1; msg.msg_control cmsg_buf; msg.msg_controllen sizeof(cmsg_buf); struct cmsghdr *cmsg CMSG_FIRSTHDR(msg); cmsg-cmsg_level SOL_SOCKET; cmsg-cmsg_type SCM_RIGHTS; cmsg-cmsg_len CMSG_LEN(sizeof(int)); memcpy(CMSG_DATA(cmsg), fd_to_send, sizeof(int)); if (sendmsg(sockfd, msg, 0) 0) { perror(sendmsg); } }接收端的核心代碼int recv_fd(int sockfd) { struct msghdr msg {0}; char buf[1]; struct iovec io { .iov_base buf, .iov_len sizeof(buf), }; char cmsg_buf[CMSG_SPACE(sizeof(int))]; msg.msg_iov io; msg.msg_iovlen 1; msg.msg_control cmsg_buf; msg.msg_controllen sizeof(cmsg_buf); if (recvmsg(sockfd, msg, 0) 0) { perror(recvmsg); return -1; } struct cmsghdr *cmsg CMSG_FIRSTHDR(msg); if (!cmsg || cmsg-cmsg_type ! SCM_RIGHTS) { return -1; } int received_fd; memcpy(received_fd, CMSG_DATA(cmsg), sizeof(int)); return received_fd; }注意SCM_RIGHTS要求socket必須是Unix domain socket也就是AF_UNIX本地回環(huán)TCP可不行。還有一點輔助數(shù)據必須伴隨著至少一個字節(jié)的普通數(shù)據一起發(fā)送也就是說msg_iov里不能真的為空。3. 動手實現(xiàn)一套可復用的零拷貝幀傳輸模塊3.1 總體設計預分配緩沖區(qū)池控制通道到了實際操作層面我并不建議誰需要哪個buffer就現(xiàn)場分配一個那會帶來兩個問題一是運行期頻繁分配和釋放DMA-BUF容易產生碎片二是在多進程、多路視頻并發(fā)時內存使用不可控。更穩(wěn)妥的做法是預分配一個緩沖區(qū)池。啟動階段一次性分配N塊固定大小的DMA-BUF整條生命周期內都別釋放等系統(tǒng)退出時統(tǒng)一清理。進程間傳輸?shù)钠鋵嵅皇恰皵?shù)據”而是一個“token”這個token里有buffer索引、frame_id、寬高、時間戳這些元信息再加上對應的DMA-BUF fd。緩沖區(qū)池的狀態(tài)管理可以設計成這樣的結構#define MAX_FRAME_BUFFERS 8 struct frame_buffer_desc { int fd; // 生產者持有的fd size_t size; // 緩沖區(qū)大小 uint64_t frame_id; // 幀序號 uint32_t width; uint32_t height; uint32_t stride; uint32_t format; int state; // 0空閑 1已填充待消費 2消費中 3可回收 uint64_t timestamp; };這個狀態(tài)數(shù)組可以放在一塊單獨的共享內存頁里進程之間通過原子變量或者簡單的一個自旋鎖來修改。實際項目中我用過兩種狀態(tài)同步方式。一種是“生產者不等消費者”的丟幀策略。生產者每幀都去找空閑buffer找不到就直接丟幀用最新幀覆蓋策略或跳過這一幀。這種方式采集進程永遠不會被阻塞適合對實時性要求高的場景代價是極端情況下會丟幀。另一種是“消費完成通知”的回收策略。消費者處理完一幀后通過socket或者共享狀態(tài)把buffer標記為空閑。生產者只有拿到空閑標記才能復用這塊內存。這樣能保證每幀都被完整處理代價是如果消費者處理太慢生產者會被拖住。我的建議是如果是視頻監(jiān)控這類流水線任務選丟幀策略更合理。寧可偶發(fā)丟幀也別讓采集線程卡死。3.2 生產者端分配、填充、發(fā)布生產者進程的任務是把采集到的一幀數(shù)據灌進DMA-BUF然后把fd和幀描述信息發(fā)出去。整套流程大概是啟動階段通過dma-heap分配一大塊buffer池按幀大小切分成N塊每塊對應一個fd然后mmap到自己的用戶態(tài)虛擬地址空間。每來一幀攝像頭數(shù)據從buffer池里挑一個空閑buffer。把圖像數(shù)據填進去。這里有個關鍵選擇如果采集buffer本身就是DMA-BUF fd最好的辦法是直接把采集buffer的fd發(fā)給下游連獨立buffer池都不需要。但實際工程中采集和AI往往需要解耦AI進程可能還要做格式轉換、多路幀緩存所以獨立pool更常見。填充動作可以用CPU memcpy也可以用RGA做硬件搬運。后者不占CPU是更“零拷貝”的做法。更新幀描述信息包括frame_id、寬高、時間戳。通過Unix domain socket把frame_id作為普通數(shù)據、fd作為輔助數(shù)據一起發(fā)送。發(fā)送消息時可以打包一個小的協(xié)議頭struct frame_msg { uint32_t buffer_index; uint32_t format; uint32_t width; uint32_t height; uint32_t stride; uint64_t frame_id; uint64_t timestamp; };然后發(fā)送時普通數(shù)據就是frame_msg輔助數(shù)據要附帶的fd就是當前buffer的fd。接收方拿到的fd和發(fā)送方的fd指向同一個DMA-BUF對象。3.3 消費者端接收、映射、使用、歸還消費者進程這邊的流程是在socket上recvmsg同時拿到frame_msg和繼承來的fd。檢查這個fd是否已經mmap過。如果進程里維護一個“fd到虛擬地址”的映射表發(fā)現(xiàn)同一個DMA-BUF已經映射過就直接復用地址不用反復mmap/munmap。這一步能省不少系統(tǒng)調用。拿到指針之后交給后續(xù)模塊。如果是AI進程就喂給RKNN如果是編碼進程就導入給MPP。處理完畢把buffer狀態(tài)標記為可回收或者通過socket回一個ack給生產者。消費者mmap的邏輯很簡單int received_fd recv_fd(sockfd); // 假設已經有buffer元信息 void *mapped mmap(NULL, frame_size, PROT_READ | PROT_WRITE, MAP_SHARED, received_fd, 0); if (mapped MAP_FAILED) { perror(mmap dma-buf in consumer); } // 使用 mapped 指向的圖像數(shù)據這里有個經驗如果buffer池是預分配的消費者最好也按“buffer索引”來緩存mmap結果。第一次收到某個索引的fd時map一次之后同一索引復用。這樣既省了mmap/munmap的開銷也避免了fd反復打開關閉帶來的引用計數(shù)管理混亂。3.4 與RKNN、RGA、MPP對接的關鍵接口零拷貝的價值只有在和硬件模塊對接時才真正體現(xiàn)出來。否則你就算用DMA-BUF傳了半天fd最后在AI進程里還是把數(shù)據memcpy到普通內存再喂給RKNN那就沒意義了。對接RKNN時核心思路是讓NPU直接訪問這塊DMA-BUF而不是經過用戶態(tài)指針中轉。RKNN SDK通常提供從外部fd創(chuàng)建內存的方法類似#include rknn_api.h rknn_tensor_mem *external_mem NULL; // fd 就是我們從socket里收到的DMA-BUF fd // virt_addr 是mmap后的虛擬地址size 是buffer大小 rknn_create_mem_from_fd(ctx, fd, virt_addr, size, external_mem);然后推理時把external_mem塞進輸入tensor的內存指針。這樣NPU做DMA讀取時直接訪問的是物理內存不需要CPU先把數(shù)據從某個用戶態(tài)地址拷貝到NPU可達的buffer。具體函數(shù)簽名會隨SDK版本略有差異但大方向就是這樣。對接RGA時RK的RGA庫librga或im2d支持直接導入fd做格式轉換和縮放。比如AI進程要把NV12轉成RGB同時縮放到模型輸入尺寸可以走RGA硬件#include im2d.h #include rga.h rga_buffer_t src wrapbuffer_fd_t(fd, width, height, RK_FORMAT_NV12); rga_buffer_t dst wrapbuffer_fd_t(dst_fd, dst_w, dst_h, RK_FORMAT_RGB888); imresize(src, dst);wrapbuffer_fd_t這種接口就是讓RGA驅動通過fd訪問源和目標內存整個過程CPU不參與像素搬運。對接MPP硬編碼時MPP也支持從外部fd導入buffer#include mpp_buffer.h MppBuffer enc_buf NULL; // fd 是共享的DMA-BUF fd mpp_buffer_import(NULL, enc_buf, fd);導入之后就能把這份buffer當普通MppBuffer喂給編碼通道。編碼出的H.264/H.265碼流拿去做RTSP推流這就是我們常說的“基于RK3588硬編碼的實時視頻監(jiān)控系統(tǒng)”。所以完整鏈路可以是這樣的采集進程輸出DMA-BUF fdNV12→ 零拷貝IPC傳給AI進程 → 通過rknn_create_mem_from_fd交給NPU跑YOLOv8 → 推理結果通過RGA畫框/轉格式 → 再把fd傳給編碼進程 →mpp_buffer_import導入MPP硬編碼 → 碼流走RTSP推出去。整個過程里CPU沒有參與任何一幀像素數(shù)據的搬移。4. 真實項目中的坑RK3588上最常踩的五個問題4.1 花屏、亂幀的深層原因cache一致性和對齊很多人第一次把跨進程零拷貝鏈路跑通后會看到畫面時而正常、時而花屏或者模型推理結果偶爾不對又查不出代碼邏輯漏洞。這種情況十有八九是cache一致性問題。如果生產者用CPU往一塊cached的DMA-BUF里寫數(shù)據寫完直接發(fā)給NPU或VPU硬件DMA讀取時可能拿到的是還沒寫回內存的臟cache數(shù)據。解決辦法有這么幾條一是分配buffer時直接用uncached堆例如/dev/dma_heap/system-uncached。代價是CPU訪問這塊內存的性能會明顯下降所以只適合“CPU不怎么碰數(shù)據”的鏈路。二是保留cached堆但在關鍵位置主動做sync。用戶態(tài)可以通過DMA_BUF_IOCTL_SYNC告訴內核在硬件訪問前把cache刷回內存struct dma_buf_sync sync {0}; sync.flags DMA_BUF_SYNC_START | DMA_BUF_SYNC_RW; ioctl(buffer_fd, DMA_BUF_IOCTL_SYNC, sync); // CPU 讀寫這塊 buffer sync.flags DMA_BUF_SYNC_END | DMA_BUF_SYNC_RW; ioctl(buffer_fd, DMA_BUF_IOCTL_SYNC, sync);三是讓整條鏈路盡量使用采集或MPP導出的buffer因為這些buffer在驅動層已經把同步處理好了用戶態(tài)不太需要操心。只有自己分配、自己用CPU填充時才需要注意這個坑。還有一類花屏和cache無關純粹是對齊問題。RGA、VPU、NPU對buffer的起始地址和大小都有對齊要求一般建議按2MB或1MB對齊至少也要按64字節(jié)對齊。分配時可以讓size ALIGN(frame_size, 4096)再用一個ALIGN_UP宏把所有寬高參數(shù)按硬件要求的stride對齊。4.2 幀串號和丟幀緩沖區(qū)復用管理另一個高頻問題是幀號錯亂?,F(xiàn)象是消費者收到的frame_id順序不對或者畫面內容是上一幀的時間戳卻是這一幀的。這多半是因為生產者把同一塊buffer發(fā)出去兩次或者消費者還在讀某塊buffer生產者就把它重新填充并再次發(fā)布了。解決思路很直接buffer狀態(tài)機必須嚴格??臻ebuffer只能被生產者拿到消費者處理完必須顯式標記為可回收中間不能跳狀態(tài)。我踩過的一個坑是為了省事生產者發(fā)完fd就立刻把buffer狀態(tài)改成空閑結果消費者還沒讀完下一幀數(shù)據已經覆寫進來了。后來改成消費者處理完通過共享內存標記回收生產者只從“已回收”狀態(tài)的buffer里挑問題就消失了。4.3 fd生命周期和內存泄漏fd生命周期問題是零拷貝鏈路里隱藏最深的一類bug。SCM_RIGHTS傳遞fd后發(fā)送端和接收端各自都有一個fd指向同一個DMA-BUF。如果發(fā)送端在sendmsg之后直接close沒有別的影響因為接收端持有的fd已經增加了引用計數(shù)。但如果你兩邊都close了而mmap還在DMA-BUF仍然不會釋放因為mmap本身也持有引用。反過來說如果接收端用完fd直接close又忘了munmap就會內存泄漏。長時間運行的邊緣設備這種泄漏積累到最后會致命。我的建議是每個進程維護一張“buffer索引到虛擬地址”的映射表mmap一次后不隨便munmapfd在mmap成功后也可以立即close掉因為mmap已經持有引用。等整個會話結束統(tǒng)一munmap所有映射再統(tǒng)一close所有殘留fd。這樣管理起來清爽得多。4.4 內核沒有DMA-BUF節(jié)點或者權限被限制新版RK3588 SDK基本都支持/dev/dma_heap但有些老SDK或者定制內核只有/dev/ion或者兩個節(jié)點都沒有。拿到新板子第一件事就是檢查這些節(jié)點ls -l /dev/dma_heap/ 2/dev/null || ls -l /dev/ion 2/dev/null如果節(jié)點不存在大概率是內核配置里沒開CONFIG_DMABUF_HEAPS或者DTS里沒有使能對應的heap。這時候要么改內核配置重新編譯要么就只能退回MPP的mpp_buffer_get這類封裝接口。如果改完內核發(fā)現(xiàn)系統(tǒng)起不來也別糾結RK3588開發(fā)板刷機很快recovery或maskrom模式下用USB Type-C連電腦就能裝回來。還有權限問題。容器化部署邊緣盒子時/dev/dma_heap下的節(jié)點不會自動映射進容器必須在docker run時手動加--device /dev/dma_heap:/dev/dma_heap否則容器里open必然失敗。4.5 常見錯誤速查表現(xiàn)象可能原因排查方向另一進程mmap返回EPERM或ENOMEMfd不是真實DMA-BUF fd或權限不夠檢查SCM_RIGHTS是否真正傳成功確認socket是AF_UNIX檢查容器device映射RGA調用返回錯誤碼buffer地址或stride未對齊格式不支持分配時按64字節(jié)或更大對齊確認RGA版本支持目標格式VPU編碼畫面花屏cache未同步或stride設置和buffer實際寬度不一致加DMA_BUF_IOCTL_SYNC核對stride和width關系RKNN輸入無效或推理異常外部fd創(chuàng)建內存失敗或buffer是cached且未同步用rknn_create_mem_from_fd前確認fd可用uncached優(yōu)先幀號亂序、畫面內容錯幀buffer被過早復用狀態(tài)機不嚴嚴格“空閑→填充→發(fā)布→消費→回收”流程內存持續(xù)上漲mmap或fd未釋放用cat /proc/pid/smaps檢查映射區(qū)間清點每個buffer的映射生命周期8K或4K多路時分配失敗內存池過大或heap碎片化減小緩沖池深度或改用CMA堆5. 效果評估和性能對比這套方案到底值不值得上最后說點實際的。零拷貝跨進程通信聽起來很酷但它不是銀彈它解決的是“大塊圖像數(shù)據在進程間頻繁傳輸”這個特定問題。如果你的應用只是偶爾傳一些小的結構化數(shù)據用它反而復雜了。我整理了兩種方案的粗略對比數(shù)據來自我們RK3588板卡上的實測不同板卡、不同內存頻率會有差異思路比數(shù)值更重要。項目傳統(tǒng)socket傳整幀DMA-BUF零拷貝傳fd一幀1080p NV12傳輸額外耗時2至4ms左右含內核拷貝和用戶態(tài)拷貝小于0.1ms只傳元信息和fdCPU占用每次拷貝都會占用A76核心幾乎為零硬件DMA直讀是否適合多路視頻4路以上CPU占用吃緊多路時依然能保持低CPU負載實現(xiàn)復雜度簡單但低效需要設計buffer池和狀態(tài)機和RKNN/MPP/RGA對接需要額外拷貝到硬件可訪問buffer直接導fd無縫對接如果你跑的是單路1080p30fps的簡單demo傳統(tǒng)socket方式也許夠用CPU多花幾個點沒什么感覺。但一旦跨到4路1080p或者4K60fps拷貝開銷會成倍放大這時零拷貝就不是優(yōu)化項而是剛需。就算自身業(yè)務暫時用不到多進程我個人也建議在RK3588上做視覺方案時一開始就把幀傳輸通路設計成基于DMA-BUF的形式。后面無論是想把AI推理獨立成進程、還是加一路硬編碼推流改動都會小很多不至于推倒重來。這也是我在RK3588架構上做邊緣AI視覺項目后期體會最深的一點數(shù)據通路的設計比一開始用的模型大小、算力預算更值得花時間提前規(guī)劃。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
国产suv精品一区| 加勒比大香蕉视频在线| AV女资源| 欧美91网站| 久久ww| 日韩精品免费高清视频在线| 国产精品久久久 | 青草一区二区| 亚洲激情欧美色图| 亚洲熟女乱综合一区二区三区 | 超碰九7免费| 天天超级碰碰碰| 日本少妇va7777| 99久久久久| 熟女乱伦A| 日本韩高清无砖码22o| 夜夜精品视频一区二区| 动漫av中文| 久久久蜜桃一区二区三区| 久草国产在线视频| 五月激情视频| 久久五月综合| 亚洲日韩精品在线播放| 手机看片1024你懂的国产| 人人操人人操人人人操| AAAA欧美日韩| 亚瑟国产精品久久无码| 无码av永久免费专区网站| 中文一区二区三区影院| 偷拍综合网| 97久久超碰日韩精品| 2020中文字幕在线| 亚洲图片视频小说| 久久久久久免费电影| 久草精品视频| 中文字幕av一区二区三区人妻少妇| 国产AV天美| 国产视频一区二区三区久久亚洲天堂| 欧美综合加勒比在线| 综合激情五月天| a在线视频免费观看| 精品偷拍13p欧美dodk视频| 中文字幕在线观看永久| 久久性爱精品一区| 在线国产福利网址导航| 国产精品色片一区二区| 国产亚州高清国产拍精| 日韩人妻一区二区精品| 亚洲日韩一区电影| 欧洲综合视频| 久久爽爽精品| Aa东京男人的天堂| 欧美色网络| 麻豆91熟妇人妻中文字幕茄子| 大茄子熟女AV导航| 国产对白刺激视频| 亚洲高清无码在线桃色| 高清国产av无码| 一区二区娱乐网站| 宅男91视频在线播放| 欧美亚洲丝袜美女电影| 国产精品白丝www| 久热一区二区| 亚洲精品三区在线观看| 一区二区三区在线资源| 台湾肥佬网一区二区三区| 久久少妇视频| 亚洲色图A| 日韩免费看在线黄色片| 国产又粗又长又爽又色| 影音先锋一区二区在线资源| 91超碰在线观看| 亚洲不雅视频1区二区| 亚洲天堂欧美| 日亚韩精品视频二区三| 四月丁香婷婷| 综合夜夜| 99精品久久| 超碰性爱97| 麻豆一区二区三区在线看 | 国产性刺激| 97亚洲综合在线| 欧美性xxxxx狂欢| 一类无码操逼视频| 色97| 超碰97综合在线| 日韩中文字幕av在线播放| 伊人久久大香线综合无码| 欧美在线第五页| 欧美97色| 国产又操| 国产丝袜美腿美女麻豆| 91AV国产精品| 色色网91| 熟妇亚洲一区二区三区| 91国产丝袜白虎| 久久久久亚洲熟妇熟女| 久久一区无码| 欧美性色网| 极品尤物女神在线观看| 少妇一区二区三区在线观看| 婷婷人妻激情| 免费作爱一级视频| 日韩本不卡视频在线观看 | 中文字幕在线观看丝袜| 男人的天堂99| 亚洲欧美一区二区三区一猛片| 97资源超碰| 国产AV天美传媒一区二区三区| 亚洲天堂在线怕怕视频| 一区二区三区在线资源| 永久电影三级在线观看| 婷婷久久久| 蜜臀99久久精品| 日韩欧美aⅴ综合网站发布| 欧美天天综| 久久男人的天堂| 久久婷婷精品| 日逼97| 六月婷婷综合| 亚洲不雅视频1区二区| 久操视频资源站公开| 久久精9| 欧美Aⅴ| 人妻在线臀日韩| 欧美色图电影| 亚洲熟女乱综合一区二区三区| 国产成人99久久亚洲综合| 一二三四日本视频高清| 欧美色www亚洲国产阿娇要播| 欧美性猛交美女自慰91| 色在线视频导航| 视频二区美腿丝袜制服人妻欧美| 在线亚洲欧美| 色女99一级片在线观看| 蜜乳av一区二区| 性色高清在线| 无码人妻丰满热妇又大又粗| 熟女人妻精品一区二区视频| 精品人妻二区三区| 欧美少妇性爱网站| 大茄子熟女AV导航| 欧插网站| 久久久com| 91熟女丨老女人| 欧美黑人猛交春色影视大全| www.99色| 超碰 欧美| 日韩人妻少妇中文字幕| 亚洲国产午夜真人一级片中文字幕精品黄网站 | 日本熟女中文| 国产熟妇 码视频户外直播| 99热导航| 殴美性色a级欧美| 日日噜噜夜夜狠狠视频无| 亚州中文字幕超碰97| 一级特级aaaa毛片免费观看| 亚洲天堂欧美| 后入式999| 92福利社视频| 韩日性爱av| 天堂男人网| 夜夜福利| 久久国产精品91| 亚川综合视频| 亚洲狠| 校园春色亚洲无码| 青娱乐av在线| 综合一区中亚洲国产成人综合精品 | 亚洲动态色图| 亚洲系列欧美| 亚洲一区二区专区-国产丝袜精品丝袜-成人AV| 思思性爱| 国产精品亚洲无码| 射久久| 九九国产热| 99热只有| 女人双腿搬开让男人桶| 亚洲无码超碰免费| 九九热三级片| 9Ⅰ老熟女| 嗯嗯啊啊日韩精品| 69人妻精品丰满熟女区| 91欧美高清| 五月丁香社区婷婷日韩欧美精品影院 | 超碰95| 久久华人网| 夜夜操av亚洲一区二区| 大奶啊啊好爽 | 欧美亚洲丝袜美女电影| 99久久九九| 成年女人黄网站| 火箭成精品视频884必出精品| 欧美日韩婷婷中文| 操我啊啊啊啊啊| 五月丁香激情综合网| 亚洲图片色图欧美另类| 青娱乐国产剧情av一区| 久久久啊啊啊| 久草电影网| 欧美洲精品一级| 久久日本熟女精品一区| 国产不卡中文字幕免费avi| 色婷婷丁香五月| av国产无码| 人人摸人人干人人拍97| 岛国黄| 色黄污美女啪啪啪免费网站| 久久精品一区二区一8| 国产精品伦理| 亚洲熟妇一,二,三期| 精品黄色电影| 黄片免费日韩| 日本操逼aaaaa| 亚洲学生妹高清av| 韩国免费播放一级毛片| av在线播放国产一区| 加勒比综合| 思思视频免费看网站| 久久永久无码人妻视频| 呦呦影院| 五月天婷精品激情| 色五月综合网| 另类 综合 日韩 欧美 亚洲| 国产丝袜高跟美女av免费观看| 日韩丝袜高跟制服在线观看| 色老大| 97视频免费播放| 久久高潮妇女视频| 久久久久久9| 黑人免费福利视频| 日本1区2区不卡视频| 亚洲本色精品一区二区久久| 懂色av色欲av蜜臀av| 欧美性生活免费网| 久久精视频美日韩在线视频| 亚码激情| 九九热超碰97亚洲最新香蕉| 亚洲涩图欧美| 秋霞Av理论一级在线| 日韩性爱免费观看视频| 91精品久久久久久77777| 色色色五月婷婷| 五月天婷婷综合网| 伊人一区二区三区| 玖玖无码超碰| 麻豆天美91| 久久久久久人妻一区精品色欧美| 在线视频免费播放一区| 五月丁香啪| 手机午夜电影神马久久| 久久久av爱| 久久天天躁日日躁狠狠躁| 国产精品。| 欧美性综合| 色欲久久99精品久久| 欧美激情 亚洲色图| 久久久无码视频| 综合伊人激情| 一区二区久久天天干狠狠| 躁躁日曰躁2020| 自拍第一页| 神马久久久久| 国产www色在线观看| 嗯嗯嗯好爽| 2025亚洲男人天堂| 亚洲欧美清纯| 先锋色眉乱伦资源| 人妻啊啊人妻啊| 欧美性Fer办公室秘书| 91狠狠综合网| 久/久精品99看9| 亚洲综合图色在线| 神马久久久久久久| 国产乱码精品一区二区三区四川| 国产精品久久久视频| 最新9久久久9免费视频| 激情抓乳插进去啪啪啪日韩| 91精品91久久久中77777| 97在线欧洲| 麻豆一区二区AV天美| 黄色片一区二区三区四区五区| 99操碰| 久久精品免视看国产成人﹣蜜臀av一区. 久久精品免视看国产成人,蜜臀av一区 | 秋霞一集毛片观看| 婷色五月| 日韩人人精品| 久久久亚洲高清不打码| 中文字幕人妻色偷偷久久皮 | 中文字幕国产在线天堂| 男女一级A片大黄,一进一出| 日韩 女同 综合| 精品无码久久久久久久杏吧| 男人的天堂网免费| 天美91| www.超碰| 亚洲干B| 天天做日日爱夜夜爽| 日本A级视频| 人人搞人人插人人操| 国产亚洲色婷婷久久99精品91| 亚洲日韩久久精品一区| 无码外流操逼视频| 天天日美女的B| 中文字幕精品一区二区精| 天天干天天日天天射黄色| 超碰人人干天天射| 性色一线| www.亚洲黄色| 中文字幕诱惑制服人妻丝袜美丝袜美| 欧美精品xxxwww| 伊人久久大香线蕉亚洲五月天,青草青草欧美日本一区二区,欧美日产欧美日产国产 | 中文熟女五十乱码在线| 亚洲欧洲日本精品中文a∨| 日本一区三级韩国| 91在线视频国产网站| 超碰亚洲欧美日韩无| 亚洲国产成人综合碰碰三级经典| 久久久久久久久久久六六| 97在线视频观看| 久久久久久久久久久久久久久性生活视频 | 亚洲熟女一区二区| 7月婷婷综合| 综合av社区| 怡红院成人av| 国产精品视频精品一二| 欧美人体性爱互联网第一页婷婷日本| 中文字幕一区 二 区 三 四 五 区日 日 骚 | 麻豆国产96在线| 91精品网站| 色香阁在线| 丰满人妻一区二区三区| 97 九色| 国产18精品亚洲精品| 人伦四五区| 天天干少妇| 欧洲特黄毛片免费看欧洲毛片| 麻豆AV96熟妇人妻| 天天躁日日躁AAA片李宗瑞| 妇女乱色二区| 东京热一区二区三区四区五区六区| 精品无码久久久久久久杏吧| 色综合20p| 你操综合| 国产精品久久久久久片| 色与欲影视| 97 国产一区| 久久亚洲婷婷| 最新国内自拍av免费| 国产精品禁久久久精品| 韩国女主播青草福利视频| 亚洲自拍天堂| 四虎免费在线观看| 一区二区三区色综合| 色婷久久| 秋霞一级A片黄色视频| 精彩久久中文| 美腿丝袜高跟网免费视频免费视频| 国产色精品午夜大片| 后入合集| 有码色中文字幕在线观看| 免费中文在线| 狠狠操官网| 久操视频在线观看| 97日亚洲欧美| 亚洲日韩狠狠撸视频| 中文字日本乱码| 婷婷丁香六月| 国产农村一一级特黄毛片| 嫩草美女久久| 蜜臀久久99精品久久久久久| 久久中文字幕女同性恋一区| 九一综合精品视品av| a级理论午夜日本| 日日夜夜精品| 黄色香蕉视频网站一区| 日韩超碰97| 亚洲图片视频小说| 丝袜美腿射精91| 婷婷六月色| 激情五月天丁香社区| 性爱视频免费网址| 天天上日日上日韩精品| 国产伦精品| 综合欧美色图| 超碰九7免费| 97在线/亚洲| 日本五区不卡| 欧美影音在线| 偷拍色图| 日本久久久久久久久久| 极品一区二区三区免费| 国外91| 乱久久久| 涩涩久久精品| 99只有精品| 91真人天天在线| 亚洲永久永久永久永久一级一级一级精品 | aaa亚无码专区| 国产精品久久| 欧美一区二区三区互相| 在线观看成人性爱免费小视频| 日韩精品在线放| 国产一级舔足在线观看| 欧美aa一级片| 婷婷五月天激情网| 91狠狠综合久久久| 中文字幕精品一区二区精品| 五月丁香六月婷| 夜夜中出国产| 青娱乐蜜桃臀AV色婷| 久草色悠悠在线视频| 一区二区三区四区姦女| 亚洲性少妇| 色原狠狠天天天| 香蕉99秘 一区精品蜜桃臀| 国产一区二区二区按摩精品啪视频| 日韩三级伦理中文字幕| 乱伦日本色图AⅤ| 欧美精品1区2区3区| 在线播放成人网站| 美女啪欧美一区| 久久久久深夜无码| 女色综合| 久久直播国产| 色色色网站| 伊人97色天使| 久草电影网| 97亚洲综合影院| 97精品熟女少妇一区| 中文字幕性感少妇av| 黄片在线免费在线观看| 台湾佬激情综合| 骚逼一区二区| 精品人妻一区二区三区鲁大师| 99无码狠狠久久| 日韩成人无码| 91chinese在线| 熟女中出视频| 97免费视频在线| 亚洲欧洲综合成人av一区| 91超级碰碰| 三级网站超变态精品| 天天干夜夜| a'v在线资源| 久久精品国产亚洲AV高清演员表| 亚洲五月婷婷| 久久综合久色欧美综合狠狠 | 日韩一区二区精品视频| 亚洲系列欧美| 欧美传媒| av资源在线播放天堂| 欧美 亚洲 大香| 精品欧美乱码久| 强奸乱伦麻豆| 国产日韩欧美| 操逼免费视频无码国产| 日韩内射视频| 久久久性爱| 青青在线视频日韩欧美| 熟妇视频一区二区三区在线观看| 密乳AV免费观看| 成人无码在线超碰网| 国产精品熟女乱伦| 九九久久国产精品怡红院| 淫荡少妇免费| AV一起草在线| 女人天堂av在线播放| 久久九操在线观看| 超碰人妻中文在线| 97干色天堂| 亚洲激情四射| 日韩中文字幕在线视频观看| 国产Av超碰| 欧美人妻少妇| 久久久日本电影| 最新av在线| 春色校园综合网| 色播丁香| 亚欧性爱在线无码| 韩国一级婬片A片AAAAA| 干日本人少妇午夜寂寞影院| AV麻豆免费一区| 97超碰欧美中文字幕| 欧中美三级一区二区三区| av东京热男人的天堂| 亚洲情色一区三区| 久久国产视频专区一二三| 首页亚洲国产高跟丝袜诱惑视频| 色婷婷99| 亚洲九区| 午夜丁香婷婷| www.久久| 97超碰色五月| 懂色综合久久久| 日本精品一区三区| 射 色综合| 日本不卡三级网在线播放| 92福利社视频| 日韩三级久久久| 天天狠| 天堂九九九九九九九九九| 啊…啊…操我用力操我| 9/A片| 特级大荫道BBwBBwBBW| 97青青操视频| 色天堂综合| 综合91网| 亚洲影视第一页| 天天综合91入口| 一二三区视频在线观看| 亚洲精品人体| 秋霞怕怕片| 高清成年美女黄网站免费大全| 国产av又色又爽又黄| 1024人妻熟女一区二区三区| 国产精品三级视频网站| 啊…啊…操我用力操我 | 成人国产视频在线观看| 看免费的黄片| 亚洲精品人妻吞精av| 免费视频a级毛片免费视频| 日韩在线76| 国产人伦精品一区二区三区| 免费网站观看www在线观| 久久精品视频一区三区小泽玛利亚| 综合天天网| 天欧美在线| 清纯唯美激情| 日韩一级久久毛片| 天天视频网站黄| 午夜寂寞欧美| 97舔舔| 97网址97| 91少妇人妻| 亚洲va有码在线天堂| 日韩乱伦视频| 91国产丝袜足交精品视频| 日韩天天本| 美女久久久久久久久久久| 久久免费99精品久久久久久| 毛片电影一区二区三区| 欧美在线伊人色| 国产美女高潮视频| 国产黄色在线播放观看| 黄网在线播放| 97精品97| 国产老女人久久毛| 中国女人内射6XXXXX| 亚洲一区二区麻豆影院| 99re在线精品78| 国产无码三级视频在线观看| 99日韩| 久久久久密臀视频| 久久大黄片| 五月天激情视频| 粉嫩AV输入| 97综合国产| 黄色视频特级毛片| 青青伊人久久| 另类亚洲一区二区三区| 亚洲精品99| 超碰97在线中文| 26uuu国产亚洲综合| 日本在线一二| 午夜美女诱惑电源网| 超碰在线观看av不卡| 偷拍网站久久男女男| 97在线播放| 国产熟女免费观看久久| 天天综合香 ld视频| 九九热AV| 国语人妻精彩刺激| 东北熟女91| 午夜天堂啪啪| 国产AV线| 91精品女厕偷拍视频| 成年男人的天堂| 国产精品国产精品国产| 99视频精品| 美女骚尻视频| 91成人高清在线观看| 日韩欧亚太美不卡| 97亚洲精品| 思思99热| 26uuu最新| 麻豆视频test| 国产熟妇 码视频户外直播| 亚洲 欧美 91| 亚洲精品一二牛牛| 啊啊好多水| 国产精品第一区第一页| 男人天堂.AB| 人人操人人爽人人操人人| 最新AVzaixian| 国产一区二区二区按摩精品啪视频| 激激五月| 免费看片黄| 亚洲自拍一区夜夜操| 天天狠操| 亚洲男人天堂视频| www…国产操逼| 亚洲久久天堂| 人妻啊啊人妻啊| 一区二区乱码福利| 好吊色一区| 中文字幕一区二区三区字幕| 久日91在线| 激情视屏国产乱伦强奸| 婷婷激情丁香| 嗯啊免费视频| 18禁无码永久免费无限制| 色娱乐色呦呦夜夜夜夜av| 日韩性爱1级片视频| 操淫穴亚洲五月丁香 | 免费看黄视频亚洲网站| 日日AAvv| 美女刺激久久国产欧美| 999精品久久久久久久| 大香蕉手机在线视频| 超碰国产精品无码| 天天色综合影视网| 啊啊啊com| 日本三级一区二区 在线| 欧美国产操逼| 丝袜熟女2P| 一级特黄aaa大片在线观看成人一级片在线观看| 一区,二区,三区视频| 全免费a敌肛交毛片免费| 九九九九亚洲| 草久久久| 色婷婷五月综合激情中文字幕| 国产精品96久久久久久| 91成人国产综合久久精品蜜月| 婷婷五月天激情网| 中文字幕后石码四区五区| 成人在线永久| 97精品国产97久久久久久| 精品国产一区二区三区在线播出| 婷婷国产精品一区二区| 国产精品久久久777| 国内精品伊人久久久久影院会| 国内伊人久久久久久网站视频| 96免费视频在线| 男人的天堂啪啪| 26uuu性| 久 久无码人妻AV| 欧美在线|亚洲| 后入人妻一区| 天天综合91入口| 欧美呦呦性爱| 中文字幕蜜乳av| 三级色影综合网| 欧美72网页| 男人的天堂2010| 逼逼逼逼操操操操操操操操操午夜剧场| 啊啊啊啊啊啊啊啊视频| 91男人天堂网| 蜜桃精品一区二区三区ww| 国产成人精品日本视频| 欧美黑人精品在线播放| 91性色| 上床啊啊啊| 91网站18+| 日韩精品99久久久久久中文字幕 | 国产精品高清2021在线| 亚州一区二区| 天天欧美97| 九九九九97| 伊人久久久日韩一区| 青青草在线视频人人想人人上 | 国产成人自拍视频视频| 国产又黄又爽| 国产AV中文| 欧亚成人在线视频| 久久久久亚洲一区女同性恋中文字幕| 国产伦精品免编号公布| 五月丁香综合啪啪| av大香蕉| 亚洲人妻av| 岛国成人av在线播放网址| 日韩欧美午夜视频在线| 中日亚韩免费视频| 亚洲精品性爱片| 青春草莓视频在线观看网址| 国产熟女精品一区二区| 熟妇人妻丰满久久久久久久无码 | 精品国产91久久久久久一区黄无| 美女啊啊啊啊啊啊啊| 亚洲无码色| 免费看毛片操穴| 日日狠狠久久偷偷色综合免费| 天天综合精品| 久久,精品一二三| 人人天天欧洲| 老师充足的奶水小说| 中文字幕乱码人妻一区二区三区,99精品| 视频二区美腿丝袜制服人妻欧美| 色97| 热天堂一区二区| 中文字幕天天天天天| 99 国产丝袜在线| 日韩无码AB| 97视频新免费| 久久中文字幕女同性恋一区| 久肏视频字幕| 人人妻人人爽| 韩国三级色呦呦| 蜜臀一区二区三区在线 | 亚洲人成色9999精品久久| 成人婷婷丁香| 嗯嗯啊啊啊好舒服| 久9久9精品| 91激情国产| 欧美BT 亚洲色图| 综合网天天| 伊人专区一区二区三区| AV不卡在线| 婷婷伊人网| 人妻精品4K4K4K4K4| 亚洲第一二区另类图| 后入式视频国产自| 男人的天堂日韩| 色妇综合网| 欧美性爱18观看| 熟女色综合久久| 成人精品在线观看| 亚洲综合五月天| 美女淫穴| 97色香蕉| 老熟妇一区二区三区…| 99热精品在线| 中文字幕少妇色 | 狠插 制服 自拍| 丰满熟女人妻一区二区三五十一路| 欧美日韩欧美| 1级午夜影院费免区| 婷婷亚洲五月***久久| 日本91白丝| www被窝色com| 97这里只有精品| 久草国产在线视频| 色婷婷丁香五月| 99只有精品| 中出20p| 黄人人操人人操| 国产一区二区av综合| 精品.99999| 久久精品国产精品| av网站免费看| 搡老人老9丨女老熟人| 精品人妻一区二区三区-国产| 精品一国2| 一二三区操逼国产91| 亚洲精品视频在线播放| 久操在97| 日韩性爱一级片| 色婷婷导航| 亚洲天天影视色综合| www.av家庭乱伦| 精品久久視頻在线| 中文字幕精品三级久久久| 麻豆国产精品午夜视频| 嗯啊不要啊在线| 久久久性少妇| 懂色av色欲av蜜臀av| 日本999精品视频| 色噜噜狠狠色综无码久久合欧美| 黄色大香焦1级‘′‘| 婷婷色香| 亚洲自拍偷拍视频在线| 色丁香五月婷婷| 色吊丝 日日骚 清纯唯美| 色官网色综合| 玖玖爱一区在线| 国产无码久久高清| 91婷婷伊人狠人| 超碰97国产欧美| 欧美精品999| 少妇熟女视频一区二区三区| 操高情无码| 大香蕉欧美国产日韩高潮| 国产真乱mangent| 夜夜爽33333| 欧美精品庄| 激情小说五月天| 少妇的嫩逼图片| 国产女人成人精品视频| 九久久精品| 国产www色在线观看| 久久久久国产| 久久AV无码网址| av草草在线电影| 97人人超| 99999亚洲| 91 刺激在线| 超碰九7| WWW4虎| 精品人妻免费观看| 国产60区。| 亚洲国产av中文字幕久久 | 亚洲最大的综合性av| 欧美综合 站| 亚洲成?V人片在线观看福利| 中精品一区二区三区| 欧美成人午夜免费福利785| 亚洲综合射| 日韩av不卡在线观看| 国产精品69久久久久久久| 国产毛片在线| 后入式999| 丁香五月av| 日B操| 裸体1区| 国产中文字幕曰本毛片| 人人操人人精品影片| 99自拍视频在线| 婷婷综合伊人一区| oumeizonghese,www| 免费看黄片现成| 13小男生GAY自慰脱裤子| 尤物网址| 欧美日韩大陆黑人少妇99| 国产精品麻豆视频网站| 中出后入| 日本福利社| 日本在线观看网址| 激情五月天校园春色网| 国内精品久久久久影院亚洲| 97国产精选| 美女人妻色网站| 国产精品无码久久久久2028| 亚洲综人| 午夜精品99久久久久传媒| av最新免费中文字幕| 极品美女嘿咻| 亚洲AV免费在线观看| 综合影院永久入口国产| 日本最新1区2区3区| 色婷婷综合久久久久中文国产精品一区中文字幕,国产福利电影一区二区三区 | 欧美色另类| 91精品人妻一区二区三区蜜桃臀 | 亚洲 暴爽 AV人人爽日日碰| 男女激情中文字幕| 亚洲一区中文字幕一区| 操屄日韩| 校园春色 亚洲| 欲香欲色天天天综合和网| 日本123区操B视频| 黄片视频,下载| 91丝袜视频在线观看| 清清草影| 色噜噜人妻av 中文字幕| 色婷婷九月天天综合| 日韩有码中文字幕女同性恋| 欧美激情片一区二区| 亚洲色综合| 777AV电影| 98久久| 91中文字幕在线观看| 97超碰免费人人性爱| 日韩亚洲Av人人夜夜澡人人爽| 青青草好吊色| 欧美综合自拍亚洲综合图| 久久av色| 久草久热| 屌色在线97视频| 熟女乱伦A| 亚洲不卡三级手机播放| 夫妻日逼| 欧美综合天堂| 97精品网站| 伊人久久大香线蕉亚洲五月天,青草青草欧美日本一区二区,欧美日产欧美日产国产 | 四虎国产精品永久在线囯在线| 欧美后入视频| 中文字幕91综合| 大奶啊啊好爽 | 色婷婷视频| 久久黄色视频一区二区三区 | 精品久久久一本一道| 欧美论理片| 亚洲国产剧情少妇激情| 日本 欧美 亚中文字幕| 91粉嫩萝控精品福利网站_精品影音先锋国 | 国产一区二区三区中文字幕| 99久久久久| 操逼天美3区| 欧美国产精品| 欧美一区二区一级岛国大片| 97啪啪| 成年无码动漫av片无尽在线| 亚洲激情综合另类| 丰满人妻一区二区三区| 日本性一区| 欧美一区二区三区成人性生活| 91爱欧美| 热久久无毒不卡| 黄页网站成人免费| 国产97在线播放| 性感美女91影视| 美女性91| 激情欧美97| 囯产精品久久久久久久久久梁医生 | 传媒免费一区二区三区| 亚洲 欧美 小说| 国模不卡一本二本三电影| 精品176精品2| 欧美在线色| 噜噜瑟| 怡红院成人视频| 日本久久久精品电影| 亚洲综合有码| 欧美乱欲| 国产午夜在线观看视频| 国产黄片精品在线| 嫖老熟女A片一二三区| 欧美精品日韩一区二区| 一区二区日韩欧美久久| 中文字幕乱碼在线| 97国产色图 | 久久久久精| 国产又大又粗又长视频在线| 久日91在线| 蜜区区视频79 | 亚洲熟女一区| 日韩美女高潮喷水视频| 少妇蹲下买菜露大唇0| 青青操在线视频| 欧美日韩在线小说 | 男人的天堂com| 美女诱惑一区| 欧美日韩另类在线| 老司机深夜18禁污污网站| 久久超碰国产一区二区三区| 色妇综合网| 免费少妇一区二区| 久久精品亚洲成a人天堂| 25国产精品免费观看| 97视频在线免费看| 日噜夜夜夜夜夜夜夜夜夜夜爽爽爽爽爽爽爽爽爽爽爽爽 | 人人干人人搞人人摸| 欧美亚性天堂| 美日韩在线不卡人妻| 人妻天堂三区| 精品人妻中文字幕4399| 亚洲激情在线| 成人黄页| 91色插| 殴美在线AⅤ| 99操碰| 蜜臀亚洲综合一二三四区| 97久久超碰亚洲| 91一区二区三区蜜桃| 99热最新| 色天堂综合| 婷婷综合伊人一区| 韩日性爱av| 综合久久97| 久久久亚洲精品中文字幕人妻| 少妇一区二区三区| 亚洲成人无码影院| 91亚洲人电影| 伊人少妇久久久| 九九草| 欧美强奸乱| 伊人成人情色综合| 久久亚洲日韩熟女精品| 日韩99精品视频综合区| 九九热免费国产视频婷婷伊人| 日产中文字幕2020| 精品人妻视频一区二区在线播放| 亚洲不卡三级手机播放| 亚洲一区日韩| 青青操视频在线| 黄人人操人人操| 日本曲间由美性生活片| 后入式福利| 黄色AAAAAAAAAAA大片| 久久久啊啊| 怡春院久久| 做爱A级亚欧| 一区二区首页| 2017天天插| 国产激情片在线观看| 国产中文日韩欧美一区二区三区人妻丝袜美腿| 人人人干干人人干| 丝袜六区| 久久视频,这里只有精品| 免费av在线播放二区| 欧美熟妇人体| 欧美日本成人一区二区| 天天添天天干电影| 四虎av在线| 国产精点久久久成人| 99国产精品久久久在线播放| 久久成年片色大黄全免费网站| 人妻AV 中文字幕的| 激情文学小说一区二区| 亚洲成a人在线观看久| 日少妇亚洲版| 亚洲高清无毛一区二区| 91 丝袜在线| 起碰97| 99精品丰满人妻无| 久久国产在线一区二区| 亚洲、日韩、综合、另类| 日本一级特级毛片视频| 又大又黄国产| 欧美91精品国产自产| 久久久爆乳翘臀一线天伦理视频| 熟女丰满人妻一区| 热热热热日日漂亮永久永久国产日| 日韩欧美加勒比| 中文字幕 码 自拍 视频 区| 熟女精品日韩一区二区三区 | 午夜啊啊啊| 天美传媒AV在线播放| 五月婷在线| 久久亚洲日韩熟女精品| 国产日韩欧美三级片| 无码久| 亚洲欧洲日韩国产自在线| 风骚少妇视频中文字幕| 国人欧美精品一区二区| 91模特在线观看| 超碰97欧美在线| 日韩欧美大片免费高清啪啪| 1二区9| 中日韩久久久| 91在线一起| 亚洲宅男天堂| 国产美女口爆吞精视频| 天天插夜夜爽| 91精品丝袜在线观看| 97网色| 刺激性视频黄页| 亚洲 自拍偷拍 欧美| 天天日天天舔东京热| 精品偷拍13p欧美dodk视频| 九草九九九| 伊人影院综合是一个与深夜成人在线| 久久久久久久六六| 久9视频| 欧美亚洲在线| 天堂av2019| 日本不卡高清视频| 96一区二区三区| 日韩av熟女一区二区三区成人| 伊人五月天激情| 91亚洲综合在线| 亚洲少妇激情视频| 欧美一区二区三区日韩| 91啪啪| 熟妇国产免费一区| 亚洲一区二区麻豆影院| 91深夜夜| 亚洲性天堂| 人妻熟女一区二区三区在线| 免费黄色A片| 污色区网站| 色九色久| 操逼精品视频| 免费看毛片操穴| 美国一区二区三区视频| 天美传媒麻豆一区二区三区国产精| 91女神在线视频| 亚洲欧洲另类| av网站在线观看了| 爱爱啊啊啊| 九九九九九九免费视频| 伊人大香蕉在线| 成人精品在线| 日韩国产乱子伦App| 一区二区乱码福利| 婷婷久久久精品| 中出789在线视频| 婷婷久草| 无码日韩人妻av一| 日韩免费三级黄片电影| 久久久精选| 噜噜噜亚洲精品| 男人天堂一区二区| 国产CHASE男男GAYGA 毛多色婷婷| 精品九九九九| 91中文字幕在线观看| 狠操91,com| 久久偷拍人| 嗯……啊…嗯嗯…啊…好舒服| 欧美色五月| 日韩欧美字幕亚洲一区二区| 少妇厨房愉情理伦片bd在线观看| 97在线免费视频观看| 亚洲系列欧美| 好看的久久不射无码影视影院| 九色 人妻 大香蕉| 97色干| 视频分类 国内精品| 333kkkk·亚洲com久久| 国产深夜福利| 中国和日本人色哪个不下载能放| 香蕉色网| 婷婷久草| 狠色婷婷久久一区二区三区_| 精彩视频日韩| 9久精品| 大香蕉婷婷| 韩国一级婬片A片AAAAA| 伊人久久大香线蕉无码| 手机在线播放国产福利| 岛国黄片网站| 日本操逼无码| 青娱乐休闲视频在线观看| 97欧美在线| 深夜国产福利| 精品久久久久久久| 97在线免费看视频| 久久香蕉国产线看观看亚洲女人| 9久精品视频在线观看| 少妇内射www在线观看视频| 精彩国产视频播放1区2区| 久久手机视直播| 欧美色偷拍 | 超碰成人最新最好看| 粉嫩av平台| 国产色综合亚洲色综合吹潮| 国产中文字幕在线点播| 91东京热男人的天堂| 人人玩人人添人人澡免费| 亚洲一区日韩精品| 亚一综合久久久久久久久久| xxx0国产在线播放| 久久精品三级影视| 人妻在线视频| 99色在线观看| 67914亚洲精品| AV天堂丝袜| 性色中出| 后入式在线免费观看60秒| 男人天堂站| 大香蕉中文aV在线| 使劲用力艹少妇视频一区二区| 少妇500双飞99| 九九九精品一区二区无码| 一本色道久久综合狠狠操| 91欧美情色| 另类图片欧美激情综合| 91精品国产综合久久久蜜臀| 丰满岳乱妇一区二区三区| 嗯啊抽插大香蕉网页| 日本国产欧美高清在线| 亚洲啪啪性视频| 青青青操| 精品妇女一区二区三区| 欧美日韩国产男人| 桑老女人九区| 久久精品熟妇丰满人妻99| 中文字幕av亚洲精品| 久久精品日韩| 久久五月天婷婷| n1038 一二三区|