日韩精品一区二区三区在线视频放-无码中文字幕V?一区二区-成年片免费观看视频-国内少妇人妻丰满av-国产精品中文字幕免费观看-亚洲成人久久一区二区三区-国内少妇偷人精品视频无缓冲-一区二区国产精品日本一区二区三区在线网

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
返回資訊列表
伊人久大| 无码人妻丰满热妇又大又粗| 欧美午夜视频| 六月天婷婷| 99在线精品观看视频中文| 天天爱天天操| 欧美性爱视频免费一区一A| 亚洲天堂2020| 色偷偷2020免费视频播放| 精品.99999| 久久久亚洲欧美综合| 天天综合官网| 天天综合91入口| 熟女AV一区| 116美女午夜| 色视频蜜乳| 亚洲无码一区成人免费午夜| 色踪合AV| 成人热久久精品| 在线性黄高清免费视频| 亚洲 欧美 手机在线观看| 97色色色| 精品国产99999| 欧美少妇高潮久久91| 日韩一区二区精品视频| 狠狠操狠狠插| 2020国产精品| www久久99| caoni国产亚洲av| 久久精品国产亚洲5555| 久久三区四区| 七月丁香婷婷| 97免费视频在线观看| 激情文学小说一区二区| 91色爽欧美| 久久夜色一区二区| 中文字幕第95页| 四季AV一区二区凹凸精品小说| 91人妻超碰| 五月婷婷激情综合| 亚洲AV成人无码一区二区三区在线观看 | 青娱乐蜜桃臀AV色婷| 欧美在线官网| 97视频观看| 一区二区精品更新提醒| 亚洲高清内射| 精品视频专区| 91爰爱欧美| 亚州再线| 日本五十路在线| 日韩精品操少妇| 99re只有精品| 国产视频小说| 欧美最大综合网| 国产精品69久久久久孕妇欧美| 日韩精品9区| 国偷自 一区| 久久一本大香蕉| 性爱欧美五月| 精品女同一区| 人人妻人人澡人人爽久久av| 热99这里有精品综合久久| 翔田千里AV无码秘 三区| 搡老女人老91妇女老熟女| 91久久久久久久久18| 久久久久久久唑| 日韩欧美性爱电影在线观看| 欧美不卡二区| 无码 黑人一区二区三区| 欧美色91| 国产精品日韩在线一区| 亚洲午夜福利在线影院| 亚洲日本韩国极品一区二区| 青青草白白色| 欧美碰碰综合色| 亚洲成人激情小说视频| 欧美熟女操屄| 骚逼自拍99| 天天干18禁| 人人看人人插| 天天干,夜夜爽| 国产白领连续中出在线观看| 伊人久久亚洲色欲综合网站 | 高清无码一区二区三区| 婷婷丁香五月激情啪啪| 美女91在线观看| 91欧美经典| 69XX一中文字幕人妻91| 成人看片网站| 9997se| 色爱天堂| 亚洲av无码成人精品国产| 无码人妻丰满熟妇奶水区毛片| 男人久久精品| 日韩综合无码一区久久92| 国产一进一出视频网站| 91 手机在线播放 绯色| 久久综合久色欧美综合狠狠| 激情天天视频| 精品人妻一区二区三区-国产| 午夜AV污污污| 亚洲色图尤物视频| 欧美精品四区| 久久 精品| 91色堂| 99激情视频| 艳尻美人妻| 国产熟妇 码视频户外直播 | 欧美日韩国内不卡| 亚洲视频小说| 美女91AV| 骚逼高潮久久精品| 久久久三区二区一区| ji熟女.com| 五月天婷婷成人网| 毛片99-全集电影手机免费观看完整-B029AV | 91色人| 久久午夜鲁丝片| 手机看片1024你懂的国产| 亚洲色图欧美另类在线| 亚洲精品欧洲色| 大香蕉黄色一区| 日本不卡一区二区三区| 亚洲熟女性高潮久久久| 国产精品动态一区二区三区四四| 久久九九视频九九视频| 中文字幕超碰CAO| 精品综合久久久久久五月天| 亚洲欧美日韩有码| 日韩簧片免费看| 色爱综合网欧美| 国产白丝精品在线观看| 亚洲情色婷婷五月天| 日本男人天堂| 91大胆欧美| 男人天堂新在线| 色女女女导航| 中文字幕人妻资源在线| 久久国产视频专区一二三| 丁香七月婷婷| 天天综合网~91| 欧美日韩99| 在线二区不卡| 殴美,日韩国产伦精品| 免费AV中文网在线观看| 四季AV综合网址| 国产二区三区免费视频| 国产成自自拍在线观看| 太久视频| 亚洲色图日韩丝袜制服一区二区五月在线| 亚洲国产欧美中文永久| 欧美精品黑人猛交高潮| 先锋音影AV| 99久国产精品午夜性色福利| 97玖玖人妻| 95自拍视频在线观看| 曰韩香蕉97| 综合网色| 操逼逼一区视频| 福利一级版子| wwwss在线观看| 无码外流操逼视频| 2017,超碰| 精品v1区| 免费人成?大片在线播放| 精品久久久久综合无码| 天天做天天爱天天爽AV| 日本肉体xxxx裸交| 国产精品不卡av免费在线观看| 性色一线| 大香网伊人久久综合| 亚洲色欧美| 天美传媒av在线| 超碰人人妻| 91九色蝌蚪在线观看| 精品人妻视频一区二区在线播放 | 亚州色交| 综合熟女| 欧美另类综合久久| 2010男人的天堂| 高清肉丝中文无码| 天天操天天插| 免费操逼91| 亚洲第2页| 青草地一本线一区二区三区| 亚洲极品| 亚洲精品三| 操逼天美3区| 亚洲丝袜制服国产91_国语字幕免费观看完整版下载第5集_ | 激情第四色| 国产真乱mangent| 亚洲一区中文字幕| 粉嫩久久久极品| 人人天天欧洲| 亚洲天堂无码| 乱伦1色页| 日韩成人性日韩成人性爱视频在线免费观看| 福利一级版子| 日韩ab网| 蜜臀99999| 25国产精品免费观看| 欧美激情性爱视频网站| 国产精品操| 亚洲性感丝袜诱惑在线观看| 91女网站| 久久久久久久久久久97| 欧日韩不卡视.频| 亚洲成熟国产精品美女| 成人性爱av.com| 亚洲春色欧美激情自拍| 1769一区| 人人操人人摸avav| 免费超碰97在线观看| 色色毛片| 四虎国产精品永久入口| 我爱操| 亚州熟妇精品| 中文字幕一区二区三四五区日日骚| 97WW精品| 欧美日韩国产中文精品字幕自在自线, | 丰满人妻-区二区三区免费看 | 91高跟美女在线播放| 99re这里只有精品3| 99自拍视频在线| 色婷婷小说| 欧美午夜视频免费观看| 亚欧性爱无码| 国内自拍 日韩激情 99| 午夜福利免费精品视频| 中文字幕精品一区欧美| 极品尤物女神在线观看| 九九色综合| 久久久com| 啪一啪免费视频| 欧美操逼熟女| 丰满少妇一区二区三区专区| 九九英色视频| 激情小说激情视频| 亚洲综合在线第一页| 亚洲97超碰| 91操操操操| 亚洲精品国产熟女| 在线无码操| 乱伦熟女区| 日韩精品一二三四| 亚洲激情天堂网| 欧美性天天影院| 欧美性色欧美| 欧美不卡在线一区二区| 一区二区影院| 欧美日日夜夜| 久久精品电影| 国产在线激情| 思思久热在线精品66| 国产亚洲精品农村妇女| 丁香五月天社区| 日本美女性生活久久久久久久| 丰满人妻一区二区三区在线| 免费看国产大AB| 久久97精品久久久久久久不卡| 亚洲欧美日韩偷拍色图| 99精品欧美一区二区三区桃色| 国产精品秘 福利姬在线观看| 国产欧美一级在线观看| 日韩一区二区熟女| 偷拍亚洲视频一区二区三区四区| 日韩一二三区| 国产 码在线成人网站| 亚洲av总站| 国产又大又粗又长视频| 国产精品国产精品国产| 亚洲色色探花| 欧美最婬乱婬爆婬性视频| 伦在线97| 老司机福利青青草| 久久99午夜精品一区人妻| 蜜桃久久一区二区三区| 青青草白白色| 超碰97久久| 亚洲欧美中文日韩视频中国语| 天天香香欲综合| 亚州黄站| 国产精品久久久久久久久久梁医生| 无码抄逼网| 玖玖综合色| 中文字幕一品色图| 艹少妇网站| 四虎影视在线| av毛片aaaaa免费看| 国产 日韩 欧美 人妻 熟女 中文| 综合网欧| 超碰97人妻免费在线| 五月婷婷色| 久欲AV| 福利操逼| 日本精品九九九| 亚洲欧美高清| 精彩视频日韩| 思思热国产高清| 九九Av| 另类图片五月天| 一类无码操逼视频| 亚洲精品蜜桃久久久一区二区三区| 久草电影网| 一类无码操逼视频| 欧美在线l亚洲| 99av| 天美av在线观看| 最新制服中文第一页| av资源在线观看少妇| 欧美人人天天网| 综合五月婷婷亚洲一区| 丝袜狠狠草尤物 91| 日本色日夜干| 97免费视频网| 99e久久国产精品| 精品97久久综合| 无码不卡八戒| 久久精品夜色国产亚洲AV| 综合久久9| 加勒比大香蕉视频在线| 97狠狠| 美女超碰978| а√天堂资源官网在线资源| 中国黑人三级片网站上区| 久久久久99精品成人片蜜臀| 自拍大香蕉乱插| 91丝袜人妻| 九九热最新| 中文字幕三四区| 亚洲男人天堂网久久| 豆花视频操逼网址| 加勒比久久av| 伊人亚洲国产一成人久久精品,久久| 日韩十八禁| 欧美九九爱| 国产强奸乱伦欧美| 五十路人妻在线| 91操人| 天美传媒婬乱在| 大奶尤物鲍汁淫荡欧美视频粉嫩夜夜骚| 无码人妻一区二区三区色欲aⅴ| 老熟女中文字幕高清| 久草免费在线一区二区| 国产高清成人免费视频| 国产丸一视频| 综合婷婷| 国产熟女免费观看久久| 精品欧美乱码久| 欧美熟女妇同| 26uuu欧美| 亚洲成人在线高清| 天天天肏屄肏屄肏屄欧美欧美| 97久精品| 91欧美| 午夜精品久久一区二区| 一二三区视频在线观看| 超碰国产情侣自拍网| 国产精品黄色三级av| 东京太热男人的天堂久久久| 女人的天堂大香蕉网| 日本三级黄页| 成人福利视频网| 天天干人人看综合| 中文字幕av一区二区三区人妻少妇| 中文字幕 人妻不满 在线视频| 久久精品欧美一区二区三区不卡| 夜夜嗨一区二区三区直播内容| 色诱avtt| 九九热免费国产视频婷婷伊人五月 | 欧美色色人| 青娱乐 成人娱乐在线| 黄片免费久久久久久久| 国产丝袜欧美在线视频| 欧美日韩亚洲天堂| 91搞逼视频| 欧美翘臀视频网站一区二区三区| 熟妇激情| 四月丁香婷婷| 91美女在线精品视频| 日韩图区 偷拍| 久久天天艹| 99久久99久久免费精品蜜臀| 欧美综合亚洲| 91色综合色| 91网站18在线| 蘋果手機免費看成人Av| 曰本精品久久久| 女优视频第10页| 综合欧美激情网| 老司机天天操| 可免费观看的av毛片中日美韩| 色婷婷日韩精品一区二区三区| 中国小夫妻勾搭露脸淫荡对白| 亚洲熟女国产综合另类| 久久精品性| 天天干天天狼在线视频| 国产精品无码av嫩草| 亚洲一区二区三区不卡国产欧美| 久操网无码在线| A一区片| 无码人妻精品一区二区三区99不卡| 亚洲欧美不卡线| 啪啪自拍九九综合| 精品视频一区二区| 大色综合| 国产传媒午夜理伦精品| 1人人看人人摸人人操| 欧洲黄色网| 超碰成人公开| 亚洲成人久久一区二区| 国产日本久久免费精品| 婷婷久草| 97综合在线观看| 久久极品伊人| 91电影色诱| 天天操人人操骚逼网站| 夜夜操夜夜高潮夜夜爽国产精品区| 免费超碰97久久| 日韩天天综合| 欧美性爱精品七区| 啪啪啪综合| 91人妻人人澡人人爽人人精品| 九久9精品| 国产女人视频三四五区| 18禁中文字幕| 在线另类| 中文字幕片| 少妇99| 日日不卡av| 久久久禁| 综合色好色| 亚洲无线码欧洲精品区别| 风流老熟女一区二区三区l| 伊人五月天| 区一在线观看| 男人的天堂2000| 亚洲熟女乱综合一区二区在线-...亚洲国产日韩欧美一区二区三区,久久久久久精 | 欧美久久婷| x97av| 精品91日日夜夜超清资源| 97资源久久| 亚洲 欧美 色图| 伊人丁香五月婷婷| 天天肏夜夜肏| 熟妇人妻一区二区三在线| 全国男人天堂网| 东京热毛片177b2viP| 美国一区二区三区视频| 精品人妻一区二区三区-国产精品 一个人在线看的黄色电影网站 | 国产18精品亚洲精品| 蜜桃成人1区2区3区| 99999这里都精品| 国产在线综合网| 日日碰狠狠添天天爽超| 一本一首道人妻少妇免费久久| 搡老女人老91妇女老熟女| 国产精品久久久久久久久久梁医生| 欧亚性爱视频免费看| 日本熟人妻中文字幕在线|...久久国产精品-国产精品_日本一区二区三区中文字幕 | 国产精品 午夜福利| 色亚洲欧美| 精品无码久久久久久久杏吧| 五月丁香婷婷色| 欧美精品三区| 八戒午夜福利理论片| 操人无码| 正宗无毛一线天嫩逼| 久久av一级av少妇av高潮 | 男人天堂网手机版婷婷| 国产精品久久久久久久久久梁医生| 亚洲黄色a级片| 91激情网| 国模无码人体一区二区三| 欧美 亚洲 制服 精品| 精品国产乱码久久久久久免费| 91视频综合| 91狠| 亚洲欧美洲综合| 亚洲AV无码乱码在线观看性色| 五月天加勒比啪| 天天懆天天日| 麻豆国产原创AV色哟哟 | 欧美狠狠| 懂色综合久久久| 男人天堂资源| 人人爽天天爽| 亚洲欧美国产va在线播放频| 日韩二三区| 青娱乐福利99| 91久久18禁| 人人做天天爱| 久热99999| 日本道久久综合色色| 我爱操| 综合激情婷婷| 欧美综合网在线| 红杏大香蕉| 国产中文日韩欧美一区二区三区人妻丝袜美腿 | 91痴汉| 人人操AV| 亚洲综合第一页| 99999精品成人| 人人做天天爱| 香蕉免费一区二区三区不读| 精品一区二区综合熟妇| 久久久久久久久女黄| 五月丁香六月激情综合| 凹凸视频在线一区二区| 欧亚久久偷拍视频| 欧美亚洲素人制服精品| 女上位精品在线| 久操大香蕉手机视频在线看| 2020中文字幕在线观看| 开心六月色| 天堂俺去俺来也www久久婷婷| 俞拍自拍| 日本精品一区三区| 免费一级特黄特色大片在线观看看| av草草在线电影| 国产麻豆一级精品视频| 秋霞Av理论一级在线| 综合色拍| 色婷婷综合久久久久中文国产精品一区中文字幕,国产福利电影一区二区三区 | 丰满岳乱妇一区二区三区| 国产蜜臀在线| 日本加靬比网站发布页| 国产AV高清AV无码| av网站国产主播在线| 久久久久久久久久久久九| 狠狠穞A片一區二區三區| 日本国产欧美一区三区二区| 国产乱码精品久久久久久| 九九碰九九爱97超碰| 88xx成人精品视频| 超碰97综合在线| 97久久免费| 欧美男人一区| 日韩一区二区高清在线观看的| AV色女综合| 97视频900| 欧美亚洲综合色| 在线看片国产精品每日更新| 婷色五月| 免费av在线播放二区| 夜夜欢天天干| 国产精品电| 日韩 欧美 校园一区| 另类小说五月天| 欧美性爱视频免费一区一A| 性九九九九九九| 91精品国久久久久久无码| 蜜桃久久一区二区三区| 综合一区中亚洲国产成人综合精品| 岛园激情| 欧美专区17页| 在线亚洲丝袜视频网站| 日本伦理一区二区| 91性高潮久久久久久久久| 91av熟女人妻| 秋霞Av理论一级在线| 亚91网| 超碰在线综合97| 欧美性综合| 熟女人妻av在线资源,黄色的资源| 国人欧美精品一区二区| 思思热一热婷婷热一热| 久久毛卡| 乱子伦一区二区三区国产精品| 伊人影院日本| 日本 情色 1区2区3区| 日本三级大片| 高清国产成人无码| 色色色色电影网| 中文字幕日韩国产传媒欧美精品| 香一区二区三区| 熟女高潮精品一区二区| 激激五月| 亚洲综合色图欧美| 五月婷婷综合在线| 婷婷五月色| 国产第12页| 欧美第五页| 啊啊啊用力在线观看| www色色色com| 婷婷五月天补不补| 久久夜黄色无码A级大片| 久久九九视频九九视频| 亚洲成av人片色午夜乱码| 人妻-91porn| 国产一区96在线| 一个人在线看的黄色电影网站| 亚州色国| 九九无码| 可以在线观看AV的网站| 五月花婷婷| 精品美女少妇一区二区三区| aV中文麻| 天天草夜夜草高潮片| 亚洲导航深夜福利| 爆乳免费黄网站| 国产久久久久影院老熟女| 青青五月天| 国产极品美女高潮无套在线观看| 国产成人资源| 日韩欧美久久婷婷网站| 天天操天天射天天日| 日本国产成人亚洲精品无码| 中文字幕78| 国产精品人妻免费精品| 蜜臀av在线播放一区二区三区| 裸体女人草逼视频播放一区,二区,三区,四区,五区 | 淫穴高潮色图| 日本操逼aaaaa| 久久久久久精品免费看A级| 久久中日麻豆| 九九九热| 久久人妻97久久久久久久| 91成人无码| 在线国产一区二区av| 性色乱AV一区二区| 超碰97欧美| 性色一线| 精品久久久久久无码| 亚洲AV乱码专区国产噜噜亚洲| 精品日日人妻| 99激情| 欧美丝袜美女电影一二三四区| 色综合91好| 又大又长又爽| 欧美色亚洲| 黄色二级片网站| 在线观看成人性爱免费小视频| 自拍盗摄一区| 天天色,天天干,天天干| 东京热毛片调教| 国产无吗在线播放| 亚洲日韩熟女人妻高清在线| 青青操狠狠撩| 精品视频在线观看| 国产性爱欧美性爱在线| 国产无马视频| 青青草这里只有精品| 九九久久久九九| 亚洲 欧美 偷拍 唯美| 少妇专区一二三四五| 99精品久久久久久久婷婷蜜桃| 玖玖爱一区在线| 婷婷五月天激情网| 青娱乐休闲视频在线观看| 亚洲免费97免费| 欧美久久伊人| 国产多人在线观看视频| 一本色道久久综合亚洲二区三区| 久久久9视频| 婷婷五月天激情网| 翔田千里AⅤHD无码| 77国产精品| 久7色| 婷婷色综合| 91综合在线| 亚洲欧美天| 久久精品免视看国产成人﹣蜜臀av一区. 久久精品免视看国产成人,蜜臀av一区 | 亚洲色棕合| 精品国产久久乱码| 蜜屁Av| 97人人爱人人做人人乐| 91neishe| 麻豆人妻精品一区二区| 欧洲色| 人妻少妇色综合| 欧美色偷拍 | 亚洲九月丁香| 熟女被操视频网址| 亚洲AV无码黄色强奸| 亚洲精品日日夜夜52| 台湾成人无码AV| 久久精品午夜国产亚洲AV无码| 蜜臀久久99精品久久久久| 天天干18禁| 亚洲日韩97| 久久天堂| 国产色图乱伦| 色色色欧美| 无码伊人久久大杳蕉中文无码| 家庭乱伦网站国产| 丰满人妻一区二区三区大胸懂色| 永久免费发布性爱网| 精品国产一区二区三区香蕉欧美| 人妻中文字幕日韩电影| 亚洲色综合| 欧美激情视频一区二区三区不卡| 欧美A√综合网| 欧美97av| 人妻少妇被猛烈进入中| 婷婷99狠狠| 色97| 97中文字幕一区| av毛片aaaaa免费看| 亚洲αv一区二区三区| 性爱久久| 亚洲熟女乱熟乱熟妇综合网二区| 骚熟女AV网| 久久亚洲中文字幕视频| 亚洲精品无码少妇久久| 青久操| 综合久久少妇中文字幕| 一区二区三区机械有限公司| 91超级碰碰| 91伊人久久在线| 神马久久免费电影观看| 九九精品99| 手机av天堂久久久久| 久操| aⅴ日韩成人电影av在线免费看av大全 | 操操逼操操逼操操逼逼| 超碰在线99| 日韩久射综合| 久久九色| 四虎影视精品| 欧洲熟妇xxXx欧美老妇裸体| 欧美成人国产精品| 精品国产乱码久久久久久口爆网站 | 精品一二三区女同 | 中国操逼无码| 人妻啊啊人妻啊啊| 国产精品扒开腿做爽爽爽视频| 丁香五月天激情综合| 天天操福利视频综合网站| 伊人五月天激情| AV色五月| 欧美v日韩欧亚洲电影天堂色诱,国产传媒| 欧美78| 在线国产福利网址导航| 久久久久网站-538在线视频-欧美永久乱码| 久久精品国产欧美日韩亚洲欧美日韩中文久久国产一区 | 亚洲成人一区二区精品| 乱欲性色| 强奸乱亚洲| 尤物av网站免费在线播放| 天堂涩涩| 日本三级中国三级99人妇网站| 色色青青久久| 激情色色| 日本性爱欧美性爱| 久久久久9999精品九九九| 婷婷丁香五月天综合东京热| 国产精品一二三| 国产又粗又又黄又猛| 亚洲 日本 国产 综合| 亚91网| 99xav| 色综合九九| 国产在线强奸视频| 欧美亚洲韩国视频十五区 | 久草精品国产蜜臀| 99色| 色五月婷婷久久| 亚洲精品成人激情在线| 人人操人人摸人人看人人干| 尤物视频视频官网| 婷婷午夜清品久久久久久久性色视频观| 亚洲成av人片色午夜乱码| 中文字幕五月婷婷免费| av网站免费看| 9美女超碰在线免费观看| 欧美图片偷拍| 色婷婷五月天| 最新av网站在线观看| 中文字幕97| 在线播放欧洲免费av| 丝袜狂射91| 91人妻久久久久久久久久久久久| 亚洲网自拍| 亚洲大色堂| 色偷综合| 麻豆一区二区AV天美| 97在线播放| 国产一区二区在线看| 91操熟女视频| 午夜精品久久99蜜桃的功能章节| 久草精品一区| 国产精品另类| 免费人成毛片乱码| 18啪啪手机免费性爱| 曰韩中文人妻视频| se吧提供91精品国产91久久久久久| 色视频蜜乳| 国产黄色av大片网站 | 另类在线| 色www精品视频在线观看| 91欧洲入口| 欧美极品| 最新的亚洲无吗| 顶级丝袜熟女一区二区三区 | 天天综合网久久ww| 日韩欧美天堂| 91精品人| 日本精品高清一二区一本到| 人妻系列无码专区中文有码| 国产操操日韩三级黄| 乱伦熟女区| 少妇与黑人高潮在线| 久久精品国产99久久,亚洲日韩久久日本一区一区三区 | 人人看人人插| 欧美偷拍区| www.99视频| 久久不卡一区二区| 久久精品电影在线| 浪人综合网| 久久av色| 欧美日韩国产一区二区小黄片大全| 91色婷婷综合久久中文字幕二区| GVH-003 母子姦 青木玲-麻豆视频,麻豆视传媒短视频网站入口,麻豆视传媒官网直 | 手机不卡视频不卡在线一二三区| 亚洲中文sv| 91动漫操逼视频| 日韩欧美中文字| 国内毛片无遮挡国产| 亚洲五月丁香花狠狠干一区二区三区| 91无摭挡| 超碰成人免费| 亚洲欧美97√| 成人午夜无码视频| 熟妇色99| 国产怡红院| 中日韩一区二区三区欧美| 又黄又爽在线观看视频| 亚洲熟女乱综合一区二区在线-...亚洲国产日韩欧美一区二区三区,久久久久久精 | 91 刺激在线| 男女国产精品| 蜜奶av| 伊人五月天婷婷| 二三四区精品| 国产尹人在线视频免费| 久久蜜色情在线视频xxx免费观看| 蜜臀久久99精品久久久久久无删减 | 大学生美女口爆| 久久综合女优| 国产无码精品成人| 9999亚洲精品| 亚洲砖码砖专无区2023| 亚洲天天更新| 国产第11页| 久久99精品视频| 亚洲欧美首页| 天天综合网AV91| 狠日操| 丝袜AV一区二区三区| 一二三啪啪专区| 日韩性爱毛片操骚逼| 欧美色91| 看看小穴| 日韩啪啪网| 夜夜操青青草| 欧美亚洲系列| 麻豆国产成人精品| 色色色色网站| 欧美色性爱| 日本淫乱女一区二区三区视频| av东京热男人的天堂| 91美乳| 欧美大香蕉专区网| 操逼大黄片| 搡老女人911熟妇老熟女| 人人澡人人澡人人| 清清草影| 78久久久| 亚洲美女色图| 日韩人妻精品久久久久| 久热这里| 婷婷色在线| 超碰成人免费| 99中出在线| 日日夜夜骚| 91五月天| 亚洲双插| 一本色道久久综合狠狠操| 欧美激情色婷婷花野真衣一区二区| 怡红院怡春院| 日本一天色道久久久精品视频| 蜜桃精久三区| 欧美国产伊人久久久久| 丁香五月影院| 91天堂色男人的天堂| 国产精品久久久久无码AV会牛| 殴美牲| 国产精品盗摄 偷窥盗摄| 亚州综合色| 可免费观看的av毛片中日美韩| 丰满人妻区一区二区三| 色在线视频导航| 黄色在线网站| 亚洲成人免费在线| 亚洲av总站| 欧美色偷拍| 后入福利视频| 张柏芝国产一区在线观看| 国产av强奸美女| 99re这里只有精品中心播放| 九九九九精品一区| 欧美v日韩v亚洲v最新在线| 清纯唯美亚洲综合| 久久香蕉综合一本到3atv| 午夜激情床戏激情| 大香蕉性欧美| 人妻一区二区三区视频| 婷婷六月色| 97精品中文字幕| 天天躁日日躁成人字幕aⅴ| 噜噜在线| 中文字幕-区二区三区四区视频中国| 91九九九吃| 国内亚洲高清无码| 97av在线视频| 天天综合~91| 午夜一级免费毛片| 中文字幕天天天天天| 肉丝中文无码高清| 国产亚洲精品av一区| 亚州综合电影| 国产精品久久久久久亚洲色欲| www色色com| 91老熟女91老女人| 国产 亚洲 丝袜 制服| 国产老熟女| 91精品久久久久| 97色婷婷| 国色综合天| 欧美夜夜狠| 亚洲天堂一区| 大香蕉在线视频重口味毛片在线| 成人av毛片在线观看| 四虎免费看黄| 性爱乱伦一区| 九七色图| 超碰人妻中文在线| 亚洲aV性爱| 国产一区二区二区按摩精品啪视频| 国产欧美日韩女同性恋ww喷水精品| 亚洲黄色电影| 狠狠色狠狠色狠狠五月| 中国和日本人色哪个不下载能放| 色综合婷婷| 日韩成人无码| 欲色啪| 夜夜操天| 99久久久无码国产精品性男| 久久超碰日韩精品| 婷色五月天| 九九久久一区二区伦理| AV中文字幕三四五| 亚洲精品 大香蕉| 国产精品白丝| 色原狠狠天天天| 综合91网| 日韩国产十八禁| 秋霞曰韩R级| 色综合国产在线观看| 亚洲 欧美 日本 国内 首页| 久久精品一区| 天天摸,夜夜摸| 日韩成人大片在线观看| 国产精品网址| 精品国产一区二区三区四区在线看| 日本Suv精品一区二区| 99后入| 久久精品国产久精国产| 操91| 欧美极品女人的天堂| 久久九色| 女同性恋久久| 亚洲综合一区二区| 自怕偷自怕亚洲精品| 精品无码一区二区三区色欲| 欧洲综合色| 热热色91| 家庭乱伦麻豆| 人人做,人人操,人人摸| 欧美自拍偷拍综合图片| 超碰无码加勒比| 又粗又长又爽在线观看| 国产男人又猛又粗又爽| 五月天社区| 中文字幕啊啊啊在线观看视频| 亚洲最大无码中文字幕网站| 日本精品高清一二区一本到| 国产日韩在线播放| 欧美综合站| 青青草日本中文字幕| 天天在线91| 欧美亚洲天堂| 国产www色在线观看| 超碰国产精品无码| 色婷网| 色婷婷成人综合| 碰超人人在线一区二区三区| 黑人性欧美| 最新亚洲黄色免费电影| www.黄色在线| 青娱乐av在线| 东北老熟女| 亚洲国产97| 超清福利精品视频在线| 久色网| 97一区二区三区视频| 久久精品无码熟妇一区二区三区视频导航 | 伊人9| 奇米四色影视777久久久| 人人操AV| 视频在线97| 91操人| 亚洲黄色网址| 中文字幕99999| 九九九九九九九精品视频| 99热精品国产| 色在线综合| av天堂影视中文在字幕在线中文| 色狠狠综合| 天美av在线| 亚洲国产高清福利视频| 亚洲限制级| 少妇一级婬片免费放一级a性色.| 久久伊人五月天| 精品免费囯产一区二区三区| 久久产精品一区二区三区电影| 性爱边摸边日免费AV| 婷婷另类小说| 黄色电影观看久久9| 四虎884a| 成人亚欧免费视频| 亚州高清av| 国产黄色影片在线观看| 天天天肏屄肏屄肏屄欧美欧美| 国产精品永久免费10000| 少妇高潮99p| 乱伦一二三区| 亚洲日产专区婷婷| 久久久久国产一区二| 亚洲深夜福利| 久久久久久久久久久97| 天天色天天干天天射| 久久久久国产精品人妻aⅴ天堂| 日本福利二区视频| 深爱伊人影院| 成人精品视频一区二区| 亚洲成人日韩小说| 性欧美999| 日韩99神马视频片| 亚洲成?V人片在线观看福利| 99无码狠狠久久| 9长久久精品| 久久久91福利姬| 亚欧美天堂在线| 97人人射| 成人免费福利在线观看| 久久久青草青青国产亚洲免观精品高清完整版_97久久综合区小说区图片区,国精品 | 丰满人妻一区| 日韩久久超碰色| 免费黄色A片| 东京热视频网| 亚洲色图91| 欧美激情1区| 啊啊啊操死我了| 久久亚洲色图中文字幕| 黄片无码在线制服| 久久久久久亚洲中文| 久久超碰97| 99夜夜操| 91一区二匹| 九九九九久久久久| 猛猛干| 亚洲日韩美女丝袜美腿人妻视频| 色97综合中文字幕| 亚洲人人夜夜澡人人爽| 九草九九九| 玖玖爱伊人玖玖爱| 亚洲素人综合| 国产久久久9999| 亚洲、日韩、综合、另类| 久久久工口| 91在线色综合| 欧美AB在线观看| 麻豆性爱视频在线播放| 超碰97玖玖爱| 蜜桃精品视频一区二区三区| 97色涩| 色路综合| 免费看黄片现成| 日韩欧美中文字幕搭讪巨乳美人妻视频| 天天操福利视频综合网站| 亚洲97超碰| 色色福利| 2011国产精品| 日韩精品影视| 91亚洲电影| 日本视频在线观看污污污| 91狠狠综合久久久久久| 超碰 另类 欧美| 亚州精品人妻一二三区| 啊啊啊想要| 亚洲欧美日韩精品久| 天堂日本亚洲欧美| 久久久久久久久久久久97 | 久久大香蕉97| 极品欧美一区二区三区| 免费在线黄片视频| 精品一区二区3区| 91麻豆天美国产| 一本色道熟妇| 国产精品一区二区 尿失禁| 91色爽欧美| 青春草莓视频在线观看网址| 婷婷久热| 吉川爱美亚洲二区在线 | 丝袜美腿91| 国产家庭乱伦网址| 啊啊啊啊二区好大| 中文字幕一区二区三区高清| 久久999久| 色就色综合| 亚州九九九精品视频| 日本性爱少妇| 亚洲中字慕不卡| 天天操夜夜操| 日本中文字幕不卡视频| 超碰 av 女人天堂| 无码免费在线观看黄色片| 一区二区三区成人 | 好吊爽好吊爽在线视频,中文字幕精品一区二区日本,国产良妇出轨视频在线观看, | 午夜精品久久久久久久久久久久久 | www国产精品| 国产极品999| 国产AV激情无码久久无码 | 插入综合网| 麻豆天美传媒毛片| 蜜桃精品视频一区| 色九九综合| 秋霞网—男女啪啪亚洲免费体验区 | 亚洲欧洲色情高清| 日本污ww视频网站| 亚洲精品免费中文字幕| 国产精品亚洲四五区在线观看| 亚洲αv一区二区三区| 日韩兔费看黄片| 欧美高潮| 丝袜喷水在线| 夜夜操天| 2018色综合天天操| 精品人妻av在线播放| 中文字幕视频二区| 日本中文字幕一区| 免费农村成人少妇人妻Aa一区二区视频 | 唯美清纯 妖精视频| 五月天婷婷欧美三区| 熟女突然公开看18禁影片| 狼狼色丁香久久婷婷综合五月| 日本久久女同性恋视频| 青青草日韩免费观看高清在线| 91精品人妻一区二区三区蜜桃臀|