色五月色开心色婷婷色丁香,五月婷婷丁香花综合网,婷婷丁香五月激情综合在线,五月婷婷六月丁香动漫,婷婷丁香五月激情综合在线,丁香花中文字幕在线观看,播五月色五月开心五月网,开心激情综合网,狠狠色丁香婷婷综合最新地址,丁香视频在线观看,狠狠做六月爱婷婷综合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
返回資訊列表
日韩另类| 97亚洲色图| 精品一二三区女同| 91在线丝袜| 麻豆尤物视频网| 91丝袜在线观看| 欧美日韩*字幕一区| 国产操逼视频在线观看| 思思性爱| 亚洲 欧美 中文 日韩超碰| 内射日韩大臀美女| 秋霞鲁丝午夜无码一区二区三| 91男人天堂网| 综合网亚洲| 国产乱色国产精品免费视| 亚洲乱码国产乱码精网站| 丁香五月婷婷基地| 欧美色天堂网在线视频| 成人AV在线网站| 懂色av一区二区三区天美传媒| 最新日日夜夜天天干干| 婷婷大香蕉| 日韩懂色网| 欧美性第1页| 91国产操逼视频| 成人性爱全视频观看| 男人天堂久久精品| 色情婷婷久久五月天| 国产精品剧情| 丰满人妻av一区二区三区| 亚洲图片 91| 国产性爱欧美性爱在线| 97免费视频在线观看| 一级性爱啪啪视频| 中文字幕精品一区二区精品| 99只有精品| 亚洲女人91| 欧美成人A√在线一区二区| 人人玩人人添人人澡免费| 国产尹人在线视频免费| 亚洲淫乱骚妇AV| 亚洲蜜臀精品视频久久| 日韩无码操逼片| 天天干天天拍| 97精品国产精品免费观看| 老熟女91视频| 国模吧 一区二区三区| 91老司机在线视频免费观看| 0755午夜福利视频| 日本操逼视频导航| 97综合国产精品高潮久久| 后入合集| 偷拍自拍在线视频观看| 久草婷婷| AVE乱伦| 色欲久久综合| 97视频新免费| 成人一道本免费视频| 国产女生在线| 青青操视频在线| 国产精品美女久久久久久网站| 欧美一级做a爰片免费视频| 久久久久久久久久久999| 国产女大学生AV| 天天舔天天 | 搞中出视频在线观看| 天天噜| 亚洲综合在线视频| 中国91AV| 97精品综合| 色综合 加勒比| 丰满人妻一区二区三区四区| 97公开久久| 欧美天堂亚洲电影院一区在线播放| av亚欧| 欧美成人9797| 视频一区二区免费在线| 欧美久久毛片基地| 综合国产影视三级| 夜夜骑操视频| 色综合网1| 性欧美第一页| 久久天堂婷婷网| 好爽视频在线观看| 91丝袜美腿网站| 午夜国产综合视频在线观看| 国产后入| 亚洲情色五月天 | 激情五月天丁香| 丝袜视频网国产90| 五月综合色| 性高潮久久久久久久久久久| 91久久久久久| 免费视频一二三区| 999在线电影香蕉| A 天堂| 91爱做| 插欧洲美女欧美精品| 超碰精品97| 97色伦欧美| 亚洲欧洲日本精品中文a∨| 天天干天天日天天射黄色片| 国产真实野战在线视频| 欧美翘臀视频网站一区二区三区| 中文字幕精品人妻丝袜| 日本天天操| 亚洲人妻日日日| 啊啊啊啊啊操我视频| 日韩亚洲中文字幕在线| 蜜臀一区二区三区亚洲最新章节在线观看 - 高清蜜臀一区二区三区亚洲全集播放 | 91九色精品熟女内射| 国产三级片在线观看| 一区二区三区日韩欧美| 日本熟女中文| 国产精品露脸在线观看| 欧美激情亚洲| 国产熟女精品区| 久色网| 岛国福利在线精品播放| 97鸡把在线视频| 无码视频一区二区| 日日干日日| 亚洲自拍天堂| 久久AV无码AV| 78m啪啪啪| 亚洲揄拍网| 精品一区二区啪啪啪| 国产一区二区三区久久久精品| 综合网亚洲在线| 一区二区三区在线资源| 极品色www影院| 精品国产三级av韩国在线| 91久久国产精品| 天堂在线一区二区| 中文字幕少妇色| 色色综合网站| 精品久久大胆人体| 国产丰满熟夫69mpp| 黑人无码一区二区| 欧美亚洲高清| 84YTCOM性无码| 被窝影院午夜看片无码| 国产综合网站在线播放| 亚洲天堂电影精品一区| 中文字幕-区二区三区四区视频中国| 欧美日韩精品久久| 超碰导航97| 91nbbbbbb| 青青青草原| 丰满人妻一区二区三区大胸懂色| 天天综合网亚洲综合网| 色婷婷av在线观看| 日本羞羞的视频在线播放| 麻豆一区在线| 日本三级日本三级99| 97射欧美| 亚洲国产一区二区三区在线 | 中文字幕aⅴ在线视频| 大香蕉中文在线| 被窝影院午夜看片无码| 加勒比av网| 免费成人在线熟妇网| 国产日产欧产美韩系列麻豆免费| 久久久久久加勒比| 啪啪视频免费在线观看| 人人操我人人干| 天天精品| 国产日本熟女顶级一区二区三区视频 | 欧亚日本情色| 色在线视频导航| 国产成人精品必看| 2024人人操人人摸| 激情综合五月丁香| 亚洲AV免费在线观看| 国产精品久久久久久片| 人妻熟女字幕一区二区| 午夜欧美神马久久久久| 日韩人人精品| 日本韩高清无砖码22o| 亚洲三区视频| 婷婷五月天_亚洲小说欧美激情另类_精品久久国产字幕 | 色综合潮| 9美女超碰在线免费观看| 91骚熟女| 婷婷视频在线免费观看| 亚洲一二三精品久久网| 伊人久大| 九九视频黄色片| 国产精品熟女乱伦| 中文字幕版| 快播电影网日韩新片| 97免费在线视频| 女人高潮抽搐喷水视频网站| 国产AV天美| 被男人吃奶很爽的毛片| 91狠狠综合久久久久久| 欧美第二页午夜| 久久狠狠色噜噜狠狠狠狠97 | 五月天亚洲网| 黄片免费视频2019| 超碰亚洲欧美日韩无| 激情文学亚洲| 嫩草在线视频| 啊啊啊啊啊啊啊国| 九九九久久久W精品| 久久久久久亚洲中文| 熟妇女伦乱视频| 人人操人人插人www| 97天天爽| 天天干18禁| 岛国黄色大片网站| 美女网站黄页| 激情网色| 欧美黄色片AAAAA| 久草毛片| 国产乱伦性爱AV| 春色综合免费| 日日操夜夜操天天操免费观看麻豆| 日韩一区二区三区四区五区| 97久久超碰国产网站| 国产女人高潮视频| 欧美精品四区| 亚洲丝袜色| 十八禁网站在线| 大香蕉在线视频重口味毛片在线| 大香蕉综合在线| 97草草| 亚洲美腿丝袜香蕉影视欧美成人| 亚洲美女黄色| 欧美三级免费伊人| 精品网站9999| 亚洲欧美人妻| 好湿好紧好爽 视频| 超碰97护士| 91视频国品一二三区| 九九热精品视频六| 人妻久久久久久久久久久久久久久| www久久精品| 亚洲精品日韩国产欧美| 97伊人超碰| 亚洲精品乱码久久久久久蜜桃麻豆| 天欧美在线| 欧美另类精品xxxx| 久久久性少妇| 成人网站 免费观看| 亚洲日韩美女中文字幕乱| 999国产精品999| 天天做天天爱天天爽| 内射黑丝袜| 日本性交操一区二区不卡系列| 欧美在线官网| www.亚洲成人一区| 97AV在线免费观看| 8050无码八戒| 国产一区二区在线看| 色欲久久综合| 国产呦精品系列在线观看| 日韩美脚一区二区网站| A片大香蕉在线| 国产偷仑| 成人日本视频人妻在线| 亚州色综合| 人妻嗯啊啊在线播放| 国产传媒日韩| 97公开久久| 把腿张开老子CAO烂你| 91麻豆天美国产欧美高潮| 五月天婷婷色色| 在线视频 亚洲精品| 淫乱图区 | 青青草一区二区高清无码视频 | 大香蕉免费中文| 日本媚薬中文字幕在线| 婷婷丁香五月激情啪啪| 欧洲性爱无码区| 啊啊啊啊啊在线视频| 又大又长又粗又爽又黄| 老鸭窝在线视频播放| 日韩乱码Av| 伦激情人妻另类人妻| 91青青在线视频| 丝袜AV一二三区| 亚洲素人综合| 韩国嫰模上门援交视频| 色婷婷五月综合激情中文字幕| 国产欧美伊人| 可以在线观看AV的网站| 97色97干| 国产AV线| 亚洲精品1区| 国产免费久久久久| 性久久| 亚洲天天自拍| 99国内精品| 日韩三级天堂在线观看| 日本一级特级毛片视频| 东北老熟女| 男生女生啊啊啊啊| 大香蕉手机视频| 蜜乳Av成人片网站| 日日操夜夜操天天操免费观看麻豆| 九九热精彩视频| 久久久久久久一级黄色打同平台| 黄页视频网站野外| 手机看片91人妻| 日本 情色 1区| 国产九九九九九九| 国产中文福利| 操人妻丝袜高跟| 国产欧美一区激情交| 成人麻豆av电影网站| 精品九九| 日韩射精| 97在线免费看视频| 四虎影视国产精品| 97久久国产亚洲精品超碰热| 人妻在线大香蕉| 日本裸体久久色噜噜| 91久久久久久| 97碰在线视频| 色综合久| 久综合国内精品自在自线| 国产一级内射高清视频| 超碰精品人妻狠狠干| 亚洲永久AV无码精品秋霞| 欧美黑人猛交春色影视大全| 五月天婷婷成人网| 99色色网| 丁香五月婷婷啪啪| 日本中文字幕在线视频| av国产无码| 欧美性爱另类综合| 无码国产精品午夜不卡(| 岛国黄色大片网站| 操逼网站视频漫画国产| 人人人人插| 精品欧美А∨无码黑人大荫蒂 | 超碰色老头| 一本大道久| 97欧美日韩精品| 精品9999| 久草成人影片| 性欧美999| 亚洲色图欧美色18直播在线| 农村少妇久久久久久久| 亚洲毛片久久| 另类图片天天影视| 亚洲色图欧美色图另类图片| 激情文学88| 久久狠狠色噜噜狠狠狠狠97| 中文操逼字幕| 7777奇米影视久久| 亚洲免费在线探花| 伊人黄色视频免费观看| 五月婷久久| 91婷婷| 色99在线| 五月婷丁香| 人妻少妇精品一区二区三区| 96AV久久久| 97精品第3页| 9999久久久久| 欧美综合综合| 人妻丝袜日本| 午夜福利1区2区3区| 另类小说综合网| 操逼天美3区| 国产色呦呦| 色色色999| 校园春色制服丝袜中文字亚洲| 欧洲综合视频| 八人操人人摸人人看| 久久无码成人| 婷婷丁香五月天综合东京热| 999狠狠综合| 精品综合久久久久久五月天| 操迟操逼在巾线Fre看| 一本一道波多野毛片中文在线| 国产91会所女技师在线观看| 操逼视频亚洲| 国产99热| 人妻久热在线| 偷拍色图| 综合亚洲欧美| 精品国产91内射久久| 精品国产一区二区三区香蕉欧美| 免费簧片在线观看| 99久久久| 久久中日麻豆| 久久精品国产97欧美精品亚洲| 蜜臀久久99精品久久久久久酒店| 日韩字幕一区| 熟女六十路| 熟女丰满人妻一区| 在线黄色污污网站| 91免费看中出视频| 自拍偷拍第26| 亚洲精品国产精品乱码不99| 刺激性视频黄页| 国产精品久久久九九九| 国产AV线| 日产操逼| 爱做久久久久久| 日韩pv中文| 少妇色综合| 日韩91网站| 家庭乱伦国产| 亚洲丝袜色| 天堂伊人久久| 91性网| 黄色视频60分钟| 狠狠干婷婷| 久草婷婷| 热热色91| 户外裸露刺激视频第一区| 日韩无码嘿咻黑热久| 色婷婷婷五月天激情四射| av资源在线播放天堂| 大香蕉在线免| 九九九只有精品| 亚州色站 日韩电影| 色噜噜狠狠色综无码久久合欧美| 操逼逼中文字幕| 亚洲天堂男人在线| 青青草日韩免费观看高清在线| 欧美97爱| 91人妻尻屄视频| 欧美日韩黄色片一区二区三区四区人与兽做爱 | 欲色影视综合吧| 九九无码视频| 亚洲一区二区三区AV无码| 亚洲.欧美.丝袜.中文.综合| 久久久蜜桃一区二区三区| 国产日本熟女顶级一区二区三区视频| 香港成人一级视频在线青青草| 超碰天天操| 97欧美| 亚洲情色 自拍| 国产白丝AV| 青青伊人这里只有精品| 伊人网在线点播| 99自拍视频在线| 一个人免费HD91视频| 麻豆天美91| 久久久久久久一级黄色打同平台| 成人小说视频在线精品欧美| 亚洲天堂2020| 91免费看一区二区三区| 日本女人久久久| 天天视频综合在线观看视频| 精久久久91| 国产精品剧情| 91狠狠色丁香婷婷综合久久精品| 亚洲天堂资源| 欧美αv.com| 欧美永久激情一区二区| 夜色91| 3p国产欧美99热| 国桃视频产巨乳精品一区二区在线| 中文字幕日韩专区精品系列| 9/A片 | 国产视频三区四区| 人妻精品一区二区| 综合一区中亚洲国产成人综合精品| ai欧美亚洲小说| 国产隔壁老王影院在线| 九九英色视频| 两女互慰AV高潮喷水在线观看| 男人天堂.AB| 男人天堂2030| 天天干天天爽| 天天久久久久久| 操逼操网| 尤物av网站| 久久的免费性爱视频| 中文字幕 码 自拍 视频 区| 天天狂操夜夜狂日| 性爱动态120秒| 午夜爽爽爽| 国产精品交换一区二区| 男人的天堂va| 偷拍欧美激情| 久久精品国产欧美日韩亚洲欧美日韩中文久久国产一区 | 神马久久网| 又大又大又大又粗爽高潮观看 | 99999久久精| 首页亚洲国产高跟丝袜诱惑视频| 99热伊人| 国产伊人自拍| 啊啊啊啊好爽好舒服一区二区易域| 亚洲精品99| 78超碰| 91美女视屏| 日本中文熟女视频| 欧美日韩精品国产91| 一级做a爰片久久毛片图片| 日韩熟女精品无码专区一区二区| 日本乱人伦片中文三区| 亚洲大色堂| 先锋色眉乱伦资源| 久久久精品无码亚免费| 久肏视频字幕| 中文伊人大香蕉视频| 欧美亚洲中文| 女人的天堂大香蕉网| 欧美日韩操操操| 久久精品操| 丝袜 亚洲 偷拍| 精品免费视频国产一区| 啊啊啊不要好爽日韩无码一区| 韩三级a视频在线观看| 中文字幕AV片| 国产精品三级视频网站| 欧美黄业| 亚洲情色在线| 欧美日韩第一页| 天天肏天天干| 天美欧美国产| 天天躁日日躁AAAXX| 91成人无码| 亚洲综合性感在线| 成人网站 免费观看| 97在线观| 97视频620| 亚洲蜜桃V妇女| 蜜臀久久99精品久久久久久婷婷| 情色五月天久久久| 亚欧日韩成人| 俞拍久久国应视频| 亚洲吊色| 五月天婷婷色色| 操逼无码操逼| 秋霞福利网| 极品尤物女神在线观看| 99国产精品自在自在| 欧美性生活免费网| 九九热精品视频六| 亚洲色图欧美色图制服丝袜| 睡产熟女乱伦| 最新无码国产| 少妇熟女视频一二三区| 67914在线精品观看| 免费作爱一级视频| av激情亚洲五月天| 青青草国产一区二区三区| 久久久久久午夜男人的天堂| A级在线视频| AV天黑人| 天天爽夜夜欢视| 国产日韩欧美三级片| 高清国产无码av| 亚洲伊人青青草| 青青草亚洲一区| 国产精品久久久久久久久AV大片| 亚洲国产美女久久久久| 五月天AV资源| 婷婷精品国产一区二区三区日韩| 开心五月激情网| www.av在线视频| 97综合在线| 男人天堂网手机版婷婷| 亚洲日韩青青草色月| 麻豆这里只有精品| 无码最新| 探花视频免费观看国产专区| 超碰免费欧美7| 五月天婷婷色| 爱av免费| 精品人妻中文字幕4399| 色香AV| 天天天做天天天爱天天天爽| 91狠狠综合久久久久久| 天天天天天天天天天天干美女| 精品午夜福利导航| 天天欧美| 97资源站久久| 小草精彩毛片| 狠狠操夜夜| 亚州熟女乱伦| 亚洲欧美首页| 超碰97久| 91视频综合在线| 国产亚洲日韩欧| 久久人妻熟女一区二区| 动漫av中文| 国产久久视频| 69超碰综合| 欧美黄色大香蕉一区二区| 亚洲色系另类精品国产| 乱伦强奸区日韩| 97色香蕉| 天天摸天天操视频| 91精品少妇搡搡搡| 人妻少妇精品久久久| 久久的网站啊啊啊啊啊| 花野真衣| 青青草操逼逼视频| 激情视频网址| 国产精品久久伊人| 日本国产高清色www视频在线| 国产黄色影片在线观看| 麻豆视频国产一区二区| 一级二级在线观看| 欧美九九九| 欧美亚洲在线| 亚春色色| 成人AV在线网站| 怡红院网站在线视频| 热热色色综合| 亚洲自拍欧美色综合| 国产美女口爆吞精| 亚洲第一页欧美| 美女露胸露奶头| 狠狠狠一区二区三区| 男人的天堂不卡一区二区 | 97操97干| 91日韩网站| 全国男人天堂网| 精品国产乱码久久久影院| 精久久久| #NAME?| 亚洲色图 91| 蜜区区视频79| 久久久久女教师免费一区| 欧美日韩人妻精品一区二区三区 | 亚洲1区2区三区高清中文字幕| 久久久久久电影| 在线A日本| 黄在线| 亚洲一曲日韩精品| 亚洲日韩美国人妻| 亚洲码专区| 污污汅18禁网站在线永久免费观看| www..com操老师| 日韩乱中文| 日韩黄色一区二区三区| 99视频自拍| **一级毛片国产| 亚洲第一页色| 91n美女视频| 人妻美腿丝袜制服诱惑综合天堂-| 91国产大片| 国产偷仑| 超碰碰小说97| 中文字幕一区二区三区四五区| 超碰久草| 日韩综合色图| 人人人摸人人| 自拍偷拍亚洲熟女妇人精品| 一区二区三区四区免费视频| 国语av最新自产拍在线观看| 婷婷久久综合久| 色妹子A V| 东北女人被操| 操老熟女AV| 欧美综合狠| 亚洲人久久久久日| 久久亚洲国产成人| 国产熟女乱论| 九九综合| 久久久久久久久久黄色网| 中文熟女五十乱码在线| 久久内射| 韩三级a视频在线观看| 成人美女av| 丁香五月综合| 屌妞视频久久久久久久| 加勒比av网| 懂色av一区二区三区天美传媒| 不卡中文字幕aⅴ在线| 免费A V在线播放| 伊人亚洲国产一成人久久精品,久久| 丝袜AV一二三区| 欧美少妇性乱| 色婷婷久久| 操我啊啊啊啊啊| 97超碰这里只有精品| 日韩有码中文字幕女同性恋 | 亚洲日韩欧美一区二区| 四虎在线视频| 免费A片三p视频| 国产浮力影院第1页| 久久超碰爱| 欲射影视| 精品国产乱码久久久久久蜜臀| 成年人网站在线免费观看| 黄色性爱网网| 国模精品一区二区三区苹果色戒 | 亚洲人天堂| 99久久久久久亚洲精品不卡| 日本 欧美 国产一区| 2025亚洲男人天堂| 青青草日韩免费观看高清在线| 999热这里只有精品| 国产日韩在线播放av| 俺去也婷婷| 亚洲色悠悠久久88| 亚洲欧美清纯| 国产精品呦一区二区三区| 男人天堂久久精品| 蜜桃臀一区二区aV| 欧美色欧美| 超碰成人国产| 97久久久精品| 国产精品扒开腿做爽爽爽视频| 欧美一级特黄淫片在线观看| 91亚州日韩高清| 天天热精品| 91看黄片| 日产狠狠干| 一二视频神马久久传媒| 久久久久久99AV无码免费网站| 亚洲人妻中文高清| 密桃99999| 啊啊啊啊啊好舒服视频| 妇女性内射冈站HDWWWCOM| 国产激情综合| 国产欧洲精品亚洲午夜拍精品| 熟妇人妻精品一区二区| 熟女高潮精品一区二区| 国产最火爆久久国产网站网站| 99热亚洲| 日韩欧美成人性爱在线| 一起草视频在线| 国产精品嫩草影院免费| 日韩AV中文字幕电影| 国产精品国产亚洲区艳妇糸列| 熟女丝袜视频| 亚洲影视高清第一页| 欧亚 另类 久| 肏逼视频日本| 高潮的A片激情扒开一区| 99热欧美| 人妻少妇无码| 久草福利在线资源站| 亚洲色图a| 屌妞视频久久久久久久久久久久| 91操熟女视频| 少妇滛荡视频| 丝袜熟女2P| 日本在线视频导航| 调教熟妇 久久久久久| 少妇免费视频| 91中文字幕在线观看| 国产精品自拍欧美在线| 免费无码国产精品v片在线观看| 亚洲日韩视频二区| 人人色人人操在线| 啊啊啊啊好疼视频| 国产成人一级av88| 亚洲欧洲色情高清| 中字幕人妻一区二区三区| 91ise欧美| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区 | 老司机老司机午夜影院| 久久欧洲| 日韩在线地址一| 免费农村成人少妇人妻Aa一区二区视频 | av在线观看不卡网站| 色综合加勒比四四季| 国产 日韩,欧美 自拍| oumeisetu综合| 一起草在线视频| 青青网三级视频| 激情小说亚洲色图| 香蕉综合网| 猛猛干| 一区二区三区精品黑丝白丝酒店对鸡 | 日本天堂网| 欧美黄色手机在线观看| 欧美日韩免费专区在线| 日本精品中文字幕视频| 欧美三级一级| 男女做爰猛烈动高潮A片免费应用 少妇厨房愉情理伦片bd在线观看 不卡中文字幕aⅴ在线 | 国产一区二区二区按摩精品啪视频| 6080yy午夜理论三级一区二区三区无码| 大香蕉青青9| 丝袜美腿制服人妻二区中文字幕| 久久久久网站-538在线视频-欧美永久乱码 | 亚洲国产熟妇综合色专区| 天天欧美欧美亚洲网| 免费国产视频| 欧美18禁91| 欧美18老人禁| 黑丝日韩av丝袜av| 艹比视频国产精品| 校园春色美腿丝袜 | 欧美亚洲涩涩| 黄色片大香蕉| 天天色欧美| 日韩99999色| 奇米四色影视777久久久| 国产精彩女在线观看视频| 国产精品久久伊人| 九色 蝌蚪 熟女自| 色99色| 亚洲欧美国产va在线播放频| 97视频620| 日韩人妻 中文字幕| 成年在线视频日本亚洲在线视频区精品江靖宇公司 | 精品一国2| 91c色| 熟女久久| 青青草九九九九九| 久综合国内精品自在自线| 国产精品suv一区| 国产激情在线| 天天肏天天干| 色大师网站www永久网站视频| 性爱视频无打码在线观看| 99热这里只有精| 黄色大片免费在线| 青青草一区二区三区四| 亚洲天堂电影精品一区| 人人操人人爽人人操人人| 偷拍超碰| 午夜男女爽爽爽在线视频| 999国产精品999久久久久久| 色吧五月| 岛国免费视频在线| 无码精品啪啪啪一区二区三区三州| 天天干天天拍| 高潮的A片激情扒开一区| yazhouzaixian| 欧美另类色| 久久精品中文字幕观看| 校园春色 亚洲| 91美女在线视频| 激情网五月天| 国产女同视频在线播放| 少妇蹲下露出大唇5| 精品一国2| 婷婷五月影院| 精品亚洲黄色片 国产精品导航一区二区 | 偷拍欧美激情| 1769精品一区二区三区| 久久久9999| 中文字幕午夜精品久久久| 综合熟女| 亚洲欧美日韩精品久久久一区二区| 中文字幕一区二区视频在线观看 | 91N综合网| 天天摸夜夜操视频| 久干9操| 97在线青| 2020中文字幕| 操逼操操操91| 黄片国产精品一区二区| 中文字幕日韩情色| 国精综合一二三区影视| 日本超碰在线国产一区| 搡老女人老妇女AAA一VU麻豆| 超清中文乱码字幕| 国产自偷| 精品亚州18| 久久精品视频久久久| 99久久99九九99九九九| 日韩欧美大力操| 婷婷色综合欧美日韩| 偷拍导航视频网站| 欧美熟妇亚洲版| 日韩中文字幕熟妇人妻| 日日夜夜干| 色婷婷九月天天综合| 久久中文字幕一区不卡| 97在线免费| 久久久久久久久女黄| 欧美在线视频播放| 亚洲熟女综合| 久久久久久亚洲精品不卡人乳| 天天干人妇| 亚洲高清无码在线桃色| 97精品一区二区视频| 好爽免费视频| 97中文热色| 狠狠操狠狠燥| 91色堂| 蜜臀久久久国产| 91国产丝袜足交精品视频| 一区二区三区在线资源| 久久女婷| 精品一二三区久久AAA片| 乱伦av国产| 人人操人人插人人摸人人干| 天天草天天日| 爱爱啊啊啊| 欧美综合亚洲综合| 欧亚 另类 久| 超碰九九| 成人区人妻精品一| 久久久天美| 伊人午夜福利视频| 黄色一区三区| 97干com| 人妻天天操天天爽视频免费| 色欧美天天| 黄片无码在线制服| 精品一区二区综合熟妇| 亚洲精品国产熟女久久久久久| 飘花国产午夜精品不卡| 人人操人人摸avav| 欧美一级美片在线观看免费| 看免费一级在线播放毛片| 激情文学88| www国产无码| 亚洲一区二区三区在线激情| 天美传媒AV在线播放| 2017天天拍大香蕉| 91w欧美| 风月影院十八禁| 极品销魂美女一区二区 | 亚洲性少妇| 日噜夜夜夜夜夜夜夜夜夜夜爽爽爽爽爽爽爽爽爽爽爽爽 | 亚洲熟妇丝袜在线观看| 久久精品视-一级做a爰片性色毛片16美国-中国女与老外在线精品 | 大色网久久| 97资源站国产精品| 蜜臀网 一区| 天天综合网网欲色| 中文一区二区三区影院| 国产亚洲色停停久久99精品91| 青娱乐老司机视频| 九九视频黄色片| 日韩欧美成人综合在线| 91社区拍啪人妻| 逼逼逼逼操操操操操操操操操午夜剧场 | 五月天综合网| 中文字幕高清20页视频| 日韩熟妇二区| 欧美大香蕉在线观看| 大香蕉色网| 国产精品熟女九九九| 天天日美女的B| 超碰97极品9| 日本三级精品| 欧美性天天| 国产精品永久免费10000| 97在线精品观看视频| 永久免费发布性爱网| 久久五月视频| 欧美日韩操操操| 在线日韩视频| 久久人妻四季| 欧美亚洲高清不卡| 久久是精品| 91老司机视频| a片在线播放| 操逼天美3区| 国产视频一区二区免费| 亚洲色图超碰在线| 日韩欧美成人大香蕉| 色男人色天堂东京热| 色原狠狠天天天| 热99这里有精品综合久久| 日本人妻中文字幕精品| 探花一区在线| 午夜精品99久久久久传媒| 丝袜喷水在线| 91美女视频电影| 91精片| 欧美日韩啪啪电影| 黄片直播三级黄片两女一男| 校园春色综合| 久干网| 欧美色图片色哟哟| 明星性猛交ⅹxxx乱大交| 大香蕉专区| 久久婷婷五月综合| 五月天综合网| 综合亚州欧美| 亚洲精品一区二区三区新线路| 日本高清一区二区在线| 黄色性爱网网| 中文字幕aⅴ在线视频| 亚洲激情综合| 亚洲91网。| 97精品一区| 乱伦熟妇一区二区| 3p国产色噜噜一区| 啊啊啊啊啊在线观看网址 | 中文字幕av色| 天美一区在线| 欧美牲| 伊人激情五月天一区二区| 九九99久久| 97精品视频网站| 中文久久久| 99热色精品| 国语国产操逼伊人AV网| 亚洲欧美高清无码| 91人精品妻入口| 黄片qw| 激情 欧美 亚洲 小说| 欧州一区二区三区四区| 亚洲码在线中文在线观看| 一区二区免费电影久久| 呦呦一区| 久热伊人| 久久精品国产亚洲AV高清演员表| 91丨九色丨大屁股| 亚洲欧美setu| 久久久久久久久久久久97| 国产精品干干干| 俺去久久| 91精品少妇搡搡搡| 乱抡国产91| 婷婷尹人大香蕉免费| 97超碰总站| 国产成人亚洲精品无| 亚洲精品无码少妇久久| 97日视频| 中国特猛少妇色xxx| 亚洲色图日韩精品| 人妻精品一区二区全免费| 久久久111| 久久精品男人的天堂| 欲色啪| 美女9118禁| 久久黄色性爱视频| 亚洲AV永久无码一区仙野| 欧美淫穴| 久久超碰98| 精品对白久久不卡| 亚洲 自拍偷拍 欧美| 9l视频自拍9l九色成人| 欧美特大黄一级片片免费| 狠狠操一区二区| 人妻少妇精品| 在线不卡视频| 伊人久久蜜月| 久久精品福利影院| 精品无码一区二区| 日韩精品午夜操呦呦不卡影院| 成人a大片在线观看| 国产SV一线| 久久久久亚洲Av无码专区老牛影视 | 98福利在线视频| 午夜福利1区2区3区| 一区二区偷拍拍视频| 亚洲成人AB| 欧美视频边做饭边橾| 一区二区三区色综合| 中文字幕在线免费观看2| 精品丰满人妻一区二区三区免费观| 91美女视频直播| 黑人精品成人一区二区三区 | 97资源站国产精品| 亚洲色图亚洲无码强奸乱伦| 日韩三级在线观看mp4| 欧美操人视频| 91在线视频免费中出| 国产高清自拍| 天堂岛av| 亚洲自拍97| 啊啊啊好爽快点啊啊啊嗯嗯| 黄色工厂这里只有精品| 精品国产肉丝袜在线拍国语 | 黄色大香焦1级‘′‘| 黑丝少妇麻豆| 百度百度日本操逼| 国产精品久久久视频| 97超碰站| ′ !γ}丶。。久久精品欧美一区二区三区 | 天天色悠悠激情| 97国产人人| 北条麻妃99精品青青久久| 97香蕉网| 精品国产乱码久久久久久影片| 中日韓欧美高清| 丰满欧美少妇| 国产91精品在线免费| 亚洲91少妇| 天天看天天日| 久久综合精品一区二区三区| 99亚洲精品| 玖玖综合色| 欧美1区二区三区公司| 伊人久久亚洲中文字幕不卡| 搡老女人老妇女AAA一VU麻豆| 欧美在线55555| 色欲蜜臀AV| 超碰在线在公开超碰在线在公开| av片在线观看免费播放| 久久9精品网站| 久久久九九网站| 精品久9| 欧美色图亚洲色图成人在在线| 久久97| 亚洲视频,小说| 日日操丁香五月天| 亚洲色图欧美色图在线播放| 日韩黄色成人性爱| 久草免费在线视频| 日本免费不卡二区| 丁香九月 婷婷| 蜜臀久久99精品| 91天堂色男人的天堂| 欧美—性—交—色| 欧美综合骚| 国产精品操| 好看的91视频| 激情小说亚洲色图| 神马久久69| 久久‘黄片视频| 精品久久九| 日韩中文字幕二区| 啊啊啊好大好深| 中文字幕 一区二区 亚洲无码| 日韩免费高清大片在线| 婷婷伊人五月| 男人的天堂久久狠| 97操| 青青青青草av在线观看| 久操com| 综合网亚洲在线| 九月丁香婷婷| 欧美性爱日韩性爱| 夜夜操夜夜高潮夜夜爽国产精品区| 99精品在线观看| 襙一襙| 蜜桃臀一区二区aV | 久久久99999久网站| 久久久成人国产精品无码| 人人妻人人玩人人澡人人爽| 伊人成人情色综合| 色婷婷视频| 金莲网址| 欧美日韩久久精品爱爱| 你想操日本小逼吗| 人人妻人人爽一区二区三区| 亚洲限制级在线| 无码在线亚洲| 91欧美网| 久久一二三四五六七八九区区| 不卡免费av在线播放 | 日韩性爱网址| 人妻一区二区三区四区视频 | asc国产精品| V A在线| 欧美在线 亚洲| 防屏蔽在线视频| 91人妻精华帖| 国产精品农村妇女精品| 麻豆影音天美视频| av资源在线观看少妇| 翔田千里爆乳巨臀无码| 安微少妇操BBB| 夜夜嗨AV蜜臀av| 成人黑料社久久| 天天视频网站黄| 99rre在线精品99re8| 欧美一二三区四五区| 蜜桃无码AV一区二区| 激情小说图片亚洲首页| 国产视频97| 99亚洲人人| 丁香成人五月天| 强奸乱伦AV网站| 久久久精品网站| 青青草好吊|