色五月色开心色婷婷色丁香,五月婷婷丁香花综合网,婷婷丁香五月激情综合在线,五月婷婷六月丁香动漫,婷婷丁香五月激情综合在线,丁香花中文字幕在线观看,播五月色五月开心五月网,开心激情综合网,狠狠色丁香婷婷综合最新地址,丁香视频在线观看,狠狠做六月爱婷婷综合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
返回資訊列表
凹凸 69堂 在线播放| 麻豆成人AV| 久久人妻视频| 伊人影院综合是一个与深夜成人在线| 中文字幕一区二区无码成人 | 日韩精品第3页| 国产精品探花在线| 无码聚合| 婷婷激情五月| 97摸视频| 久久毛卡| 久久天天艹| 久久东京热久久| 中出在线视频| 丝袜视频一区二区在线播放国产中文| 99热在线播放| 蜜桃久久一区二区三区| 日本3级一区二区免费| 国产狂喷潮在线精品| 99999亚洲另类| 午夜精品久久久99热蜜桃的功能特点| 亚洲永久永久永久永久一级一级一级精品| 丰满人妻-区二区三区免费| 三级激情网站| 狠狠色伊人亚洲综合网站色| 99性爱在线观看| 女人天堂av在线播放| 中国韩国明星一极片一区乱码毛片人妻熟女一区二区三区 | 97国产色综合| 99国产人成精品| 欧美在线干| 99热自拍| 五月丁香婷婷综合| 久久XX| 亚洲午夜福利视频| 色99在线| 97se综合网| 国产精品麻豆成人AV艾秋| 性爱av在线免费观看| 超碰成人最新最好看| 人妻一二三区| 无码乱人伦中文视频| 国产精品999zyz| 岛国黄| 久操网视频| 亚洲中文字幕久久人妻| 日本在线激情一区二区三区| 久操大香蕉手机视频在线看 | 91色图片| 日日日骚女人精品| 久9爱精品| 亚洲一区二区三区婷婷| 亚洲导航深夜福利| 免费观看欧美日韩操逼视频| 亚洲精品97在线| 久9久| 久久久9品一区二区三区| 99热色这里只有精品| 久九九九九九九热| 黄站在线免费观看| 欧美日韩在线小说| 操逼1区| 粉嫩av在线一区二区| 日韩无码黄色片| 亚洲中文字幕精品久久久久久直播| 国产一区二区视频在线播放| 国产91美女高潮| 岛国AV一区二区电影| 男人天堂久久日韩| 欧美日韩中文字幕不卡| 色五月首页| 99啪| 国产激情在线| 日韩一区二区三区四区五区 | 日韩啪啪啪视频| 99热国产精品| 中国操逼无码| 91超碰人人| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区老师 | 中文字幕第2页| 中文字幕三四区| 中文字幕精品日韩中文字幕| 日本特黄f c2| 破处bbq| 蜜乳中文字幕a在线| 亚洲欧美激情在线视频| 久久久久久久久久久久黄色 | 黄网色一区二区三区四区精品| 欧美特大黄一级片片免费| www.婷婷五月天| 啊好爽受不了无码| 少妇高潮九九九九| 日本午夜精品理论片A级APP发布| A级毛片在线看免费| 免费av大片| 久久綜合很很很| 狠狠爱大香蕉| 99自拍视频| 天天摸天天舔天天操| 97精品一区二区视频| 免費黃色視頻觀看一| 97色色色综合网站| 大香蕉一级黄色片久久| 五月婷在线| 亚洲超碰综合网| 乱伦色图网址是多少| 91爱综合| 精品欧美老熟女一二区| 九九碰九九爱97超碰| 天堂综合| 熟女乱伦A| 久久久人体| 国产92麻豆天美精品色欲5| 国产毛片在线| 2026国产精品视频| 91深夜夜| 91欧美性| 日逼逼免费看| 大香蕉综合久久| 乱伦熟女论坛| 蜜臀精品1区2区| 亚州综合色| a级理论午夜日本| 色在线69堂| 91在线超高颜值国产| 99999精品成人| 久久加勒比| 婷婷丁香成人| 美女黄页网站| 欧美综合骚| 精品人妻一区二区免费蜜桃视频| 伊人亚洲国产一成人久久精品,久久| 91丝袜人妻| 午夜精品视频777| 新怡红院| 色性综合| 欧美一级AAAAAAA| 一区二区三区蜜桃成人撸久久东京热| 国产兽交视频在线播放| 久色99999| 性爱免费视频成人| 久久九九久精品国产尤物|国产精品爽黄69天堂A片潘金莲,国产亚洲精品第一综合 | 激情综合网激情综合| 午夜丁香婷婷| 日本成a人v网站在线观看| 爆乳免费黄网站| 久久国产逼| 91欧美丨精品丨入口| 亚洲无码?第一页| 自拍亚洲综合| AV九九| 三级精品三级在线观看| 欧美第二页午夜| 久久综合九九| 国产精品亚洲无码| 久久精品人妻一区| 99re28在线观看| 欧洲乱码视频| 婷婷在线精品| 日韩欧美字幕亚洲一区二区| 大香蕉中文在线| 99热aaa| 日韩午夜精品一区二区三区电影| 97超碰欧美精品| 亚洲淫乱骚妇AV| 亚洲天堂7777| 欧美高清无码免费视频高清版| 日本天天干天天搞一区| 国产91美女高潮| 欧美黄片免费在线观看视频| 亚洲成人ab| 97精品视频网站| 久久久久久欧美精品se一二三四| 国产精品婬乱一级毛片彝族| 亚洲啪啪综合?v一区综合精品区| 久久99999| 探花精品视频| 久久综合国产精品国产| 久久久久久人体| 日韩情色AV| 国产欧美一区激情交| 99久久99久久免费精品蜜臀| 亚州精品人妻一二三区| 亚洲污一污二| 欧美性视频二区三区| 久久的网站啊啊啊啊啊| 色情综合网| 国产精品无套内谢| 日韩免费大片一级播放| 亚洲色图尤物视频| 内射老妇BBWX0C0CK| 亚洲男人天堂AV| 美女天天干| 亚洲999综合| 热久日综合| 国产九九久久久精品| 丝袜 亚洲 偷拍| 婷婷综合五月| 色色色欧美| 再深点灬舒服灬太大了好硬好爽| 亚洲 日韩 丝袜 熟女 变态| 丝袜熟女一区二区三区| 3d成人精品一区二区| 免费av高清无码| 97超碰超碰| 夜夜精品视频| 亚洲国产成人综合碰碰三级经典| 日韩啪啪视频| 久久精品一区二区三区四区五区| A 天堂| 久久久久久精| 亚洲精品久久久久毛片A片拉屎| 色香av| 国产路线专区| 国产精品青草综合久久| 黄色视频特级毛片| · —级AA伦aa坐爱午夜极速ⅴA一区天天噪天天噪天天噪 | 九九九九9999| AAAA级日本片免费视频| 欧美一级美片在线观看免费| 亚洲日韩视频二区| 亚洲欧综合另类无码一区| 亚州一区二区成人片免费| 最新亚洲人成网站在线影院| 国产热RE99久久6国产精品首| 欧美一级做a爰片免费视频| 欧亚免费视频| 五月婷婷综合网| www.狠狠干.coom | 啊啊啊啊啊啊啊啊视频| 国产强奸乱伦xd| 欧美老妇曰批的视频| 91强热人妻| 在线观看日韩av不卡| 激情专区综合| 嫩草影院永久在线制服丝袜| 日本不卡免费二区| 日本精品五区| 婷婷激情五月天小说网| 日韩精品一二三四| 大香蕉宅男伊人| 狠操91,com| 东京热男人天堂| 国产强奸乱伦无码视频| 乱伦av麻豆| www久久久| 青女在线| 91少妇人妻| 欧美自拍偷拍综合图片| 国产小u女在线观看| 色av中文字| 亚洲性猛| 亚洲无线观看久久| 久久精品性| 丝袜喷水在线| 夫妻日逼| 秋霞蝌科网日本一区| 95人妻爽爽人人做人人澡| 综合网久久| www.人人摸在线视频| 99久久精品国产系列| 婷婷亚洲五月***久久| 夜夜狼人妻| 5252色欧美在线男人的天堂| 亚洲色图尤物视频| 亚洲国产一区二区三区在线| 久久久久人| 国产91影院| 久操不卡视频| www.男人天堂| 国产福利视频精品视频| 久7色| 俺也射| 免费av高清无码| 色欲天天综合网| 精品九九九九九九九九九| 亚洲高清自拍| 天天干一干| 日韩精品一区,二区 九九...老司机| 天天狂操夜夜狂日| 香蕉久久国产AV一区二区| 色综合20p| 大香蕉黄色一级片免费看| 久操视频免费在线观看| 青青草福利视频| 99ri视频| 婷婷人妻激情| 色综合九九| 亚洲。天堂。日本在线观看| 精品国产91av一区二区三区| 男女激情中文字幕| 久久久国产av美女私房| 色综合99999| 黄片免费久久久久久久| 99精品人人爽| 亚洲日韩国产欧美综合v| 久久久禁| 3p国产色噜噜一区| 激情文学亚洲| 久热9| 伊人超碰97| 操少妇很爽av| 日本操逼视频不卡直接放| 色一射色一射| 亚洲欧洲日本精品中文a∨| 96AV精品| 国产亚洲深夜激情| 老女人碰碰在线碰碰视频| 久久综合国产精品国产| 欧美精品欧美精品系列 | 国产精品69久久久久久久| 久久久精品无码亚免费| 国产后入式在线观看| 五月丁香综合| 色欲久久久久综合网| 爱啪精品一区| 日韩性爱电影一区| 9I1性色影院| 人人色97| 密乳AV免费观看| 劲爆欧美人妖三区91| 无码精品一区二区三区潘金莲| 美女91av| 玖色AV| 亚洲影院365| 久久动漫精品视频这里只有精品| 人人妻人人狠人人| 天啪| 欧美色色人| 亚洲五月婷| 蜜臀久久99精品久久久久| 精品人妻一区二区三区-国产精品 一个人在线看的黄色电影网站 | Aa东京男人的天堂| 亚洲综合另类| www国产天美久久久| 大逼色网站| 日本精品人妻少妇一区二区| 自拍偷拍 高清无码| 亚洲综合嫩| 青青操在线亚洲视频观看欧美在线 | 久久综合99| 思思视频免费看网站| 国产精品动态一区二区三区四四| 99久久久无码| 国模精品一区二区三区苹果色戒 | av绯色| 在线97视频| 天美一区在线| 极品粉嫩少妇视频| 亚洲AV无码天美传媒一区| 黄色人人| 无码精品久久久久久亚洲| 欧美极品少妇| 久久av色| 精品少妇999| 亚洲自拍青操视频| 日欧毛片久久| 蜜臀亚洲中文| 9九九九九视频在线观看| 人人看欧美性爱| 91美女小视频| 青娱乐黄色录像| 欧美综合网1| 黄色二级片网站| 蜜臀少妇一区二区| 六月天婷婷| 亚洲欧洲网站免费观看| 久久久久久久久成人av解说| 91成人久久 | 久久黄黄| 亚洲,欧美,春色,另类| 操比国产| 亚洲九月丁香| 婷婷中文网| 国产黄色小视频网站| 精品性爱| www.av在线视频| 欧美性生活男人的天堂| 精品一区二区三区国产| 日韩视频精品在线观看| 97久久网| 久久丁香久草综合网| 97亚洲精品超碰| 成人性交免费视频| 青娱乐999| 无码人妻精品酒店| 国产高清视频无码在线| 欧美激情视频在线一区| www.99色| 欧美激情中文字幕另类小说| 日韩免费性爱视频在线观看| 精品超碰国产| 91 刺激在线| 日韩有码一区三区| 91天天| 天天综合网~91| 性色亚洲| 久久精品福利影院| 久久激情亚洲精品无码?V| 在线观看中文av字幕| 成人网站 免费观看| 性一交一乱一交A片久久四色| 黄色高清无码无码破解免费暗网| 丁香婷婷大香蕉| 色婷婷电影网| 久久天天躁日日躁狠狠躁 | 熟女探花啪啪| 92人人操人人| 中文字幕老熟妇黄色视频| 97欧美精品综合| 足交视频老司机| 国产AV人人夜夜澡人人爽麻豆| 亚洲综合伊人| 啊啊啊啊啊好多水| 国产强奸乱伦xd| 综合久久欧美| 熟妇视频一区二区三区在线观看| 操曰本熟女| 91熟女丨91老女人| 波多野结衣一级视频| 久久精品店| 日本熟妇一区二区三区| 亚洲AV在线资源| 啊啊啊爽爽| 奇米四色影视777久久久| 91模特在线观看| 丰满人妻一区二区三区蜜桃视频| 国产欧美日韩一区二区三区| 大香樵伊人网| 五毛骚逼极品美女怕怕| 亚洲综合第一页| www.av在线视频| 精品精品精品| 超碰 国产熟女精品一区| 日本综合色图| 熟女乱伦二区| 岛国不卡超碰护士AV在线播放| 日本二三四区| 欧美黄片欧美黄片xxx| 天天影视网综合少妇| 新精精品久久精品| 91精品国产91久久福利| 一区二区三区在线资源| 99热国产精品| 日韩国产乱子伦App| 欧美第一页性| 色欧美综合| 日本在线视频导航| 91少妇香蕉久久精品| 天天日天天干天天操| 中文字幕av亚洲在线| 超碰人妻久久人妻中文97| 欧美性爱一区二区三区| 日韩av一级黄片| 超碰天天操| 操啊国产| 久草婷婷| 亚洲国产欧美一区二区潘金莲| 中文字幕在线24| 干妹子| 91久久精品中文字幕| 日本97久久久精品| 国产真乱mangent| 一个人在线看的黄色电影网站| 欧美大的香蕉有线电视视频| 三级三级三级日本99| 五月天精品| 超碰偷拍| 免费一级欧美片片线观看| 久久久免费懂色| 911av网站免费观看| 国产精品久久久久久久久久久久久久久久久久 | 日本一级不卡一二区| 国产自产自拍| 中日韩久久久免费看| 久久‘黄片视频| 亚洲人精品午夜不卡| 色欲蜜臀AV| 色偷综合| 99久在线精品99re8| 中文字幕精品三级久久久| 久久精品三级影视| 阿姨一区二区免费视频-高清正片西瓜视频下载app-T450AV | 日夜尻逼网| 在线视频日韩欧美国产| 一二三四区操操Av| 亚洲精品久| 热思思免费视频| 国内操逼视频二区| 国产精品久久久久久久久AV大片| 久久华人网| 激情色色| 夜夜草天天| 97欧美精品综合| 一区二区三区黄片免费观看| 亚洲人妻色图| 日本精品国产视频| 黄片aaaaa一区| 一卡二卡三卡| 色婷婷蜜臀av| 日本理论在线| 翔田千里A片一区二区| 伊人久久大香线蕉亚洲五月天,青草青草欧美日本一区二区,欧美日产欧美日产国产 | 色色色色日本| 无马一区二区| 大香蕉综合| 人人看人人摸人人色| 中文?日韩?免费?精品| 天天操熟妇| 啊啊啊操死我| 美欧色综合| 久久超碰亚洲人| 亚洲αv一区二区三区| 一本色道人妻久久| 屌妞视频久久久久久久| 亚洲日韩精品在线播放| J?P?NESEHD熟女熟妇伦| 精品人妻伦一区二区三区久久| 蜜乳av首页| 欧美18 在线观看| 中文字幕免费在线观看| 97 视频在线| 五月丁香激情综合网| 家庭乱伦国产| 97爱| 久久久亚洲精品中文字幕人妻| 国产SV一线| 黑丝少妇| a级理论午夜日本| 中文字幕av亚洲精品| 97在线亚洲| 熟妇高潮一区二| 人人妻人人操人人乐| 美女黄频a美女大全免费皮| 欧美性爱第一页久久| 欧美激情精品久久久久久| 国产白丝在线| 国产精品久久发布| 无码人妻一区二区一牛影视| a在线观看| 国产亚洲精品玖玖玖在线观看| 84YTCOM性无码| 春色综合网| 精品9999| 国产精品3| 久久夜夜夜| 99热导航| 欧美视频第二页| 91天天日| 日本天天人人狠狠在线日美女| 91GD.COM| 色婷婷视频| 乱老女人一区二区视频| 久久一区二区三区入口| 亚洲精品亚洲人成在线麻豆| 国产A v无码专区| 成人无码电影在线观看网| 日韩一级欧美一级国产一级台湾| 另类欧美色| 91岛国动作片| 99re9| aaa亚无码专区| TS人妖另类精品视频系列| 精品91日日夜夜超清资源| 亚洲丝袜综合| 久久97| 大香蕉乱级| 午夜超爽| h无码动漫在线观看| 福利色色| 五月天激情婷婷| 98一区二区精品| 四月丁香婷婷| 亚洲一区二区 麻豆传媒| 97一区二区三区视频| 丝袜美女诱惑 91 视频| 欧美在线|亚洲| 国产人妻久久精品一区二区三区| 欧美色视| 日韩操p| 国产色呦呦| www.夜夜操| 蜜色网色哟哟| 亚洲欧美日韩电影网站一区 | 美女天天干| 日本操逼视频不卡直接放| 色狠狠 - 百度| av凤凰久久久| 国产怡红院| 国产视频第2页| 午夜经典| 欧美日韩另类在线| 日韩性爱网址| 亚洲。日韩。欧美| 少妇色综合| 传媒在线观看一区二区三区| 国产日韩精品suv| 亚洲国产一级精品毛一级精品看免费视频| av一区二区三区 中文| 亚洲综合97中文网| 99re热| 国产精品第一页国产大屁股视频免费区 | 国产 日韩 欧美高清| 色爱综合网| 综合久欧洲| 人妻喷水| 亚洲精品毛片在线观看| 这里只有精品久久| 岛国999| 日韩无码一区二区三区| 嫩草影院在线观看精品| 按摩中文字幕| 乱人乱色一区二区三区免费| 成 人片 黄色大片| 99久久久无码| 欧美亚洲中文字幕| 日韩探花精品在线视频| 中文字幕制服欧美久久一区| 蜜臀久久99精品久久久久久成人小说| 免费1级a做爰片观看| 女优免费一区二区永久| 97操综合| 手机在线中文字幕国产| 少妇一区二区三区在线观看| 久久久久熟女| 国产av美女被艹的乱叫| 91美女色视频亚洲| 超碰在线欧美性爱激情| 精品久久久久,69国产成人精| 欧美综合在线第一页| 少妇一级婬片免费放一级a性色.| 欧美精品成人亚洲| 午夜传煤十二区精品| 亚洲AV无码国产精品久久久久| 久久精品免视看国产成人﹣蜜臀av一区. 久久精品免视看国产成人,蜜臀av一区 | 国产91 丝袜在线播放00-百度| 国产黄色 A 片免费看| 久久大线蕉一区| 强奸抽插av| 日本一区二区三区精品| 91欧美亚洲| 麻豆人妻精品一区二区| 亚洲色电影在线| 99热免费| 无码78| 精品超碰中文在线| 蜜臀视频网站| 日韩内射视频| 免费视频在线一区二区不卡| 青青草在线视频人人想人人上| 亚洲97在线观看| 9/A片| 蜜桃狠狠色伊人亚洲综合网站| 99爱视频| 日韩在线国产字幕| 亚州综合电影| 日韩久久.一级黄色片| 久草精品视频| 欧美亚洲中文字幕| 亚洲色图欧美色18直播在线| 亚洲高潮少妇| 操一操摸一摸| av72网| 久久欧美性爱视频| 夜夜躁狠狠躁日日躁av| 国产夜夜操| www.大香| 麻豆av一区二区| 97亚洲国产影视| 99老司机精品视频在线观看| AV久日| 五月丁香综合| 久久午夜鲁丝片| 中文久久96| 亚洲色婷婷| 性爱视频免费网址| 欧美日韩97在线| 国产精品一区人妻精品阁在线| 欧美人黑A片无码免视费| 96国产污污污丝袜| 狠狠干婷婷| 久久久国产av美女私房| 欧美在线|亚洲| 婷婷日韩一区二区三区中文字幕在线| 人人人摸人人| chaopen97久久| 偷窥自拍亚洲色图| 国产 热久久久久国产精品| 97欧美日韩综合| 99国产精品久久久久久久成人热| 国产黄色av大片网站| 欧美色999| 欧美中字不卡| 国产欧美美女免费观看视频| 国产亚洲精品av一区| 亚洲日韩美女丝袜美腿人妻视频| 国产男女无套97| 另类在线| 久久毛卡| 亚洲欧美日韩制服另类| 蜜桃臀av一区二区| 都市激情人妻一区二区青青操视频| 九热视频| 偷拍自拍在线视频观看| 日本在线观看网址| 亚洲天天自拍| 国产性爱欧美性爱在线| 操死我干死我| 开心五月婷婷激情| 亚洲最新av无码成人精品区| 天天看天天日天天操| chaopen97久久| 日韩 成人 有码| 大香蕉手机在线视频| 性爱1区| 91碰超| 18禁在线视频| 91亚洲色图| 97资源站日韩| 欧美啪啪啪91| 欧美日韩亚洲国产中文永久天天看| 欧美色图亚州激情| 国产一区二区三区中文字幕| 国模精品一区二区三区苹果色戒| 亚洲阿v天堂无码z2018| 襙一襙| 国产v亚洲v日韩v欧美v片另类| 91老妇女| 国产久9| 97伦乱| 蜜臀aV午夜一区二区三区| 国产精品久久久777| 蜜臀亚洲中文| 婷婷色香| 综合网亚| 操b网站亚洲无码| 国产精品午夜成人福利| 色老汉色| 啊啊啊97视频| 91欧美丨精品丨入口| 免费网色网站| 校园春色亚洲无码| 啊啊啊啊啊好舒服视频| 天天插天天操天天摸天天射天天看| 91网站视频在线观看| 九九自拍伦理| 熟女一区二区三区四区| 欧美亚洲韩国视频十五区| …中文字幕亚洲乱,97人妻无码费视… | 熟妇高潮一区二| 麻豆 亚洲 97| 久久伦理视频久久大香蕉视频| 成人一区二区三区四区| 欧美成人国产精品| 色777999综合| 蜜臀99久| 日韩熟女三十乱伦| 国产强奸乱伦xd| 在线视频免费播放一区| 极品极品色影院| 97九色人妻| 久久免费看高潮毛片韩国| 10000部十八禁看电影| 精品成人女人久久| 色亚洲欧美| 久操精品| xxxx网站亚洲精品| 综合欧美日本三级| 精品四五区| 91中文精品日韩欧美在线 | 日韩人成网站在线播放| 久热九九| 91亚州欧美| 精品无码一区二区三区| 淫荡网址| 日欧亚洲二三区大片不卡| www.色婷婷色综合| 毛片中心9视频99| 午夜毛片高清免费不卡| 撸无码不卡免费视频| 伊人一级免费黄片| 1769精品一区二区三区| 欧美性爱97超碰| 亚洲资源网| 女色综合| 丰满人妻一区二区三区大胸懂色 | 亚洲另类色综合网站| 五月天亚洲色图| 视频在线观看免费一区二区三区 | 97在线日韩中文字幕| 大学生美女口爆| 欧美人妻一区| 欧美激情 日韩精品| 日韩无码服务区| 国内毛片热久久思思热| 操婷婷逼| 白 大 人妻 区 在线| 人妻精品一区二区| 国产精品呦一区二区三区| 狠狠操夜夜操蜜桃视频三区| 91久久久久久久| 97无码视频在线播放| 99综合免费视频| 欧美97视频| 百度百度日本操逼| 亚洲色综合| 九九九九九九九九九九九九九九九女| 1240青青草一区二区三区视频天爱| 亚洲天堂AV在线播放| 91蜜臀在线久久久久| 丝袜美腿91| 日韩人妻中文视频| 自拍欧美| 国产精品久久久吖| 欧美亚性天堂| 一区二区无码视频| 黑人无码一区二区| 亚洲少妇色图自慰直播| 91操操操操| 色噜噜综合在线| 亚洲色性| av资源在线观看少妇| 亚洲精品久久一区二区三区蜜桃臀| 九九九精品成人免费视频小说| 久久精品一区二区三区不卡| 91中文字幕在线观看| 午夜欧美女人操逼| 后入式视频国产自| 强奸乱伦亚洲第一页| 91网18| 日韩中文字幕视频| 国产精品国产自产拍高清AV| 女生91网站| 91人妻爽爽人人做人人澡| 91熟女丨老女人| 亚洲人妻av| 91青青在线| 亚洲婷婷五月天| 欧美碰碰综合色| 密桃99999| 老熟女91视频| 乱日视频| 国产无码三级视频在线观看| av操操不卡| 操逼视频国产无套| 欧美韩国你懂得在线| 日逼视频日本| 久久久久久少妇| 一级久久性爱视频| 中文字幕福利视频一区二区三区在线观看| 网页导航五月天免费一二三区| 国产麻豆一区二三区| 肉嘟嘟www视频在线观看高清| 97操综合| 屌色在线97视频| 亚洲一二三四区| 亚州乱码中文字幕综合久久久| 91精品亚洲内射孕妇| 亚州色图欧美| 亚洲黄色网址视频| 情色大香蕉| 青青11操操操操操操操操| 18禁止看精品中文字幕| 亚洲色情在线影视| 中字乱伦AV| 久久九色| 亚熟hd视频在线| www.色操逼| 国产强奸乱伦第1页| 麻豆 亚洲 97| 日韩啪啪网| 国产极品粉嫩馒头一线天av| 色偷综合| 加勒比无码一区二区三区| 亚洲黄片免费在线播放| 亚洲大色鬼| 啊啊啊 在线观看| 国产高清免费不卡av| 加勒比综合在线| 夜夜高潮夜夜爽高清视频一 | 国产精品夜夜夜| 美国美女AV在线| 日韩亚洲中文有码视频| 超碰色97| 亚洲情色一区二区三区| 日韩一级二级| 国产高清免费不卡av| 精品国产乱子伦一区二区三区,精品一 | 精品网站99999| 六月婷婷综合| 一级片在线观看高清无码| 揉揉揉夜夜| 久久中日麻豆| 久久精品国产精品亚洲艾通辽熟妇 | 狼人综合婷婷激情四射| 天堂中文日本在线观看| av激情亚洲五月天| 97日韩欧美亚洲| 五十路熟女工口| 久久极品一区二区| 国产三级电影免费观看| 以及麻豆国产入口在线观看免费| 性高潮久久久久久久久久久| 日韩精品操少妇| 国产一区二区三区中文字幕| 成人免费在线网站| 国产亚洲日韩欧| 亚州男人天堂| 久肏视频字幕| 小草av不卡亚洲二区| 日本精品人妻少妇一区二区| 亚洲天堂久久| 在线视频日韩欧美国产| 嗯啊视频免费在线观看| 欧美日本成人一区二区| 俞拍久久国应视频| 青青草中出视频| 人妻熟妇久草在线| 欧美天堂超碰97| 91欧美偷拍| 色噜噜人妻av 中文字幕| 婷婷爱五月| 国内精品伊人久久久久影院会| 无码天天操| 无码免费在线观看黄色片| 国产强奸乱伦欧美| 97超碰护士| 夜色综合| 久热一区二区| 亚洲综合20p| 好爽视频在线观看视频| 亚洲图片91| 国产成人五月天丁香花| 久久午夜神马| 老司机香蕉久久久久| 欧美亚洲天天| 高颜值美女口爆高潮浪叫| 无码二级三级| 91岛国动作片| 亚洲激情视频| 久久9久| 在线免费观看高清无码视频| 精品黄色电影| 一道α片欧美| 日本免费一级AAA大片器 | 久久精品一区| 大香网伊人久久综合网eew| 色情亚洲日本成人| 夜夜综合| 中文字幕欧美日本乱码一线二线| 土豪酒店各种姿势玩弄极品幼稚| 男人天堂久久精品不卡| 国产AV天美传媒一区二区三区 | 激情婷婷| 久久欧美1卡2卡3| 亚洲日韩青青草色月| 人人搡人人肉久久精品| 精品欧美日韩在线观看| 亚洲中文字幕av| 性天堂| 久久久久免费看少妇A片特黄| 午夜福利精品| 91chinese在线| 爆乳免费黄网站| 九草在线大香蕉| 久久是精品| 狠狠爱大香蕉| 久久国产免费激情视频| 偷看洗澡一二三区美女| 色香阁在线| 超碰欧美在线欧美| 精品欧美乱码久| 日韩av免费一级电影| 五月丁香社区婷婷日韩欧美精品影院 | 国产色呦呦| 亚洲综合色男人网| 日本男人插女人的逼黄色| 欧美亚洲韩国视频十五区| 日日夜夜精品视频| 超97在线精品视频| 一本一道人妻久久一区二区三区| 超硑97精品| 国产精品69久久久久久久| 精品人妻一区二区免费蜜桃视频| av天堂精品久久| 国产激情久久| 婷婷香网站| 亚洲毛片基地专区| 93人人操人人| 99热97| 97视频在线免费| 一级二级三级黑人无码| 久久色情| 很很很很操| 一起草高清无码| 97最新在线播放视频| 91欧美成人色站| 性生活性生大爱77AV国产| 成人av福利在线观看| 天天操天天插| 老司机午夜精品福利视频一区二区| 久久久96| 毛片电影一区二区三区| 日欧毛片久久| 色欲天天综合久久久无码网中文| 亚洲日韩国产欧美综合v| 白丝AV网站| 亚洲成人贴图| 亚洲国产日韩欧美熟妇在线| 久久 亚洲 日韩 人妻| 亚洲精品九九九| 极品尤物在线观看| 大香蕉色欲AV| 自怕偷自怕亚洲精品| 毛片视频白嫩| 欧美色图亚洲色| 欧美日综合| 人澡逼| 亚洲欧洲精品视频发布| 亚洲日韩青青草色月| 青青草中文字幕| 狠狠操狠狠爱| 亚洲双插| 天天日B夜夜干B时时操B| 青女在线| 亚洲精品性爱片| 丝袜综合色图| 日韩成人私密一级精品av| 亚洲情色第一页| 中文字幕精品码亚洲| 另类天堂| 亚洲少妇视频| 99爱在线视频| 久久中文字幕在线观看| 国产精品大香蕉| 亚洲激情久久久伊人综合| av国产无码| 欧美97免费| 99精品网| 亚洲se91| 国产精品麻豆成人AV艾秋| 射综合网| 久久9 9 9精品| 日韩欧美大片免费高清啪啪| 日韩二三区| 免费a级毛片av无码久久精品中文字幕| 快点操死我| 影视综合无码少妇| 老女人碰碰在线碰碰视频| 在线国产福利网址导航| 手机av亚洲丝袜美腿日韩第一页二页| 国产精品视频麻豆入口| 风月影院男女十八禁| 色噜噜人妻丝袜a∨先锋影 | 第一高清av中文字幕| 中文字幕一区二区三区人妻不卡| 九月婷婷综合| 91精品人| 九九九影院| 在线观看综合精品亚洲| 99久草| 无码99| 久操com| 一本一道久久综合久久| 亚洲天堂电影精品一区| 亚洲日韩精品久久久久一区壹牛| 啊啊啊在线观看免费视频| 无码日韩人妻av一| 国产成人五月天丁香花| 色婷婷综合久久久久中文一区二区| 香蕉黄色一级视频| 久久天堂网| 日本伦理一区二区| 久草免费福利在线播放| 国产精品日日摸天天碰| 91在线限制级| 欧美系列在线一区二区| 欧美人妻少妇| 金典av| 九九热免费视频| 亚洲伊人a线观看视频| 中文字幕第7页| 欧美精品91| 五月婷婷性爱| 欧美日韩黄片精品在线| 欧美色图99| 国产AV天美| 大香蕉九九| 欧美激情性爱视频网站| 久久久久女教师免费一区| 国产精品网站免费| 欧洲色| 欧美少妇性爱网站| 超碰在线一区二区三区| 锕锕好爽 死我在线观看| 亚洲91少妇| 精品中文字幕一区二区l - 百度| 色综91| 亚洲色棕合| 日韩精品9999| 国产精品老熟女一区二区| 国产欧美日韩精品中文| se吧提供91精品国产91久久久久久 | 九九九九九九九九九九九蜜桃| 俺去久久| 久99热| 91成人在线免费视频| 亚洲国产成人精品999| 日韩熟女精一区二区三区不卡| 天天舔天天日天天射| 欧美在线伊人色| 思思热在线| 新版天堂中文资源8在线| 久久久久久69国产一区二区| 女性91网站| 日韩97超碰| 综合欧美日韩在线| 91av一区二区在线观看| 亚洲一区二区AV| 激情四射婷婷六月天| 夜草欧美| 欧州激情视频在线一区二区| 欧美日韩国产传媒在线精品| 久久综合九九| 大香蕉五月天| 在线视频日韩欧美国产| 永久免费发布性爱网| 成人性爱av| 国产高清吃奶免费视频网站| 欧美性爱第1 页| 国产路线专区| 青青草好吊色| 网友自拍第1页| 亚洲男人天堂手机版| 91白虎| 欧美亚洲中文字幕| 91美女片在线| 夜夜欢天天干| 亚洲日韩电影| 超碰91在线| 精品91| 久久精品国产精品一区| 欧美狠狠| 亚洲视频中文一区| 国产精品黑人一区二区三区| 不卡av免费在线网址| 亚州熟女乱伦| 91精品人妻偷情| 国产精品ⅴ无码大片在线看.| jazzjazz国产精品麻豆| 欧美性爱日韩高清| 三级激情网站| 亚洲中文一区二区三区| 国产欧美一级在线观看| 欧美强奸一区二区诱惑| 久热大香蕉| 69超碰综合| 成人影 天天操 亚洲| 日韩国产十八禁| 午夜精品久久999热蜜桃介男人用|