久久亚洲成a人片熟女精品色一区二区三区|国产精品视频第一精品视频|av天堂热无码手机版|亚洲?v无码久久无遮挡|国产精品偷伦视频免费观看国产|麻豆国产自产精品丰满熟妇|av无码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| 亚洲无992tv| 青青操狠狠撩| 亚洲av噜噜噜噜噜噜| 四季AV综合网址| 亚州操逼网| 亚洲精品97| 日日日骚女人精品| 夜夜一区二区| 3p国产色噜噜一区| 色翁荡息又大又硬又粗又爽| 男人的天堂网页| 日日噜噜夜夜久久亚洲一区二区 | 翔田千里爆乳巨臀无码| 超碰欧美COM| 爱干爱射网啊啊啊| 五月丁香啪啪| 福利视频一区二区微拍| 91久久久亚洲| 亚洲图片激情小说| 欧美精品系列| 精品女同一区| 日韩无码第3页| 中美日韩毛片| 很很干很很操| AV电影在线播放| 欧美综合娱乐久久| 国产日韩欧美操逼视频| 免费福利视频中文字幕| 97超碰超碰| 日韩97超碰| 久久夜精品一区二区三区| 男人的天堂2010| 成全动漫视频观看免费下载| 中文字幕三四五区| 日韩日韩日韩-国产乱码精品一区二区| 欧美性爱网97| 日影院久久婷婷夜夜网| 亚州精品丝袜-不卡成人免费| av天堂影视中文在字幕在线中文| 在免费jIzzjIzz在线视频| 国产乱伦搜索结果91P| 日韩天天综合| 久久精品国产亚洲妲己影视| 超碰人人操97碰| 日韩欧美亚洲自拍偷拍| 成人小说另类在线| 综合国产影视三级| 日韩黄片视频试看| 日韩少妇一区二区三区| 99操视频| 欧美黄色图片| 天天摸夜夜摸| 日本免费不卡二区| 香蕉免费一区二区三区不读| 玖玖爱伊人玖玖爱| 亚洲天堂男人天堂网| 97超碰超| 亚洲本色精品一区二区久久| 蜜臀久久99精品久久久| 搞中出久久| 国产99精品一区二区三区免费| 国产精品白领在线观看 | 99九九久久| A V少妇特黄三级| 九九天堂| 久久AV色| 老熟女91视频| ji熟女.com| 亚洲第一精品在线视频| 伊人久久大香大香线蕉中文| 六月婷婷色综合| 清柠毛片| 国产精品久久久久久久免牛肉蒲团| 五十路人妻在线| 欧美线天码中字| 天堂性色| 大香焦A片| 啪一啪免费视频| www.狠狠操| 岛国AV一区二区电影| 久久精品国产精品| 78精品| 一区二区三| 国产亚洲深夜激情| 激情五月天丁香社区| 香蕉在线一区二区三区| 磁力99AV| 精品福利| 秋霞蝌科网日本一区| 黄色AV影视| 精品性爱久久视频| 国产特级毛片AAAAAA高潮流水| 午夜寂寞欧美| 亚射在线| 国产传媒av天美传媒在线| 国产日韩欧美中文在线播放| 欧美激情五月天| 欧美香蕉视xxx| 欧美,日韩,中文,另类| 亚洲精品九九九| 中国一级操逼视频| 国产天天骚| 十八禁黄色| 欧美aa一级片| 欧美亚洲一区二区久久久婷精品大包诱| 天天在线91| 97香蕉网| 亚洲综合春色| 亚洲人体视频在线观看| 天天流夜夜操| 国产情色第一第二页在线观看| 91天天综合日韩欧美| 欧美性爱日韩性爱| 四虎视频在线观看| 亚洲图片欧洲图片aⅴ| 99久久无色码| 91精品91久久久中77777| 3P乱轮视频| 国产精品久久9| 人乳av| 中文字幕精品一区二区精| 女优视频第10页| 色哟哟av| 国产精品成人在线| 亚洲色电影在线| 色爱三区| 日本在线15p| 国产乱码精品一区二区三区四川| 色香综合天天影视综合 | 操b网站亚洲无码| 国产精品福利视频| 日韩成人色图| 老司机午夜精品视频| 美國A片| 97干天天| 一级AV性爱| 99综合自拍| 亚洲国产精品无码AV久久| 涩涩五月天| 99久在线精品99re8蜜桃| 中文字幕成人理论在线| 欧美se综合| 在线播放中文字幕| 伊人麻豆传媒| 欧美一区二区三区大综合| 熟女探花啪啪| 男人的亚洲天堂| 一本色道久久天天射天天干| 婷婷香蕉欧美在线一区二区三区| 东京热男人的天堂| 色香综合天天影视综合 | 久草电影网| 丁香五月天啪啪| 色欧美综合| 久操九九九九| 国产AV精久久| julia国产在线 | 欧美老妇女内射网址| 人人操我人人干| 久久精品免视看国产成人﹣蜜臀av一区. 久久精品免视看国产成人,蜜臀av一区 | 射丝袜大香蕉| 亚洲激情在线一区二区| 四虎影视国产精品| 操一区| 免费一级毛片在线视频观看| 91日韩国产欧美亚洲另类精盘州至城都| 婷婷五月在线视频| 性爱网站一区二区| 大干人妻| 超碰1024久久| 另类视频在线| 亚洲一区二区久久久久| 97伊人超碰| 激情图片亚洲色图| 99色综合| 日本一区二区成人在线| 男人天堂网站| 99热国产| 精品久久99| 可以在线观看AV的网站| 在线综合网| 久久美国毛片| 中文字幕在线观看网页| 亚洲综合色男人网| 日韩性爱视频免费在线| 日本一区二区三区午夜观看| 亚洲天堂另类| 国产丸一视频| 秋霞男人网| 激情网五月天| 中文字幕成人| 日韩精品永久在线观看| 青娱乐福利99| 97视频在线| 亚洲日韩97| 欧美天堂超碰97| 玖玖人人爱| 久草免费福利在线播放| 亚洲色系另类精品国产| 日本视频在线中文字幕| 亚洲丝袜二区在线| 国产吹潮女在线观看| 91九九九逼| 日韩一区二区精品视频| 尤物一级在线免费观看| 手机在线A片| 97超碰精品| 蜜臀Av一区二区三区| 精品人妻无码一区二区三区不卡-精品人妻无码一区二区...|精品少妇一区二区三 | 激情综合av| 色月天AV导航| 操死我干死我| 色哟哟国产精品免费网址| 久久婷婷热| 5月婷婷6月六月丁香| 91精品人妻偷情| 国产精品香蕉| 极品销魂美女一区二区| 国产黄色剧情影片麻豆免费播放| 精品九九九九| 很很操在线| 99无码狠狠久久| 日日骚中文字幕| 免费视频观看60秒| 久九九九| 亚洲熟女乱色一区二区三区| 91在线免费精品视频| 青草地一本线一区二区三区| 蜜桃网熟妇| 亚洲91综合| 一本色道久久综合狠狠操| 99re综合伊人| 色婷婷日韩精品一区二区三区| 无卡一区=区| 亚欧美综合| 色97欧美| 日韩字幕一区| 婷婷视频在线免费观看| 久久 国产精品 一区| 婷婷色综合| 亚洲情色电影网| 日本丝袜美腿人妻九九| 麻豆黄站| 久久天堂| 亚欧成人综合影院| 大屁股xxxxx| 天天操夜夜操| 操B久久| 亚州色图片在线色| 啊啊啊啊免费视频| 七月丁香婷婷| 无码黑人精品一区二区三区三| 亚欧高清v| 婷婷五月天色色| 色精品极品| 18岁禁 茉莉成人久久| 少妇人妻无码| 综合五月天| PMv在线观看| 亚州操逼图| 亚洲色综合| 欧美成不卡网| 夜夜精品视频| 可以在线观看AV的网站| 亚洲熟妇丝袜在线观看| Julia Annxxxxx| 1240青青草一区二区三区视频天爱 | 日韩探花精品在线视频| 东北女人被操| 97亚洲精品超碰| 国产精品亚洲天堂网址| 一区二区偷拍拍视频| 狠狠2050在线观看| 夜色综合| 啊v视频在线观看| 99国产天美| 伊人九九九| 收看日本人日bb| 日日干日日| 韩日精品福利视频一区不卡在线免| 97伊人超碰| 天天躁日日躁成人字幕aⅴ| 天天草天天干天天日| 国产13区| 欧美性暴力| 无遮挡猛进视频免费无限观看| 嗯……啊…嗯嗯…啊…好舒服| 国内精品99999| 九九视频黄色片| 超碰免费人人| 天美av在线| 熟女精品va中文字幕| 欧美日韩资源在线| 免费试看60秒| 大香蕉宗合网在线| 国产精品丝袜在线| 99精品无码| 极品出轨视频网站| 日韩精品视频在线观看一卡二卡| 香蕉色网| 一区二区免费电影久久| 97精品国产97久久久久久户外免费| 亚洲精品 欧美97色色| 亚洲精品无码久久AV| 黄总AV色图| 青青青国产手线观看视频2| 久久精品欧美一区蜜桃| 夫妻天天操岛国视频| 丁香五月综合| 精品久| 91ise欧美| 人爽不卡视频| 中文字幕丝袜美腿| 高清国产成人无码| 好舒服视频| 熟妇的味道HD中文字幕| 高清肉丝中文无码| 久久九九99| 午夜美女诱惑电源网| 五月天激情四射| 99久在线精品99re8蜜桃| 婷婷色色五月天| 色眯眯av| 国产福利第一视频| 超碰欧美| 久久久久久久久久久999| 国内精品a| 91艹| 欧美精品四区| 3d成人精品一区二区| 91精品婷婷国产综合久久| 国产成人自拍视频在线| 欧美天天干| 五月丁香在线| 操逼国产免费| 国产激情在线| 91色女| 日韩欧美大力操| 夜夜青青无码影院| 国色天香av| 熟女这里只有精品6| 美女诱惑在线一区| 五月婷婷基地| 岛国激情视频在线观看| 精品夜夜澡人妻无码AV| 天天享受天天看| 最新日产中文在线麻豆| 亚洲国产精品无码AV久久| 亚洲大色堂| 国产男女无套视频免费观看| 日韩精品资源专区二区| 欧日韩一二三f区| 北京专精特新企业招聘信息| 精品国产三级av韩国在线| 久久极品一区二区| 中文字幕狠狠玩| 96久久久久| 亚洲欧美一区二区不卡视频播放| 久热99| www..com操老师| 超碰碰97资源站| 影音先锋一区二区在线资源| 欧美日韩性感| 国产视频不卡在线观看| 亚洲无线码欧洲精品区别| 精品十八在线观看| 色老牛| 少妇免费视频| www.夜夜操| 99在线无码精品秘 入口黑人| 伊香蕉综合久久久久久久噜噜噜| 老熟妇一区二区三区啪啪| 日韩乱码Av| 老司机老司机午夜影院| 欧美中文字幕日韩在线| 欧洲亚洲少妇| 日日骚网站| 九九人妻| 蜜屁Av| 超碰97资源大奶| 色爱综合网| 人人考人人摸人人干| 国产呦精品系列在线观看| 午夜福利合集| 超碰97极品9| 久久久精品视频欧州站| 中文字幕人乱码中文字的预防方法| 超碰97爽| 欧美日韩人人精品| 亚洲AV无码天美传媒一区| 五月天丁香网| 日韩操人| 9l视频自拍9l九色成人| 狼人久草| 日产狠狠干| 99热| 91超碰人人| 96AV精品| 香一区二区三区| 欧美亚男人的天堂| 一区二区 电影 亚洲| 神马精品视频| 欧美一二在线| 青草视频人妻在线观看| 麻豆区久久久久亚| 色噜噜狠狠色综无码久久合欧美| 91综合网站| 91美女小视频| 亚洲图片日本AⅤ欧美在线| 情趣丝袜无码操逼视频| 亚洲国产av中文字幕久久| 自拍偷拍国产欧美日韩韩| 久综合国内精品自在自线| 激情 欧美 亚洲 小说| 日韩无码a片| 8050午夜少妇无码| 蜜臀av一区二区三区免费观看| 国产精品一二三区福利| 歐美一級亂黃99在綫精品| 免费看污网站| 日本加勒比无码专区一二三| 日本黄色精品| 免费人成毛片乱码| 操高情无码| 婷婷五月天久久久| 97色欧州| 天堂亚洲精品| 天天综合网网欲色| 国产99精品一区二区三区免费| 蜜乳AV网址| 淫妻综合网| 国产丰满少妇久久久精品影院| 91网站18+| 99无码| 99精品视频在线观看免费| 91精品女厕偷拍视频| 亚洲无码久久久久久久| 九九视品黄色| 欧美色图99| 日本操逼无码| 熟女突然公开看18禁影片| 91亚洲黑人| 99re这里| 久久αⅴ| 亚洲最新a在线观看| 色婷婷综合久久久久中文国产精品一区中文字幕,国产福利电影一区二区三区 | 人妻 丝袜美腿 中文字幕| 国产精品亚洲免费| 九九九九日本| 精品午夜福利导航| 九色PORNY9l原创自拍| 老熟女熟妇| 大香蕉草草| 日韩精品在线观看观看| 高清不卡视频| 日韩91网站| 亚洲蜜桃V妇女| 欧美五区| 亚洲在线| 天天综合91在线| 欧美一二级| 另类TS人妖一区二区三区| 五月天开心网| 97日韩欧美亚洲| 岛国AB视频| 亚洲美欧999| 欧美性五月| 国产亚洲美日韩Aⅴ中文字幕无码成人| 激情五月天网站| 欧美激情黑人| 久久精品中文字幕无码l| 欲色影视综合吧| 麻豆精品.欧美精品.日韩精品.| 成人aⅴ一区二区三区| 夜夜操夜夜爽夜夜高潮| 国产一区二区二区按摩精品啪视频| 牛黄色久午久| 亚洲97网站| 欧美日韩操操操| a人片中文字幕一区二区| 久草精品国产99| 射丝袜高跟鞋99| 大香蕉中文| 天堂蜜桃无码视频一区二区| 97AV在线观看| 亚洲春色激情小说| 超碰成人人人爽人人爽| 九九热免费国产视频婷婷伊人| 欧美激情 一区| 综合色播| 久久夜夜| 久久綜合很很很| 国产男女边吃边摸视频网站| 另类av天堂| 99久久久无码精品国产人| 日日夜夜国产综合| 国产亚洲精品美女久久久m| a片亚洲一本通视频| 黄页网站免费高清在线观看| 热久久无毒不卡| 亚洲精品亚洲人成在线麻豆| 超碰在线1234区| 九九99精品| 99热在线播放| 国产馆极品诱惑| 99久久精品无码一区二区毛片免费| 内射黑人| 婷婷久久五月| 亚欧无码线免费观看视频| 神马久久久久久久久久| 强奸乱伦动态污图免费| 欧美色图综合网| 第45页一区二区| 中文字幕91页| 中文字幕AV中出| 三级片大波波| 黄色欧美性爱视频| 9Ⅰ老熟女| www.高清无码诱惑一区.com| 精品亚洲国产成人AV制服丝袜| 人人操人人肉久久精品| 精品少妇一区二区三区免费观看| 亚洲三区视频| 91网站18| 综合色久欲| 黑丝91视频| 操逼操逼逼操操逼91| 密臀在线视频| 亚洲城人男人的天堂| 97人妻免费中文字幕| 国产白丝AV| 天堂伊人久久| 久久久工口| 亚洲最大AV网| 夜夜操美女| 天欧美在线| 欧美激情 日韩精品| 日本亚洲熟女视频| 日韩乱伦AⅤ| 亚洲牲交| 另类小说欧美激情校园春色| 操淫穴亚洲五月丁香| 日韩精品一二三四| 人妻熟女av国产网站| 日韩精品色呦呦| 综合色好色| 啊啊啊在线看| 亚洲欧美日韩国产丝袜自拍中文| 成人贴图日韩欧美| 婷婷久久五月天| 少妇干B| 成 人片 黄色大片| 精品久久久av无码免费| 少妇天堂| 狠狠爱夜夜| 亚洲天堂日本| 人人澡人人弄| 欧美超碰96| 成人精品电影| www鬼畜国产男人的天堂| 欧美很很操视频| 久久久久久久国产a∨| 成人毛片免费| 日韩欧无码一区二区三区免费不卡 | 欧美成人性活片| 强乱老妇中文字幕| 亚洲一区中文字幕| 欧洲亚洲天堂精品| 久久6热精品99视频| 亚洲和欧美裸体美女双飞视频| 国产精品熟女AV中文字幕在线播放| 97电影院超碰| 亚洲精品819| 欧美日韩色图片| 精品国产自在在线99| 啊啊啊啊嗯嗯嗯用力好爽 | 96精品久久久久久久久| 射久久| 久久久96| 一中国女人毛片水真多| 国产丝袜欧美在线视频| 国产精品视频自拍在线| 免费精品中文字幕| 91丨熟女丨丰满熟女| 色噜噜人妻丝袜a∨先锋影| 秋霞免费AV| 婷婷丁香久久| 内射中出日韩在线观看视频| 综合日韩激情另类图片| 天天澡天天爽日日av| 亚洲视频二区| 日本三级精品| 9丨久久九九九| 精品九九| 久久九九视频九九视频| 午夜福利成人免费视频| 91 刺激在线| 亚洲欧美综合色| 欧洲精品一二三在线| 97爱爱官网| 亚洲无线观看久久| 黑人操一区二区| 在线播放成人网站| 曰本精品久久久| 十八禁电影伊人网| 久久国产成人精品国产成人亚洲| 国产成人99久久亚洲综合| 三级三级三级a级全黄三| 久热大香蕉| 激情露脸爱| 国产一| 欧美亚洲高清| 日韩AV无码中文一区二区| 五月婷婷六月丁香| 亚洲黄a三级三级三级看三级| 亚洲丝袜二区在线| 欧美日韩黄片精品在线| 国产高潮AA片免费看| 久九九九九九九热| 久久网亚洲| 欧美一区二区男人天堂| 日韩av影片在线观看| 丰满翘臀美女影院视频| 在线电影亚洲色图| 香蕉黄色一级视频| 色综合一区二区三巨| 蜜桃精品一区二区三区久在线| 夜夜精品视频| 亚洲精品日韩国产欧美| 欧美性爱一区| 97日韩欧美| 最近的最新的中文字幕视频| 久超超碰| 91 欧美| 少妇滛荡视频| 日本中文字幕一区| 美日韩男女操屄视频| 久久免费精彩视频| 少妇激情AV| 成人免费看吃奶视频网站| 发朗少妇买婬全视频中文| 蜜桃狠狠色伊人亚洲综合 | 欧美精品四区| 亚洲伊人青青草| 欧美一级久久久久久久大片动画| 亚洲aw毛茸茸在线| 热热色中文无码| 久久欧美性爱视频| 玖玖爱伊人玖玖爱| 亚洲av综合色| 97色妞| 成人精品久久久午夜福利| 久草成人福利导航| 人妻精品一区二区| 丁香五月天社区| 亚洲区小说| 亚洲精品国产精品乱码不99| 热久久无毒不卡| 很很操在线| 欧美久久久15P| 丁香婷婷五月| 久久精品一区| 亚洲国产欧美一区二区潘金莲| 91久久久视| AA级电影三区| 天天澡天天爽日日av| 性爱视频啪啪啪啪| 亚洲综合九| 欧美性爱1080p| 国产精品欧美激在线| 国产9 9在线 | 亚洲| 久插不卡| 色色网91| 一区二区三区四区姦女| 操操逼视频| 久久超碰98| 日韩av一级黄片| 伊人国产AV| 欧州色图区| 国产精品亚洲色婷婷久久久| 日本在线一二| 香蕉国产精品麻豆亚洲欧美日韩| 青青草日本中文字幕| 在线A日本| 欧美爱国产综合、| 狂操嫩妻视频一区二区三区| 国产91福利小视频在线观看| 啊啊啊好舒服好爽啊啊啊视频| 欧美精品日韩久久久九| 性爱欧美五月| 蜜桃无码AV一区二区| 国产9l 大屁股| 欧美日韩淫加| 国产色呦呦| 精品对白久久不卡| 97在线欧洲| 激情五月天社区| 99热在线观看| 亚洲色图 图片| 91啪啪| 久久免费99精品久久久久久| 超碰偷拍| 日韩二级| 成人片在线播放| 日韩无码一级黄色av片| 中国的操老妇女| 99热亚洲| 国产极品美女高潮无套在线观看| 97视频免费| 91在线视频免费中出| 国产精品宅男免费| 外国91| 亚洲熟妇综合久久久久久| 99亚洲精品| 日韩亚洲国产视频| 国产在线视频午夜精华在| 亚州高清av| 久久大香蕉手机高清| 在线强奷到舒服的无码视频| 国产精品视频内谢女人| 综合欧美日韩在线| 天天操女人| 五月婷婷久久综合| 日韩一区二区高清在线观看的| 天天综合97| 91日产桃蜜| 一区二区首页| 深夜啪啪啪视频免费| 人妻 中文 日韩| 无码久久亚洲高清,| 亚洲男人天堂手机版| 在线小说视频一区| 啊啊啊啊操死我了| 射丝袜高跟鞋99| 人人人人人人少妇| 91精品丝袜在线观看| 综合五月婷婷亚洲一区| av一区二区三区不卡| 天堂综合网| 人伦四五区| 久久人妻无码毛片A片麻豆| AV天堂男人的天堂| 特级大荫道BBwBBwBBW| 97天天摸天天碰| 伊人五月天| www.99热| 男人的天堂亚洲| 久久99亚洲精品久久99果| 色乱二区| 无码免费精品高清| 免费在线观看国内色片网站网址| 久久久久久人妻一区精品色欧美| 亚洲AV成人精品网站在AV| 久久久999| 青青草毛片| 综合 亚洲 欧美| 日韩精品-原创伙伴| 激情在线青青操| 欧美后入式| 国产精品国产| 亚洲双插| 2017天天插| 国产精品福利视频| 97碰碰色| 97色碰| 一级性爱视频免费观看| 天天激情综合站| 国产精品久久妻无码网站| 综合网91| 翔田千里爆乳巨臀无码| 亚洲阿v天堂无码z2018| 国产精品婬乱一级毛片彝族| 成人网站 免费观看| 探花精品视频| 97资源制服丝袜| 国产久久一区二区三区野外在线| 撸撸成人在线视频| 亚洲天堂美臀在线| 欧美久久婷婷| 神马九九九| 揉揉揉夜夜| 大肥女高潮bbwbbwhd视频| 性爱网站一区二区| 黄在线| 成人片在线播放| 天天影视色香色欲| 操逼精品视频| 国产后入式在线观看| 综合网91| 看黄片视频免费| av中文在线| 欧美精品双插| 97一区二区三区视频| 五月开心久久AV官网| 亚洲第一页色网| 国产无马在线| 黄网色一区二区三区四区精品| 操婷婷逼| 另类亚洲图色| 美女爽到高潮91| 成人一道本免费视频| 国产狂喷潮在线精品| 免费黄色A片| 密臀在线免费观看| 玖玖超碰熟| 日本国产欧美一区三区二区| 美中日韩无码| 67914在线精品观看| 无码九九| 精品久久无码午夜福利| 五月天激情四射| 中文字幕十五区| 综合色好色| 中国一区二区亚洲人妻| 久久国产精品91| 性色高清..……| 欧美日韩另类在线播放| 美女黄色一级A视频| 久久亚洲色图中文字幕| 欧美v日韩v亚洲v最新在线| 人、人、摸,人、人、草| 大香蕉十区| 欧美精品激情| 欧亚性爱视频免费看| 婷婷色网| 精品国产一区探花在线观看| .精品人妻一区二区三| 精品一区二区三区蜜桃臀赵总 | 欧美啪啪天堂| 久久亚洲欧美中文字幕国语| 色妺妺在线视频| 日日骚一区二区三区| 天天躁日日躁xxxxx| 天天弄欧美| 欧美狠狠| 欧美日韩色图片| 欧美传媒一区| 一线黄色免费性爱片| 宗合情欲网| 肉动漫无遮挡h在线观看| 六月婷婷激情| 欧亚三区动漫| 亚洲av无码成人精品国产| 天天拍天| 久久一区二区高清免费| 亚州色图狠狠干| 呦呦影院| 国产一级久久久| 国产精品直播在线观看直播| 爽爽歪在线视频| 少妇久久久久久| 乱人伦 国语对白:视频直接看| 96久久久久久久| 五月天激情婷婷| av日韩中文字幕| 国产懂色精品国产av| 久久9精品网站| 粉嫩av久久一区二区三区| 欧美激情超碰777| 两女互慰AV高潮喷水在线观看| 久操综合在线| 五月天亚洲色图| 天天肏美女| 思思热在线视频在线| 91 手机在线播放 绯色| 国产农村妇女精品| 青青草在线视频人人想人人上| 国产精品一区二区a| 国产超碰在线一区| 大香蕉一区二区在线观看.| 欧日韩在线观看| 91人妻尻屄视频| 久伊人网78| 国产精品一区二区在钱播放| 亚洲日韩在线a不卡99精品| 久操操| 秋霞怕怕片| 色综合久久夜色精品国产天堂| 日本视频在线观看污污污| 欧美97av| 99re视频在线观看这里只有精品| 亚洲情色 欧美| 国产老熟女| 国产av又色又爽又黄| 中文字幕欧美精品亚洲日韩蜜臀| 嗯啊不要在线| 久久69精品久久久久久久| 懂色影视久久| 国产欧美伊人| 在线观看免费视频国产| 爱丝福利| 日韩97视频!在线| 国产操偷| 中国熟妇| 夜夜福利| 大香蕉久| 久操视频在线| 欧美日韩免费专区在线| 婷婷激情五月天小说网| 久jiu久神马影院| 欧美一区二区福利在线| 91天堂丝袜美腿| 亚洲狼狼干综合1| 亚洲九区| 国产欧美日韩一区二区三区| 久久99国产精品| 少妇第一页| 五月天综合| 美国人人操人人操| 97国产|免费| 夜夜狼人妻| 91热爆在线| 日韩熟女操逼| 久久久久白虎| 狠插 制服 自拍| 大香蕉久久| 日韩欧美成人性爱在线| 综合亚洲网| 欧美 日韩 婷婷 五月| 性爱动态120秒| 一牛影视成人片免费| 日韩一区二区精彩视频| 国产精品96| …亚洲黄色厕厕女女在线播…| 色一区二区三区综合| 传媒免费一区二区三区| 在线视频一区二区传媒| 性色avv| 青青草中文-久久青草精品一区二区三| 日韩欧美中文| 99re6在线视频播放免费精品| 精品久久久不卡一区二区| 殴美,日韩国产伦精品| 国产精品三级视频网站| av网站在线观看了| a男人的天堂久久一级A毛片| 国产精品操| 中文字幕一区二区无码成人| 99国产精品自在自在| 日韩久久超碰色| 97人妻色| 亚洲色人妻综合| 蜜桃久久一区二区三区| 午夜男人一级A片7777| 美女写真| av无码精品久久久久| 中文色综合| 97人人夜夜精品视频| 啊啊啊啊好爽好舒服一区二区易域| 九七人妻在线| 黑人干亚洲| 亚洲男人的天堂AV| 欧美 传媒 麻豆 日韩 偷拍| 大香蕉综合| 欧美性区| 精品97精品97| 粉嫩AV一区夜夜嗨| 亚洲国产剧情少妇激情| 天色综合网| 精爱久久| 啊啊啊啊操死我了| 青青伊人加勒比海| a人片中文字幕一区二区| 天美传媒AV国产在线| 亚洲91网站| av线电影| 超碰 欧美| 国产成人精品网站| 国产又粗又长又大的视频| 亚洲中文丝袜美腿诱惑字幕| www.男人的天堂| 女性91网站| 日韩欧美福利视频看看| 免费看黄片现成| 小视频玖玖| 国产午夜无码片在线观看影视| av日韩在线观看电影| 一区二区三区激情在线观看| 91狠狠综合久久久| 97玖玖人妻| 麻豆 亚洲 97| 亚洲无限观看| 国产青青综合伊人| 69天堂| 日韩欧美aⅴ综合网站发布| 五月丁香社区婷婷日韩欧美精品影院 | 色999人与兽| 综合激情一一91| 亚洲色图综合| 伊人女女资源在线观看| 精品.99999| 怡红院网站在线视频| 日韩一级欧美一级国产一级台湾 | 中文字幕超碰CAO| 成人性交午夜免费片| 欧亚性爱在线视频| 啊啊啊好爽快点啊啊啊嗯嗯| 天天综合网AV91| 欧美日韩在线小说 | 日韩三级性| 男女啪啪网站免费视频| 国产激情在线观看| 97这里只精品| 黄色大片视频在线免费看| 91 亚洲 欧美 日韩 国产 综合| 亚洲色堂免费视频| 久久久女人| 嫩草影院在线观看精品| 一区二区三区国产精产| 国内一级精品| 久久‘黄片视频| 91在线丝袜视频| 亚洲天堂精品日韩电影| www.色综合| 日本免费一区二区不卡| 国产av激情无码久久天堂| 人妻少妇精品一区二区三区| 91精品少妇搡搡搡| αⅴ天堂| 国产一区麻豆免费观看| 97干色| 亚洲第一页色| 97视频播放| www…国产操逼| 国产麻豆一区二三区| 亚洲欧美综合区自拍另类| 国产夫妻一区二区| 91搡老女人老妇女老熟女歌词翻译| 无码少妇精品一区二区60岁老人| 国产久久男人天堂| 亚洲精品三区在线观看| 99re8超碰| 男女性无套 免费九一| 亚码激情| 亚洲色图欧美| 夜色五月天| 亚洲天堂2020| 日本三级黄页| 亚洲开心网| 天天欧美色| 97爱| 第四色色综合91| 乱性AV| 绑缚麻绳人妻寝取完整版| 亚洲一卡二卡在线免费| 熟妇艹鸡八| 伊人丁香五月婷婷| 欧美少妇高潮久久91| 999亚洲国产视频| 中文字幕、久久精品国产2020、久久综合久久自在自线精品自、亚洲 | 狠狠爱AV| 极品极品色影院| 好涩综合| 亚洲国产精品乱码在线观看| 日韩一级二级三级免费看完整版| 色噜噜人妻av 中文字幕| 精品人妻免费观看| 99色婷婷中文字幕乱色| 少妇高潮特黄A片| avav青青草久久夜| 清柠毛片| 中文字幕精品一区二| 一区二区国产视频在线观看| AA特级绝黄| 欧美日韩亚洲天堂| 嗯阿好爽好紧| 色久桃花影院在线观看| 偷窥自拍亚洲| 伊人久久亚洲中文字幕| 国产对白刺激视频| 熟妇女伦乱视频视频| 国产又粗又又黄又猛| 日日干天天干夜夜爽| 欧美传媒一区| 日韩精品国产精品五码一区二区| 91精品国产91久久福利| 午夜AV污污污| 日本 欧美 亚中文字幕| 日韩性爱免费观看视频| 插B在线观看| 91亚洲不卡一区| h无码动漫在线观看| 伊人麻豆传媒| 久久久久久久久久久久久久久久9| 日韩一级免费性爱| 一级毛片电影免费看| 狠狠做深爱婷婷久久二区| 五月色综合| 人干人人人操人人摸| 一本久道久久综合狠狠爱一密臀精 | 久久东京热久久| 97视频900| 天天综合网国产| 自拍大香蕉乱插| 久久超碰国产一区二区三区| 熟女一区二区三区四区| 宅男午夜在线视频| 久久人人爽人人爽人人片Ⅴ| 高清无码久操视频| 国语精品av| 日本黄页视频在线观看| 日本人体九九九九九九| 国岛片视频| 澳门黄片一香蕉视频| 天天综合网~91| 日韩天天本| 日韩一区二区熟女| 99精品在线观看| 欧美日韩在线国产在线| 久久性爱视频免费看| 精品人妻一区二区三区四区| 很很很很操| 91jk色拍| 国产女上位好爽在线| 色香色欲天天综合网天天来吧| 精品国产91内射久久| 国产99热| 亚洲男人天堂网站| 亚洲不卡一| 综合欧美日韩在线| 色老汉色| 97蜜桃综合| 97中文天堂| 中文字幕第页| 91操人| 日本片日本片祼观看网站在线看中文版网页在线看 | 丰满人妻-区二区三区免费| 综合欧美日本三级| japan日本高清乱xxxx| 最新av中文字幕高清| 在线a亚洲视频播放在线| 日日骚中文字幕| 男人的天堂va在线| 巨乳特殊服务按摩| 中文字幕免费在线观看| 青青草国产一区二区三区| 国桃视频产巨乳精品一区二区在线| 青青草黑寡妇男人天堂| 日韩 人妻 精品| 熟女在线视频| 精品人妻夜夜草| 宗合情欲网| 亚州久久9| 九九九九九九九九九五码| 樱花草社区www中国| 屌妞视频久久久久久久久久久久| 欧美 日韩 国产传媒| 加勒比AV网| 91老熟女老女人国产老太| 国产小炒后入式| 亚洲老司机123专区| 欧美 亚洲 91| 久男人久久| 精品一区二区三区18| 欧美性色网| 97超碰人人模人人拍人人| 欧美一二三级精品在线| xxxx网站亚洲精品| 人人摸人人干人人拍97|