色五月色开心色婷婷色丁香,五月婷婷丁香花综合网,婷婷丁香五月激情综合在线,五月婷婷六月丁香动漫,婷婷丁香五月激情综合在线,丁香花中文字幕在线观看,播五月色五月开心五月网,开心激情综合网,狠狠色丁香婷婷综合最新地址,丁香视频在线观看,狠狠做六月爱婷婷综合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
返回資訊列表
国产 日韩 欧美高清| 亚洲va有码在线天堂| 丝袜狠狠草尤物人妻av91| av一区二区三区四区| 精品9999| 日本男人插女人的逼黄色| 秋霞男人网| 10000部十八禁看电影| 一区不卡在线观看av| 欧美综合色站| 操国产高清| 日韩三级久久久| 天天谢天天干| 粉嫩av平台| 国产超碰在线| 亚洲 欧美 综合 91| 欧美,日韩,中文,另类| 99re99在线视频| 99久久精品无码一区二区毛片免费| 懂色中文一区二区三区 | 五月激情影院| 蜜臀国产AV中文字幕| 婷婷丁香五月综合| 四虎在线观看网站| 岛国在线一区二区三区| 黑丝日韩av丝袜av| 新97国产超碰| 欧美日韩免费性爱| avav青青草久久夜| 99久久久| …中文字幕亚洲乱,97人妻无码费视…| 性爱av在线免费观看| 日欧美色| 嗯嗯嗯啊啊啊干死我吧| 国产精品一区av在线| 四虎AV影视国产精品亚洲精品| 97操97色| 欧美高潮| 欧美在线干| 校园春色美腿丝袜 | 99色骚| 欧美 亚洲精品首页| 国产中文字幕曰本毛片| 欧美一区二区三区成人性生活| 亚洲伊人久久综合97| 蜜臀久久99精品久久久老,,| 97碰碰色| 精品久久久中文字幕不| 日韩熟女无码| 久久啊啊啊视频| 国产久久成人| 97视频新免费| 中文字幕高清精品一区| 国产色产精品在线观看| 日本三级韩三级99久久| 四虎视频在线观看| 日韩三级性| 欧美激情久操网| 黄污污污污| 久久五月婷| 91成人精品在线播放| 欧美一区二区日韩传媒搭讪精品| 一区AV| 欧美亚洲影视| 五月天丁香婷婷综合网站| 日日做夜狠狠爱欧美黑人| 欧美精品,四区。五区| 韩国久久97| 九九九九热只有精品| 精品一二三区久久AAA片| 国产av强奸美女| 夜夜操夜夜爽夜夜高潮| 高清国产性猛交xxxx乱大交| 欧美最大综合网| 欧美亚洲中文字幕| 97色婷| 国产无码久久高清| 日韩欧美偷拍美女视频| 日本女人操逼| CCYY草草影院地址入口| 大屁股熟女一区二区三区| 久久国产乱子伦精品免费女人| 青青草色插素人| 秋霞视频一区二区| 欧美日韩性爱电影在线| 欧美日韩小说| 少妇色综合| 亚洲最大91网| 午夜福利成人免费视频| 国产无马在线| 91宗合网| 在线观看啊啊啊啊啊| 久久女人视频| 激情婷婷丁香| 综合激情婷婷| 人人妻人人狠人人| 日韩三级在线观看mp4| 国产精品亚洲无码| 国产福利一区二| 欧美日韩亚洲少妇寂寞影院正在播放| 91黑丝美女| 白丝1区2区3区| 久久艹逼视频| 男人把坤坤插入女人的下体| 性饥渴少妇av无码毛片| 2017天天插| 青青草成人视频在线观看二区| 啊视频在线| 岛国片在线播放| 亚州性色| 国产亚洲精品美女久久久m| 色香av| 久久久精品久久| 久久综合中文国产| 精品免费1| 九九久久综合| 91九色网| 性爱综合网| 亚洲 欧美日韩 另类| 先锋影音av先锋一区| 久久中出| 荡小穴在线观看| 手机在线看片免费人成视频| 肉丝网站91| 国产小u女在线观看| 性色亚洲| 麻豆伊人网| 97日视频| 成人av在线播放| 五月天婷婷久久| 国产久久久久影院老熟女| 亚洲综合色图欧美| 五月色网| 91人妻最真实刺激绿帽| 日本超碰97日韩精品人妻| 日韩免费中文字幕视频| 日本一区二区电影网站| 17c嫩草51久久91嫩草| 六月丁香婷| 人人操人人摸超碰| 中文字幕在在线观看网站| 久久有码视频| 伊人成人中文字幕久久网| 色婷婷国产精品一区在线观看| 久久久精品国产亚洲伊人| 亚洲黄片免费在线播放| 爱丝福利| 99re6国产精品99re在线| 91精品人| 五十路熟女人妻一区二区在线观看| 中国亚洲呦女专区| 亚洲欧美不卡线| 欧美少妇第一页| 国产欧美精选激情视频| 97免费视频在线| 国产一区二区三区,在线观看观看| 天天精品| 中文字幕精品一区欧美| 97爱亚洲| 久久动漫精品视频这里只有精品| 天天做日日做天天欢。| 青娱乐91| 成人情色综合网| 精品妇女一区二区三区| 国产精品久久99日日| 成人网欧美风情| 91九九| 中文字幕 一区二区 亚洲无码| 午夜大香蕉| 日本一级婬片试看三分钟| 射久久| 国产精品午夜福利| 淫纸中9区| 久久精品中文字幕女同| 亚洲成人色情五月天丁香花| 人妻一区久久二区三区色播| 99热精品在线在线| 婷婷探花久久精品一区| 日韩欧美天天爽爽爽天天爽爽| 天天干一区二区| 成 人 影视 一区 二区 三区 四区 | 狠狠爱大香蕉| 青青在线视频日韩欧美| 亚洲中文字幕av | 精品九九九九九九| 97干色| 久久啊啊| 亚洲无线观看久久| 亚洲,日韩,欧美,成人播放| 中国AV美女| 天天弄天天操| 狠狠干综合| 人妻久久久久久| 蜜桃久久综合视频| 久操九九九九九九九九九九九九九九九九九九九九九九九九九九九九 | 可能人人看人人摸| 国产精品一区二区黄片| 丁香五月激情啪啪| 亚洲精品丝袜| 北京美女一区二区| 亚洲欧美国产其他二区| 成片免费播放| 校园春色中文字幕AV| 很很很很操| 欧美亚州色的图| 精品二999| 一二三区视频在线观看| 国产高清无码一区三区二区| 国产尤物AV尤物在线观看不卡| 久久精品亚洲成a人天堂| 亚洲老熟妇xxx| 少妇丝袜在线观看AV| 亚洲视频精选| 无套内射性感少妇视频| 久久鲁夜| 天天综合亚在线| 丰满熟女人妻一区二区三五十一路| 欧美96精品在线| 亚欧无码在线| 亚洲熟久久| 嗯嗯啊啊好爽| 操逼操逼视频操逼| 国产一区二区三区,在线观看观看| 97干综合网| 1区2区3区视频| 亚洲天堂7777| 另类专区加勒比| 天天躁日日躁狠狠狠躁| 亚洲吊色| 久草免费在线一区二区| 91国产丝袜美女| 午夜超爽| 狠久久| 超碰免费人人| 色色色五月婷婷| 日日日大屁股骚女人精品| AⅤ片水多多| 九九久久久久久爱| 97在线免费视频观看| 男人的天堂2019AV| 蜜臀久久久99久久久久| 躁躁日曰躁2020| 最新国内自拍av免费| 99re6久热只有精品6在线直播| 亚洲小说视频| 少妇69中文| 国产精品视频麻豆入口| 亚洲丝袜二区在线| 久久9精品视频| 久久久久久人妻一区精品色欧美| 曰本特级特黄特色黄色A级网站高清在线免费看| 国产中文大片资源中文字幕| 67914在线兔费成人视频| 萌白酱自拍视频| 韩国嫰模上门援交视频| 五月丁香六月婷| 天天射天天操天天干天天吃2018 | 九九九热精品| 久久久久国产亚洲一区欧美色图日韩 | 亚洲网自拍| 亚洲超碰在线| 欧美aaaaaaa| 亚洲综合色图欧美| 日日干日日| 国内亚洲精彩视频在线| 欧美人妻少妇| 色婷婷日韩精品一区二区三区| 无码99| 国产一区免费午夜视频| 蜜臀久久99精品久久久久久酒店| AV男人天堂网| 97干天天| 国产亚洲99久久精品| AV一区观看| 伊色久人大在线| 欧美熟妇亚洲版| 91视频观看网站| 屌色在线97视频| 香蕉婷婷| 婷婷丁香六月| 人妻中文在线| 亚洲人成网www| 国产日韩欧美三级片| 亚洲第2页| 最近2018中文字幕在线高清第一页| 国产99 中文字幕日韩小视频| 国产日韩精品suv| 国产一区二区三区高清视频| 日本高清视频xxxx| 综合免费无码中文| 强奸乱伦av电影| 精品成人亚洲午夜电影| xxx0国产在线播放| 亚欧无码在线| 天天爽人人综合免费7799| 精品在线观看视频在线| 精品国产乱码久久久久久口爆网站| 亚洲最大成人a毛毛片| 欧美亚洲尤物久久| 综合欧美日本三级| 97精品国产97久久久久久| 日韩三级视频一区二区三区| 美女自卫慰黄网站免费| 噜噜在线| 超碰久久精品| 超碰在线一区二区三区| 国产精品爽爽v| 老司机射| 婷婷三区| 91欧美情色| 私人尤物在线精品不卡| 日本一区二区三区四区免费观看| 97国产精品一区二区传媒公司| av网站在线看| 99色色网| 欧美女同在线| 黄色视频60分钟| 3p国产欧美99热| 91 手机在线播放 绯色| 精品人妻一区春色| 人妻无码一区二区三区久久99| 偷拍色图| 91精品女厕偷拍视频| 久久久久久夜夜夜夜夜| 亚洲精品97| 熟妇操花| 久久久91福利姬| 夜夜躁狠狠躁日日躁av| 免费一级毛片在线视频观看| 老女人老91妇女老热女| 内射老妇BBWX0C0CK| 天天日夜夜爽| 唯美清纯 妖精视频| 日韩欧美国产高清视频| 91碰碰| 亚洲日韩人妻中文字幕一区| 少妇二级| 99热| 亚洲射综合网| 97超碰中文在线| 丁香六月婷婷| 午夜精品久久99蜜桃的功能章节| 激情综合五月| 四虎精品永久在线播放| 久久久久9久久久久| 婷婷性网| 一牛影视久久久一区二区三区| 一区二区不卡视| 91粉芽高清在线一区二区| 91操熟女视频 | 东北操逼| 亚洲精品国产专区在线观看| 夜夜操天| 免费看片黄| 国精综合一二三区影视| 亚洲成熟国产精品美女| 男人的天堂久久| 欧美黄页在线| 国产精品蜜臀久久久久无码AV| 欧美视频在线第3页| 97在线观看免费视频| 欧美三级免费伊人| 精品偷拍13p欧美dodk视频| 色爽——AV| 婷婷五月天影院| 亚洲欧美高清无码| 91天美免费| 精精夜夜| 中文久久爆乳| 在线播放成人高清免费视频| 亚洲人人夜夜澡人人爽| 丁香婷婷久久 | 日本操逼视频在线| 90后后入| 97亚洲欧美日韩| 婷婷五月天成人网| 三级特黄60分钟播放| 中文字幕免费看| 国产尹人在线视频免费| 人人看欧美性爱| 日本熟妇自慰性高潮一区二区三区| 黄片aaaaa一区| 日本韩国国产精品一区| 天天日天天干少妇日| 另类专区加勒比| 亚洲国成人情色好看电影| 97人人草| 骚货人妻偷情自拍在线视频| 狠狠操狠狠爱| 日日狠狠久久偷偷色综合免费| 中文日本免费高清| 男同专区一区二区三区在线| 香港久久久| 欧美色图99| 国产一区二区在线播放,久久亚洲精品中文字幕第一区,亚洲精品在线中文字幕视频 | 久久无码一区二区二三区性色| 九久久精| 丰满人妻一区二区三区免费 | 久久婷婷色| 久操不卡视频| 色九月婷婷| 久久天堂婷婷网| 久热久一区二区三区| 神马午夜久久久| 色情亚洲日本成人| 超碰99热中文字幕| 先锋音影AV| 欧美色自拍| 天天干夜夜鈤| 婷婷av在线中文字幕| 亚洲成人黄色在线观看| 亚洲色图殴美色图激情乱伦| 色五月丁香五月| 久妇网| 丰满少妇高潮无码| 亚洲成人在线资源| 热思思免费视频| 国产女主播视频在线观看| 97超级色碰碰| 久久内射| 色色色色电影网| 色婷婷亚洲婷婷| 国产亚洲色婷婷99精品91| 黑人精品久久97| 色狠狠一区二区三区香蕉| 新亚洲无码| 91碰碰碰| 99re6国产精品99re| 91亚洲人| 五月丁香六月激情| 丝袜视频网国产90| 午夜一区二区三区国产| 中文幕97| 日韩欧美福利视频看看| 1024久久高清视频| 色香av| 免费黄色片。| 人人色人人射人人妻| 亚洲欧美在线丝袜| 另类小色呦| 亚洲日韩少妇一道本视频| 色网亚洲人| 亚洲国产奇米影视久久| 91在线丝袜视频| 高清在线不卡一区二区 视频| 国产偷人伦激情在线观看| 中文字幕一区 二区三四五 区日 日骚| 成人欧美日超碰| 国产91av在线播放| 裸体美女久久久| 天天操夜夜操狠很操| 亚州精品丝袜-不卡成人免费| 屁股久久久久久久久久| 玖玖97综合| 久久夜夜| 1204av韩国| 日本激情免费大片| 亚洲色图欧美色18直播在线| 一区二区三区四区色图| 日韩成人无码| 蜜桃色院一区久久 | 欧美加勒比| 青青草十区九区爱夜| 人妻献身系列第54部| 97一区二区三区视频| 国产成人综合在线播放| 色欧美在线| 高清不卡视频| 日本操嫩b网| 99re黄| 一区二区三区蜜桃成人撸久久东京热 | 久久99手机免费视频| 亚洲av无线观看| 国产一区在线看| 亚洲国产精品久久久久久久久久| 免费αV在线视频| 男生通女生屁股| 精品区9| av天堂5| 97欧美日韩| 日日干男人的天堂| 亚洲成人精品久久久| 亚洲精品xxx| 精品黄色电影| 干B网| AV网站高清无码在线观看| 97伊人| 日韩大香蕉精品在线视频| 亚洲黑丝在线| 香蕉久久国产AV一区二区| 欧美丰满少妇xx高潮| 国产99热| 久久久999| 玖日综合网| 色性综合| 中文字幕五区| 精品妇女一区二区三区| 爱做久久久久久| 麻豆国产免费影片| 五月天婷婷欧美三区| 伊人激情五月天一区二区| 强奸国产精品视频| 家庭乱伦性爱av| 思思性爱| 欧日韩不卡视.频| 五月丁香激情综合网| 99久久久久| 天天看综合网| 精品国产72| 日本男人插女人的逼黄色| 亚洲 欧美 小说| 熟妇艹鸡八| 97er欧美性| 啊啊啊啊啊啊啊啊啊在线观看| 五十路人妻在线| 琪琪精品免费一区二区三区 | 青草地一本线一区二区三区| 大香蕉日韩| 亚洲自拍偷拍视频在线 | 亚洲素人综合| 亚洲欧美日韩中文播放| yaouchengrenav| 91艹B视频| 精品超碰国产| 色综和网| 2019男人的天堂| 久久九九久精品国产尤物|国产精品爽黄69天堂A片潘金莲,国产亚洲精品第一综合 | 亚洲天天操| 欧美午夜一区二区三区| 啊啊啊啊视频免费| 伊人aaa| 久久午夜神马| 久久久久久久伊人精品| 国产精品美女在线一区| 大香蕉五月天婷婷| 亚洲的天堂网| 蜜乳成人AV| 伊人婷婷五月天| 97天天弄| 深夜视频| 极品美女福利在线观看| 色香阁在线| 三久久久四久久久久| 色婷五月| 天天射天天色成人| 91狠狠综合久久| 精人妻无码一区二区三区伊人直播 | 国产熟妇一区二区| 国产亚洲精品一区二区三区| 97操碰| 中文熟女五十乱码在线| 天天色,天天干,天天干| 天天看综合网| 超碰在线一区二区| 中文字幕 码 自拍 视频 区| 好涩综合| 人妻夜夜爽天天爽麻豆三区网站 | 亚洲中文字幕在线视频一区二区| AA丁香综合激情| 欧美日韩一二三| 久久久中文| 欧美日韩欧美| 很黄很污的免费网站| 天天夜躁日日躁狠狠2002| 久久久久久久久久久久久久久乱码| 欧美日本成人一区二区| 97色色国产视频| av网站在线看| 少好三P| 人妻少妇色综合| 欧美性爱一区二区 | 91老熟女老女人国产老太| 秋霞无码av鲁丝片一区| 亚洲欧洲日韩中文字幕一区| 欧美日韩情色一区二区| 日韩成人高清一区二区| 97人人爱人人做人人乐| 成年人黄色| 中国黑人三级片网站上区| 伊人网综合在线视频| 久久久久久人体| 99999久久久久9国产精品| 国产综合日韩伦理| 国产精品农村妇女| 男人亚洲91首页在线| 韩三级a视频在线观看| 久久久性少妇| 九热大香蕉| 伊人一区二区在线播放| 特色a在线上| 大香蕉综合久久| 亚洲欧美精品一区天堂久久 | 亚洲av国产av综合av卡| 婷婷10月天青娱乐| 国产精品久久久777| 色综合色色| 精品成人动漫一区二区| 国产黄色视频久久| 久久久亚洲| 韩国毛片一区二区三区| 国产偷人妻精品一区二区在线| 天天插天天舔舔天天干| 超碰在线91| 国产久久av| 国产乱子伦一区二区三区在线观看| 亚洲性少妇| 亚洲不卡av在线| 99热99re超碰精品| 人人色人人操在线| 欧美视频一区二区在线| 操逼无码一区| 久久久久九九九| 人人妻人人狠人人| 五月激情视频| 色色色色综合网| 台欧久久精品视频| 九九九九日本| 精品国产乱码久久久影院| 一区二区 韩日AV| 北约熟女超碰| 2024黄色视频| 99国产精品自在自在| 伦在线97| 校园春色AV天堂| 青青久久久| 在线黄色污污网站| 中文字幕第23区| yazhouzaixian| 国产久久久久久| 日夜精品| 中日亚韩免费视频| 国产农村一一级特黄毛片| 91 刺激在线| 亚洲少妇诱惑| 久操国产在线| 国产专区第一页| 先锋精品av色鲁| 欧美成人国产精品| AV天堂国产| 色婷婷综合网站| 日本大香蕉| 大香蕉一级黄色片久久| 国模精品一区二区三区苹果色戒 | 久久久青青草| 欧美激情中文字幕另类小说| 国产精品 亚洲情色| 蜜桃精品视频一区二区三区| 91精品亚洲内射孕妇| 在线观看十八禁| 亚洲限制级| 免费观看国产不卡av| 久操高青| 欧美色999| 色丁香五月婷婷| 97久久久久| 金莲网址| 伊人午夜福利视频| 国产一区二区三三视频| 亚洲天堂另类小说男人| 农村女一级毛卡片| 一区,二区,三区网站| 视频国产成人精品日本亚洲18| av天堂影视中文在字幕在线中文| 91成人久久| 中出789在线视频| 欧美精品一区二区少妇免费A片| 国产人妻精品久久久一区二区三区| 成年在线视频日本亚洲在线视频区精品江靖宇公司| 亚洲最新av无码成人精品区 | 色91综合网| 51久久夜色精品国产麻豆| 久久久久久久久久久久久久久久9| 日韩精品在线观看观看| 是还免费视频1727我| 日韩av一级黄片| 美女性91| 欧美色色人| 亚洲综合另类| 欧美性爱18观看| 欧美成人国产精品| 一区二区三区视频在线观看免费| 久热这里只有精品9| 久久精品国产精品亚洲艾通辽熟妇 | 3p国产色噜噜一区| 国产一区二区免费福利片| 校园春色家庭伦理欧美激情| 欧美嫩性色| 日本成人A片免费看| 亚洲se91| 激情啪啪视频| 九九毛片这里只有精品| 国产亚洲禁久一区二区| 天天躁日日躁AAAAXXXX国产 | 成人av毛片在线观看| 国际精品久久久| 欧美亚洲宗合色性图| 欧美久久九九| 国产精品久久成人免费| 久久首页| 日韩成人在线性爱视频| 五月婷婷丁香六月丁香| 一区二区三区不卡视频| 久久精品无码熟妇一区二区三区视频导航| 亚洲综合码| 色啪网| 亚洲AV操| 正在播放国产精品一区| 欧美伊人久久综合网| 欧洲特黄毛片免费看欧洲毛片| 狠狠干妹子| 9999九九九久久久| 大香交| 91美女国产在线| 91欧美另类| 龙兴卡官方查询| 久久久久久久久久久久欧美日| 岛国999| 天美传媒av一区二区| 校园春色美腿丝袜| 国产精品干干干| www国产无码| 久久久久九九九九| 久久直播国产| 亚洲另类电影| 亚州精人品大香蕉| 伊人大香蕉在线| 久久久久9久久久久| 丝袜无码a片| 香蕉免费一区二区三区不读| 97人人夜| 欧美在线永久天堂| 黄色一区二区秘书性感| 日韩啪啪啪啪啪| 99热色这里只有精品| 欧美国产一区二区三区麻豆传媒| 日韩天天本| 欧美色图片色哟哟| 亚洲性爱成人| 深爱激情五月天| 欧美亚洲AN| 国产精品大屁股999| 日本熟妇浓毛hdsex| 18禁止看精品中文字幕| 亚洲制服欧美另类内射| 超碰资源亚洲97| 欧美A√综合网| 九热久| 日韩 欧美 另类 人妻| 91无人区卡一卡二卡三乱码入口最新版:能让用户有更多选择的选择-经典说说-爱 | 秋霞久久亚洲精品成人| 五月天婷婷基地| 9997se| 岛国黄片网站| 日韩性爱高清免费视频| 99啪啪| 十八禁啪啪视频| 成人性爱av| 超AV色女| 校园春色亚洲色图| 囯产操逼片| 亚洲熟久久| 黄色成人网久久久久久| 欧苏综合色综合| 色悠久久久av| 精品久久久久久中文| WWW4虎| 色综合大香蕉| 综合久| 大白逼三四级| 超碰国产在线| 20cm女自慰在线日韩欧美| 亚洲人妻一区二区三区| 国产精品美女| 天美传媒国产原创中文字幕亚洲欧美另类 | 中文字幕一区二区三区50路| 极品极品色影院| 欧美日韩一二三| 91黑丝露脚| 欧美96精品在线| 天天操天天射青青草| www熟女乱伦com| 狠狠2050在线观看| www欧美性爱| 久久久久久久久久久久97| 艹我哪美一区无码| 国产福利一区二| 亚州欧美一区| 亚洲色欲天天人妻无码系列专区| 日韩猛交| 欧美精品第四五页中文字幕在线观看| 人人摸人人添人人操| 久久日韩肥臀| 大香蕉啪啪啪啪在线| 综合一区中亚洲国产成人综合精品| 欧美性高潮| 亚洲网自拍| 人人操人人狠狠操| 极品欧美一区二区三区| 九九超碰综合网| 人妻久热在线| 爱媛媛久久国产福利| 成人线上超碰| 性欧美第一页| 亚洲诱惑| 97精彩视频网站| 人人爱人人操人人性| 精品视频在线观看| 99re这里只有精品2| 亚洲淫乱骚妇AV| 女优免费一区二区永久| 亚洲精品aa久久伊人| julia国产在线 | 一本精品日本在线视频精品| 国产精品在线一区二区| 久草资源在线视频官方总站日韩丝袜美腿 | 日本在线播放不卡一区| 先锋色眉乱伦资源| 在线色导航| 一级做受视频免费是看美女| 97爱爱爱| 91精品国产91综合久久蜜臀| 天天看片青娱乐| 999热日韩精品| 国产久9| 天天摸天天操视频| 色哟哟av| 99re99在线视频| 风韵犹存大大大大香蕉 | 欧美超碰在线| A级片日韩欧美国产欧美视频精选观看 | 伊人操你| 国产亚洲色婷婷久久99精品91葵花宝典| 亚洲欧美天堂| 一级AV性爱| 日韩一级特黄av毛片| 久久精品久久久久久久久| 浓厚中出中文字幕在线| 日韩亚洲国产视频| 成人乱码一区二区三少妇| 大香蕉九九| 一区二区首页| 超碰社区97| 91精品无码久久久久久久| 亚欧成人中文字幕一区| 91九色精品熟女内射| 97香蕉人人乳| 91国产丝袜美女| 97在线免费看视频| 人妻一二三区| 久久天天摸| 色香阁在线| 一直超碰| 九九九色| 成人在线视频网| 欧美一区二区传媒| 高潮9999外国| 园内精品自拍视频在线播放| 日本五十路熟女一区二区| 色情五月综合婷婷| 男人把坤坤插入女人的下体| 亚欧洲日韩国产精品| 成人小说视频在线精品欧美| 人妻天堂综合网| 丰满人妻一区| 九九九九九精品| av凤凰久久久| 欧美色图 人妻| 日韩三级在线观看网站| 五月婷婷激情| 少妇激情AV| 久久亚州精品成人Av无| 少妇蜜汁| 欧美色宗合| 亚洲免费人妻在| 欧美,亚洲,日韩,v,天堂,手机在线观看| 久艹日日日| 日韩精品区二区三区不卡| 九九九九精品视频| 国产亚洲综合欧美一区| 日本性一区| 久久91精品国产9丨久久分亭| 青青草吊丝| 久久超碰网| 久久大香蕉手机高清| 91亚洲人| 伊人国产av| 波多野结衣AV无码一区| 伊人久久久日韩一区| 日本一级二级三级网站| 亚洲综合嫩| 久久久久久大| 秋霞蝌科网日本一区| 国产欧洲精品亚洲午夜拍精品| 333kkkk·亚洲com久久| 久久精品无码熟妇一区二区三区视频导航| 久久久免费的精品| 亚洲高潮影院| 草b在线 | 成 人 影视 一区 二区 三区 四区| 男人的天堂视频精品乱在线| 日欧美色| 丁香五月色| 欧美亚洲第一页| 欧美色图99| 久久仑合| 天天操女人| 成人av动漫在线观看| 91丨国产丨白浆秘 洗澡动漫| 一区 欧美 日韩 麻豆| 午夜国产成人福利视频| 欧美色另类| 自拍第一页| 亚洲综合在线高清| 熟妇熟女视频一区二区三区| 收看日本人日bb| 日本影视久久免费| 九九九国产精品| 夜夜操av亚洲一区二区| 久久高清欧美国产| 在线毛片片免费观看| 色综91| 97亚洲精品超碰| 久久99久久99精品天美传媒棢·纸:.| 亚洲美女30b| 四虎AV无码| www鬼畜国产男人的天堂| 欧美久久毛片基地| 久久视网78| 97ai亚洲| 欧美日韩*字幕一区| 俺去俺来也在线www| 亚洲AV噜噜狠狠网址蜜桃动漫| 少妇被玩视频二三区| 欧美一品道| 色97国产69香蕉| 欧美肥臀在线| 久久久久久久久久久久黄色 | 中文字幕久久精视频久久大全| 91女人的网站| 久草精品一区 | 亚洲欧美内射| 啊啊啊慢点| 久久双插| 国产精品人妻免费精品| 清纯唯美综合亚洲| 玖玖久久久| 久久男人天堂| 亚洲av影院在线观看| 性爱乱伦网址| 久久国产精品一级二级三级| 黑人中出21连凳花野真衣| 国产福利夜| 国产人人干| 97国产人人| 美国aaaaa一级黄片| 天天干少妇| 日韩天天本| 96久久久久久久| 国产午夜精品理论片a大结局| 天堂无码精品国产久| 囯产精品一区二区三区线|亚洲人成无码网WWW动漫|国产精品免费一级... | 久久午夜伦| 亚洲激情色片| 欧美色图99| 亚洲伊人a线观看视频| 国产精品一二三免费网站| 乱码熟妇人妻久久久| 亚洲在线91| 秋霞无码av鲁丝片一区| 天天透伊人| 美国三级日本三级久久99| 国产精品久久久久久亚洲色欲| 欧美日韩亚洲一区二区在线观看 | 97免费在线视频在线观看| 亚洲资源网| 久 久无码人妻AV| 9999免费精彩视频| 久久久男人的天堂| 思思久热在线精品66| 色婷婷A V一二三四区麻豆综合| 吖在线不卡一区二区国产剧情| 97视频观看| 色欲天天综合久久久无码网中文| 久久久无码国精品无码三区三区| 亚洲综合有码| av在线观看不卡网站| 久久久久久久久久黄色网| 免费观看成人www精品视频| 欧美一区91大爱| 国产福利视频精品视频| 日韩激情啪啪| 干B| 无码WWW免费视频网站| 曰韩少妇无码| 欧美亚洲尤物久久| 青青草日韩免费观看高清在线| 精品亚洲黄色片 国产精品导航一区二区| 夜夜嗨AV蜜臀av| 九九九国产| 色性荡荡荡荡视频| 又大又长又粗又爽又黄| 欧美综合777| 精品久热| 免费国产电影一区二区| 亚洲日韩少妇一道本视频| 亚洲色图欧美视频| 女人天堂av在线播放| 熟妇高潮一区二| 在线精品福利免费播放| 欧美92| 伊人久久大香线蕉亚洲五月天,青草青草欧美日本一区二区,欧美日产欧美日产国产 | 久久婷综合| 天天插夜夜爽| 亚洲天堂东京热| 一级岛国大片| 91黑丝操| 91在线限制级| 午夜福利1区2区3区| 人人超碰在线观看黄| 国产精品欧美日韩久久| 国产精品女aA片爽爽视频| 青久久| 狠狠搞 亚洲91| 色色99| 日本三级R| 中文字幕精品一区欧美| 美女久久久久久久久久久| 亚洲999综合| 青青操在线亚洲视频观看欧美在线 | 久久99操天天日| 一区二区三区四区免费视频| 超碰97色| 亚洲国产熟妇综合色专区| 97国产精选| 欧美一品道| 久草精品视频| 97超碰久| 97超碰中文字幕| 欧美激情一| 五月婷丁香| 在线观看综合精品亚洲| 欧美不卡在线一区二区| 91精品操美女| 丰满欧美放荡少妇在线| 欧美亚洲小说| 天天综合亚洲综合| 久偷拍欧美日韩三区| 天天日日本| 美日韩一卡二卡三卡免费人妻精品| 久久毛卡| 97人妻免费中文字幕| 亚洲欧美色图片| 亚洲高清色综合| 欧美在线91| 久久精品无码专区| 欧美日韩*字幕一区| 日韩综合成人免费视频| 逼逼逼逼操操操操操操操操操午夜剧场 | 丁香婷婷五月| 中文字幕亚洲热播人妻| 日本精品无码三级网站| 操婷婷逼| 中文字幕91综合| 亚洲熟久久| 亚洲欧美97| 亚洲在饯| 中文字幕精品日韩中文字幕| 日韩丝袜二区| 清纯唯美亚洲另类| 天天干人人看综合| 操逼视频免费日韩无码| 欧美日韩资源在线| 国内外激情在线| gogogo免费高清看中国国语| 亚洲中文字幕av| 一区二区视频你懂的| 欧美AB在线| 国模精品娜娜一二三区| 国内精品久久国产,www香蕉久久五月丁香,亚洲欧美日韩精品永久在线,日本精品一 | 91 手机在线播放 绯色| 麻豆一区在线| 中文字幕精品探花视频| 大香网伊人久久综合| 欧洲精品欧洲精品| 人妻性爱一区二区| 99免费在线视频| 有码专区最新中文字幕有码| 老熟女搡BBBB搡BBBB视频| 欧美黄页在线| 超碰九九| 婷婷中文字幕| 91热热色| 九九香蕉网| 骚人妻少妇视频| 国产精品爆乳懂色蜜乳| 97久精品| 啊啊啊 在线| 九九碰九九爱97超碰| 国产风韵犹存熟妇三区| 天天射夜夜骑| 四虎影院成年人片| 综合亚洲网| 97视频在线免费看| 亚洲性爱成人| 91狠狠综合久久久久久| 91痴汉| 亚州色图第三区| 国产精品爱欲| 亚洲综合贴图91| 日本欧美国内在线| 国产白丝AV| 夜夜爽妓女| 日韩大香蕉AV影片| 黄片直播三级黄片两女一男| 成人资源中文字幕在线观看| 亚洲操人| 午夜视频黄| 欧美天天影院| 久久草大香蕉| 一区二区三区看视频| 亚洲 欧美 日本 国内 首页| 日韩15p| 天天谢天天干| 色婷五月天| 国产成人欧美一区二区三区的国产| 爱爱动态试试看6 0秒| 日韩黄色成人性爱| а√天堂资源官网在线资源| 日本中文字幕一区| 天天做日日爱夜夜爽| 夜夜草天天| 少妇色欲综合网2| 老熟妇一区二区三区啪啪| 国产刺激视频| 日本性爱视频一级| 精品97精品97| 亚洲国产综合久久久性感熟妇| 国产99久久99热这里只有精品15| 天天日天天操天天射河南省| 97超碰伊人| 国产偷人妻精品一区二区在线| 青青草九九九九九| 中字乱伦AV| 性暴力欧美猛交在线直播| 午夜在线播放| 先锋女优在线观看视频| 精品少妇后入一区二区三区四区人妻巨乳 | 欧美日韩不卡传媒| 精品妇操一区二区三区| 欧美91网站| 黑丝内射一区二区三区| www国产无码| 麻豆国产视频精品观看| 91黑人无码激情在线| 日本天堂在线播放| 日韩图区| 色在线69堂| 色鬼在线综合| 亚洲熟女一区| 国产精品3|