国产成人欧美一区二区三区vr_久久国产精品人人爽人人爽_国产精品永久免费播放_肉欲啪啪a∨无码精品一区二区_国产超短裙jk丝袜在线_亚洲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
返回資訊列表
欧美一区二区传媒| 97超碰超| 蜜臀AV秘一区翔田千里| 九九热超碰| 福利在线视频一区二区| 色黄污美女啪啪啪免费网站| 二三四区精品| 国产欧美一区二区| 国产女人视频三四五区| 欧美日韩222| 啊啊啊啊免费视频| 99久久99久久综合| 久久加勒比| 久久久久亚洲| 黄页大片在线观看| 日韩三级伦理中文字幕| 九九久久一区二区三区| 中文?日韩?免费?精品| 日韩成人大片一区二区| 加勒比综合88| 800zy一区二区| 男人的天堂99| 欧美精品另类人妖xxxx| 久热最新在线杭州| 欧美色五月| 亚洲同性aV综合| 国产精品久久久久久久久AV大片| 狠狠97| 99性爱在线观看| 天天看片麻豆| 嗯啊抽插大香蕉网页| 和协影院中文字幕三区| 日韩一级成人毛片免费观看 | 伊人国产视频| 中文字幕性感少妇av| 97网址97| 欧美婷婷五月天| 五月天久久人妻| 激情综合网激情五月天| 亚洲男人电影天堂| 国产高清不卡视频| 在线99热| 粉嫩av平台| 青草香蕉网| 亚洲乱色熟女一区| 中文熟女五十乱码在线| 男人的天堂2019AV| 亚洲 小说 欧美 激情 另类| 精品一区二区久久| 操逼网免费无码视频| 日日嗨AV一区二区夜夜| www久久99| 视频国产成人精品日本亚洲18| 狠肏骚人妻| 美国人人操人人操| 九九九九九九九九九九精品视频| 欧美视频在线视频免费va| 四虎精品永久在线观看| 日韩中文字幕av在线播放| AV乱伦国产| 婷婷探花久久精品一区| 亚洲天堂综合AV| 熟妇色99| 清纯唯美第一页| 亚洲 欧美都市激情| 天天操人人操狠狠插| 国产风韵犹存熟妇三区| 色官网在线| 国产精品午夜AV完会免费 | 欧美激情在线观看视频| 女生自91网站| 97色色色| 国产av激情无码久久天堂| 江都AV在线| 丁香六月婷婷久久综合| 两女互慰AV高潮喷水在线观看| 婷婷九月国产| 美女高潮视频91| 丁香婷婷九月| 久久精品福利影院| 亚洲视频精选| 另类 综合 日韩 欧美 亚洲| 99精品网| 秋霞曰韩R级| 亚洲人妻在线一区| 男人在线天堂| 国产精品乱码久久久| 国产成自自拍在线观看| 91男女啊啊啊| 九九热精品| 久久国产免费激情视频| 国产精品午夜AV完会免费| 婷婷久草| 97亚洲欧美日韩| 大香樵伊人网| 青草青青久久久久久国产| 强奸乱伦av电影| 色屁屁影院www国产| 91丝袜在线播放| 亚洲在线A| 精产国品一区二三产品| 97天天做| 亚洲 欧美 另类 日韩 人妻一区| 91久久18禁| 欧美人妻精品| 久久久久密| 亚洲免费精品一区| 91老熟女逼| 天天日少妇逼AV| www.夜夜| 99激情| 中文字幕免费看大片| 日韩黄片影院| 99人妻| 91亚洲综合| 亚洲乱熟女一区二区| 97精品中文字幕| 99精品网站| 69精品人人人人| 99re9这里只有精品| www.97在线| 五月丁香综合| 五月丁香综合| 操我啊啊啊啊啊| 91爱综合| 久久久久久久久久久久黄色| 欧美色天堂网在线视频| 日本中文字幕熟妇| 四虎在线视频| 伊人九九九| 亚洲高清欧美总合| 免费一二区| 九九精品无码专区免费| 久久激情亚洲精品无码?V| 韩日无码在线观看| 99激情| 91久青| 97色色国产视频| 人妻黑丝袜电影| 亚洲91射| 精品大全99999| 网友自拍第1页| 97超碰人人操人人操| 国产成人拍国产亚洲精品| 日韩免费高清大片在线| 99久久久久久久久| 日本综合色图| 天天摸天天碰天天添青青| 欧美日本天堂| 国产精品夜夜| 色色色色网站| 国产SV一线| 丝袜高跟澳门91视频| 久久久久熟女| 国产亚洲精品无码三区| 亚洲啪啪性视频| 色月天AV导航| 男人的天堂com| 人人妻人人澡人人爽久久av| ji熟女.com| 亚洲色久| 超碰在线人妻不卡| 超碰色大香蕉| 色香av| 久久精品 六十路 熟女 欧美| 嗯啊视频免费在线观看| 国产三级电影免费观看| 啊啊啊好湿国产一二| 操逼无毒无码免费视频| 韩三级a视频在线观看| 国产精品第一区第一页| 久久超碰久| 国产第二页| 呦呦一区| 五月天婷婷色| 天天操天天7| 亚洲色图欧美一区二区不卡| 成人精品一区二区91毛片不卡| 亚洲精品视频在线播放| 十八禁电影伊人网| av在线播放国产一区| 天天做天天爽| 在线洲亚线| ,成人免费啪啪视频| 久操婷婷| 国产成人精品一区| 亚洲情色欧美| 亚洲宅男天堂| 色拍偷亚洲| 国产亚洲99久久精品熟| 超碰av人人人| 超碰九区| 国产毛片精品一区二区色欲黄A片| 操逼精品视频| 性色av网站| 国模限制级电影| 成人性爱美曰韩| 国产原创精品| 伊人网免费视频| 97综合在线| 白嫩白嫩的午夜九久久久久久久久久久久成人剧场 | 欧美日韩亚洲一区二区在线观看| 日韩啪啪视频| 97资源站国产精品| 婷婷99狠狠| 偷拍99| 三级日韩一区二区三区| 国产一级久久久| 97香蕉网| 99RE在线视频精品,这里只有精品| 精品传媒在线一区| 人妻少妇精品一区二区三区| 日夜尻逼网| 久久久久久国产无码精品| 熟女欧美日韩综合婷婷| 日本操大逼| 精品人妻一区二区三区视频| 91综合色噜噜| 另类 综合 日韩 欧美 亚洲| 色网在线视频观看免费| 欧美在线视频播放| 亚洲一区日韩| 搡老女人老91二区| sss视频华人在线| 欧美性爽xyxOOOO| 日本九九久久99播| AV污污污污| 欧美精品久久| 久久综合五月天| 亚洲熟妇一,二,三期| 色噜噜狠狠色综合日日| 国产精品美女| 欧美日韩亚洲五月天婷婷| 一级特级aaaa毛片免费观看 | 丁香五月天啪啪| 人妻第一页| 亚洲。日韩。欧美| 国产精品一区二区亚洲人成毛片| 欧美激色| 国产女人91精品嗷嗷嗷嗷| 超碰97国产欧美| 伊人久久青青草| 一区二区三| 丁香婷婷色五月| 免费看黄片现成| 亚洲熟妇综合久久久久久| 久热免费视频| 色操逼网| 91AV入口| 后入精品| 欧美精品另类人妖xxxx| 亚洲成人日韩小说| 超碰95| 国产女人9999| 欧洲中文字幕| 在线99热| 久久亚洲精品成人av| 校园春色五月天| 亚洲黄a三级三级三级看三级| 人妻少妇av在线观看| 韩国免费播放一级毛片| 偷拍欧美亚洲| 九九九网页| 国模无码一区二区三区在线| 日韩精品在线放| 欧美人妻一区二区| 懂色AV一区二区三区| 国产一级操B视频| 日本操逼视频免费| 99999国产精品| 青青伊人久久| 日韩伦理视频| a久久| 国产人妻天天干精品| 97精品久久| 久久风骚城市人| 三上制服丝AV| 色色99| 偷拍新久久| 天天干夜夜一操| 少妇一线天久久久久久| 亚洲色电影在线| 91超级碰| 熟女少妇视频| 丝袜美腿操av| 一区二区免费电影久久| 久久99综合| 天天色播| 国产成人无码高清| www.99中文字幕| 亚洲精品第一| 欧美日韩理论一区| 色男人色天堂东京热| 欧美体内射精| 午夜性| 一区二区三区四区理论片| 啪啪自拍九九综合| 人妻第一页| 啊啊啊啊二区好大| 曰韩无码777| 中国农村熟妇毛片视频| 亚洲图片欧美日韩| 女人双腿搬开让男人桶| 日韩免费福利在线观看| 在线视频资源| 神马久久久久久久久| 久热69九色熟妇97| 人妻少妇久久久| 日韩不卡a级视频专区| 收看日本人日bb| 97亚洲中文| 熟妇人妻精品一区二区| 九九九九精品一区| 99re6国产精品99re| 亚洲成人免费电影| 国产精品一区二区 尿失禁| 亚洲欧美在线观看无码| 亚洲乱码精品一区二区| 91九色丨风韵犹存| 91狠狠综| 日本操逼视频在线| 一区二区三区四区理论片| 9久9久| 91人妻久久久久久久久久久久久| 日本东京热大香蕉a片| 国产AV天美| 一区二区三区成人| 色老久久| 亚洲色性| 无码高清少妇久久| 色婷婷视频| 国产亚洲99久久精品| 超碰av在线| 欧美日韩99精品麻豆传媒| 肥臀熟女福利视频一区二区| 九九九九一区| 国模不卡一本二本三电影| 手机看片1025| 另类一区| 国产一在线观看| 激情六月婷婷| 免费av在线播放二区| AV天堂丝袜| 热久日综合| 超碰97国产欧美| 日韩欧美操逼xxx| 欧美日本视频一区| 人人操人人爽人人操人人| 免费看欧美美女黄色大片 | 婷婷色色五月天福利| 亚洲精品骚逼| 伊人大香蕉在线| 一区二区久久天天干狠狠| 日韩一级二级| 午夜情侣自拍网站| 色天堂综合| 天天色踪合| 国产丸一视频| 素人伊尹大香蕉免费下载视频| 一区中文字幕二区日韩| 亚洲色图综合网| 无码九九| 人妻夜夜爽天天爽三区麻豆AV网站| 日躁天天爽爽| 日本熟女免费視颖| 强奸乱伦AV一天堂网| 97久久久| 久久首页| 91视频国品一二三区| 亚洲老司机123专区| 美女天天干| 夜夜草我| 97人妻色| 国产一级高跟丝袜| 91色综合激情| 九九九九热| 精品少妇人妻av久久免费| 中文字幕一区av| 校园春色中文字幕AV| 老熟妇乱轮| 日本久久精品| 成人开心网在线视频| av网站免费线看| 发朗少妇买婬全视频中文| 精品九九九九九九九九九| 国语精品对白| a片在线播放| 丰满少妇一区二区三区四区观看| 九七色图| 久视频在线观看| 97超碰色色| 操逼逼无码| 人妻 欧美亚洲| 亚洲第一无码播放立川理惠| 久操99| 99精品国产户外露出| 久久天堂婷婷网| 日韩兔费看黄片| 欧美日韩黄色片一区二区三区四区人与兽做爱 | 小草av不卡亚洲二区| 无码人妻一区二区三区色欲aⅴ | 午夜天堂网| 九月激情婷婷| 欧美在线视频观看一二三四区高清| 天天激情干| 97网址97| 六月婷婷激情| 啊啊啊免费视频| 久久久久久久一级黄色打同平台| 亚洲成人激情小说视频| 中文字幕版| 日韩激情毛片一级久久久| 日韩性爱播放| 人人操人人肉久久精品| 人妻人人做人人澡人人爽欧美一区| 天天天堂影视日韩亚洲91| 亚洲性综合9| 人人摸.人人色| 天天天做天天天爱天天天爽| 亚州精人品大香蕉| a v网站在线播放| 校园春色 亚洲| 日本一二区免费| 久久日韩精品一区二区| 国产免费内射视频| 日韩AV色图| AA特级绝黄| 精品人妻一区二区三区鲁大师| av绯色| 91春色| 一区二区视频在看| 婷婷五月天av| 插入逼91| 农村女一级毛卡片| 另类欧美色| 日日爽熟女| 四虎影库国产精品免费| 99热这里都是精品| 久久99精品视频| 久久99午夜精品一区人妻| 久综合国内精品自在自线| 天啪| 亚洲 欧美 日韩 国产一区二区| 色香综合天天影视综合 | 六十路日本| 国产中文字幕在线点播| 手机在线中文字幕国产| 国产无码精品久久久久久| 日韩成人小视频| 97美日韩视频| 超碰久超碰久| a男人的天堂久久一级A毛片| 亚洲国产精品无码AV久久| 最近二区三区视频大全| 啪啪视频免费在线观看| 大肥女高潮bbwbbwhd视频| 乱伦强奸区日韩| 精品人妻免费观看| 夜夜天天噜狠狠爱2021| 人妻熟妇一区二区三区| 夜夜骑夜夜操| 黑人精品XXX一区一二区| 激情熟女12P| 浪人综合网| 精品少妇人妻av久久免费| 啪啪啪综合网| 欧美另类色| 人妻黑丝袜电影| 色噜噜人妻av中文字幕| 91人精品妻入口| 九九热AV| 欧美日韩亚洲少妇寂寞影院正在播放 | 少妇蹲下买菜露大唇0| 国语精品av| 91亚洲黄色网| 国产无马在线| 天天爽夜夜操| 免费看污网站| 欧美日韩一二三| 密乳AV免费观看| 色婷婷丁香五月| 懂色av中文字幕一区二区三区天美| 啊啊啊啊啊啊啊啊啊啊在线观看| 91人妻PORNY九色大屁股| 黄色高清久久无码依人| 欧美色97| 色婷婷丁香五月| 99爱久久视频频| 久久久久久免费电影| 亚洲国产一区二区日韩专区| 熟女欧美日韩综合婷婷| 国产美女口爆吞精视频| 成年人黄色小视频网站| 日本久久天堂| 999九九九九国产动| 欧美九九九九九| 日语五十路和六十路亚洲国产精品 | 国产传媒日本欧美专区| 国模无码人体一区二区三| 欧美|91色综合| 国产91专区| 成年人性爱日韩| 岛国人妻少妇av在线观看| 爱逼综合| 青青国产在线拍揄自揄拍| 日韩操啪| 人妻加勒比东京热| 天天看天天日天天操| 中文字幕国产精品1区| 91亚洲图片| 中文字幕艹艹| 九九热九九| 亚洲码和欧洲精品激情系列| 亚洲日韩人妻中文字幕一区| 亚洲性感丝袜诱惑在线观看| 人人操,操人人| 九九九久千久久激情蜜桃在线看| 香蕉黄色一级视频| 九一国产精品| 2010男人的天堂| 9美女超碰在线免费观看| 日韩性爱小视频在线观看| 风间由美日韩欧美久久| 日本天堂网| 日韩亚洲中文字幕在线| 欧美色图亚洲色,麻豆| 亚洲精品人妻在线| 色眯眯av| 伊人影院在线理论播放| 草草网站影院白丝内射| 91路www| 午夜婷婷| 日本一区二区电影网站| 9国产超碰| 69av一区二区三区| 91n处女在线观看| 97日韩欧美亚洲| 午夜福利合集| 熟妇人妻丰满久久久久久久无码 | 96久久精品一二三区色欲| 人妻精品免费一二三区| 国产无码成人无码| 国产精品探花色| 黄页网站免费高清在线观看| 超碰在线观看av不卡| 国产农村妇女毛片精品久久| 麻豆黄色五月天| 精品9区| 一区二区 电影 亚洲| 殴美性色a级欧美| 97日视频| 色天天野狼综合社区| 国产精品自拍视频| 国产一在线观看| 少妇干B| 色色99| 人妻熟女字幕一区二区| av情色影音| 国产怡红院| 国产中文字幕在线| 日本东京热久久久电影| 2024年最新色情网站在线观看 | 亚洲天在线| 亚洲欧洲中文日韩女优乱码| 色综合久久久久| 成人AV在线网站| 国产熟女一区二区丰满| 综合久草| 素人伊尹大香蕉免费下载视频| 蜜桃AV天堂| 亚洲国产精品无码AV久久| 中文字幕在线播放2中文字幕在线观看2 | 久久久久密| 97精彩视频网站| 久久精品一区二区三区不卡| 欧美综合色,www| 午夜120视频在线观看| 亚洲天堂男人在线| 锕锕好爽 死我在线观看| 嫩草91| 免费观看国产小粉嫩喷水精品午| 三级三久久线久久99久目本WW| 亚洲高清在线| 91精品人妻一品二品三品| 国产操偷| 热G综合热G中文| 亚欧性爱ab| 国产精品乱人伊人网| 阿姨一区二区免费视频-高清正片西瓜视频下载app-T450AV | 亚洲天堂女优在线| 91丝袜在线播放| 国产欧美亚洲精品a第2页| 怡春苑东京热| 九月丁香婷婷色| 欧美熟妇乱码在线一区| 亚洲天堂男| 91女人的网站| 黄色大片免费在线| 九九九草| 91狠狠综合久久| 欧洲一区二区三区四区在线观看| 性爱乱伦一区| 精品视频在线观看精品| 嗯嗯,啊啊,国产精品| a一区二区三区乱码在线| 精品九九九九九九九九九| 91精品啪在线观看国产城中村| 亚洲日精品| 一区二区三区国产精产| 日本五十路熟女一区二区| 亚洲熟女乱综合一区二区在线-...亚洲国产日韩欧美一区二区三区,久久久久久精 | 国产sv美女内射| 亚洲色图超碰在线| 99e久久国产精品| 亚洲 欧美 日本 国内 首页| 97综合久久| 久久中出在线| 亚洲一区二区av| 亚州91| 婷婷五月天色色| 高潮嗯啊性感美女久久久| 九九九网站| 日本性感人妻91| 久热一区二区| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区 | 亚洲性天堂| 60秒免费小视频| 大香蕉中文aV在线| 长长久久免费视频| 国产精品999zyz| 好涩综合| 国产v片在线免费观看| 五月天九九日国产精品一区二区三区| 国产一区二区三区免费视频在性观看| 丰满人妻一区二区三区免费,| 97超碰天天| 国产精品秘 福利姬在线观看| 99re黄 | 亚洲第一无码播放立川理惠| 国产成人自拍视频视频| 日本高清视频在线观看黄已三辽| 久久发布国产伦子伦精品| 97天堂| 97久久久网站| 亚洲不卡不卡中文字幕不卡 | 亚洲无吗在线视频| .精品人妻一区二区三| 5252色欧美在线男人的天堂| 果冻传媒一区二区三区| 国产亚洲色婷婷99精品91| 精品人妻一区二区三区-国产精品| 亚洲女毛多水多21P| 久久透逼视频| 七月婷婷综合| 91亚州| 97av在线观看| 嗯嗯啊啊啊好爽| 欧洲综合色| 中文字幕后石码四区五区| 色97欧美| 91老熟女老女人国产老太| 目产99999久久999| 日韩不卡网操逼中文字幕日韩| 少妇六月天| 熟女AV一区| 成人欧美日超碰| 九九九九九用不成了| 青青草五月天| 中出人妻中文字幕91在线| 少妇精品| 久久天天艹| 日本午夜福利影院| 无码av永久免费专区网站| 国产高清MV操逼视频| 超碰久热| 色五月激情AV在线| 蜜臀99久久国产| 免费岛国一级片| 国产精品网址| 老熟女搡BBBB搡BBBB视频| 亚洲超碰AV| 在线可观看的黄色网址| 四虎影库国产精品免费| 偷拍色图| 免费人成毛片乱码| 国产又操| 99啪啪| 丰满人妻-区二区三区免费看| 日韩欧美成人综合在线| 久久精品一区二区三区不卡| 殴美日韩m| 精品人妻久久久久一区二区三区| 蜜臀99久久精品| 黄色AAAAAAAAAAA大片| 亚洲综合春色| 日韩欧美麻豆| 亚洲一卡2卡3卡4卡乱码网站 | 色 婷97| 日韩欧美三级| 国产一区二区啪啪视频| 激情终合网| 亚洲天堂五月天国产| 久久五月份| 九九九九免费| 国产日韩欧美三级片| 欧美精品欧美精品系列| 亚洲福利中文字幕在线| 精品一区99999| A片三级无码| 后入式999| 亚洲中文字母在线播放| 色噜噜人妻av中文字幕| 99热精品在线播放| 久久久久久久久久久久97| 婷婷丁香五月激情啪啪| 欧美亚洲特P| 欧美在线视频99| 91丝袜美女视频| 日本三级人妻a人妻一在线| 欧美丝袜亚洲| 91久久精品中文字幕| 99性视频| 翔田千里Av在线| 天躁夜夜躁2021| 国产极品久久久| 婷婷激情五月综合| 国产欧美精选激情视频| 欧美亚洲手机在线| 欧美 青青草| 91人妻PORNY九色大屁股| 999亚洲国产视频| 97干97色| 精品久| av影院十区| 亚欧操逼片在线观看 | 亚洲网自拍| www.婷婷五月天| 3p国产欧美99热| 中国大陆国产高清AⅤ毛片| 国产精品美女久久久久久网站| 精品女同一区| 另类欧美| 亚洲91综合| 久久中文字幕女同性恋一区| 制服少妇欧美| 九一综合网| 欧洲自拍色图gif在线| 天天天天天天天天综合| 中文字幕在线观看网页| 国产又黄又猛又粗又爽的网站| 五月花婷婷| 亚洲少妇喷视频看| 欧美九九99久久精品| 天堂蜜桃无码视频一区二区| 精品大久久| 激情文学欧美| 精品一二三区女同| 久久婷婷视频| 精品高清牛人盗摄一区二区三区中文字幕A片免费在线观看 | 台湾大香蕉99热| 国精精品无码一二三区水多多| 做爱A级亚欧| 无码 黑人一区二区三区| 欧美色图亚洲色| 国产人妻精品一区二区三区秋霞 | 很黄很污的免费网站| 深喉吞精| 久久精品免视看国产成人﹣蜜臀av一区. 久久精品免视看国产成人,蜜臀av一区 | 乱老女人一区二区视频| 欧美性生活免费网| 国产又黄又爽又刺激久久久久久| 久久久人妻| 天天色,天天干,天天干| 四虎国产精品永久在线囯在线 | 韩国轻伦国内自拍一区| 97天天综合网| 91天天综合日韩欧美| 精品久久久久久无码| 任你爽视频| 嗯嗯啊好大| 色五月av| 熟女精品va中文字幕| 中文字幕第23区| 97国产精品| 国产精品自产拍在线观看社区| 97WW精品| 91成人精品| 免费在线观看国内色片网站网址| 熟妇人妻一区二区三区| 久久综合久色欧美综合狠狠| 久久久久9999| 五月婷婷综合网| 午夜九九| 日韩亚洲中文字幕在线| 亚洲瓯美色图| 91在线视频国产网站| 国产强奸91| 老师充足的奶水小说| 小说区 图片区色 综合区| 九九热最新| 欧美天天在线| 日韩精品资源专区二区| 97爱亚洲综合色| 国产传媒av天美传媒在线| 五月丁香影院| 久久只有精品| 青青草中文-久久青草精品一区二区三 | 久热大香蕉| 视频在线观看青青99国产| 欧美特大黄一级片片免费| 中文字幕在在线观看网站| 亚洲欧美日韩制服另类| 免费看污网站| 欧美综合91| 青青草白白色| 国产精品午夜高潮呻吟久久av| 亚洲第一男人天堂| 国产日韩区| 操穴国产| 1769一区| 中国黄色特级精品一区二区三区片| 久久亚洲天天做| 亚洲精品人妻在线| 国产精品视频内谢女人| 小说区 图片区色 综合区| 国产成人无码a| 国产亚洲精品美女久久久m| 国产精品无码av| 91久久婷婷| 精品女人999| 色9999日韩国产| 美女操逼A A| 综合 亚洲 欧美| 蜜桃色色网站视频三区| 啪啪啪综合| 98一区二区精品| 欧美gv在线观看| 日韩超碰精品综合| 爆操无码| 97超碰色| 亚洲欧洲无码一区夜| 欧美三级中文字幕hd| 97天天| 色噜噜国产在线| 亚洲乱伦图片视频| 久久久涩| 亚洲天堂人妻一区二区| 日韩黄片视频试看| 天美av在线| 久久九九一区二区三区成人| 青娱乐国产精品| 精品免费囯产一区二区三区| 爆乳免费黄网站| 国产久久av| 蜜臀在线视频| 天天干1区2区在线| 超碰亚洲97| 天天看天天在线精品| 91性片| 亚洲电影91| 日本3级一区二区免费| 啊啊嗯嗯好爽| 天天天肏屄欧美| 在线观看AV片| 欧美综合色| 欧美在线官网| 亚洲欧美国产其他二区| 亚洲九九视频| 日韩中文字幕2020| 久久亚洲影院一区二区| 黄片色区软件| 91久久久亚洲| 久久久性爱| 中文字日本乱码| 白天啪啪晚上啪啪视频| 亚洲超碰97| 国产人人干| 五十路熟女工口| 熟女人妻av在线资源,黄色的资源| 尹人免费观看视频在线| 亚洲资源站| 久久久青草青青国产亚洲免观精品高清完整版_97久久综合区小说区图片区,国精品 | 深爱伊人影院| 啊啊啊好大好湿| 熟妇亚洲一区二区三区| 丁香五月激情综合| 大黄片做爱的大的| a男人的天堂久久一级A毛片| 久操视频免费观看| 国产美女激情| 国产九九九九九九九九| 亚洲无码国产探花在线观看| 欧美日韩亚洲国产中文永久天天看| 97爱欧美| 日本岛国黄色网址| 啪啪AV导航| 在线欧美69V免费观看视频| 欧美性爱精品七区| 欧美精品精品一区二区| 免费岛国一级片| 九热中文字幕| 色图综合| 亚洲丝袜诱惑| 99热一区二区三区四区| yazhouzaixian| 超碰在线974| yazhousetuoumei| 久久一区二区三区入口| 日韩不卡在线一区二区| 欧亚无码视频| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区 | 五十路三级片| 欲香欲色| 国产精品96| 2017,超碰| 97操综合| 熟啊v色欧美热| 99久久婷婷丁香| 91综合网在线| 蜜屁Av| 亚洲综合九| 亚洲欧美九九九| 天操老女人| 欧美亚洲激情一二三| 北野未奈加勒比av| 玖玖大干人妻| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区 | 91亚洲欧美| 欧在线一二区| 牛牛AV人人夜夜澡人人爽| 无码91| 裸体1区| 97免费在线观看| 四虎影视精品| 网友自拍第1页| 一区二区三区四区理论片| 中欧人妻丝袜中文字幕| 激情小说在线视频| 免费看黄片现成| 国内亚洲精彩视频在线| 国产女人91精品嗷嗷嗷嗷| 国产精品交换一区二区| AV天堂丝袜| 麻豆成人av| 另类老少妇| 日韩精品人妻| 99国产精品视频尤物| 两性综合网| 中文字幕高清20页视频| 激情五月婷婷| 天天综合精品| 91九九九小逼| 婷婷五月天色网| 亚洲欧美色图| 亚洲无码?第一页| 伊人久久88国产女| 久插综合| 超碰久久.com| 日韩av免费一级电影| 亚洲av影音先锋| 亚洲一区二区麻豆影院| 欧美少妇高潮久久91| 国产精品农村妇女| 亚洲天天做日日做天天谢日日 | 九九九只有精品| 日韩小电影| 3028国产精品| 中文字幕日产av人| 亚洲熟妇综合久久久久久| 亚洲精品97久久| 免费观看国产不卡av| 日韩啪啪啪啪啪| 色阁阁AV综合网| 亚洲美女AV无码| 亚洲色图殴美色图激情乱伦| 久久久啊啊| 亚州色图欧美| 夫妻天天操岛国视频| 做爱A级亚欧| AV 少妇 人妻 偷拍| 综合天天网| 大香蕉手机在线| 伊人久久在线视频观看| 中文字幕在线播放2中文字幕在线观看2| 91欧美另类| 青青草综合在线| 午夜福利一区二区影院| 波多野结衣一级视频| 97国产精品国| 97在线视频免费看| 欧美日韩操逼动图| 麻豆福利视频导航| 91国模| 日韩成人大片在线观看| 青青草啪啪网| 超碰在线人人射| 色婷五月天| 欧美亚洲韩国视频十五区| 中文人妻av高清一区| 北京专精特新企业招聘信息| 欧美性色欧美| 九九黄色视频在线观看| 日本不卡二三区| 日韩操逼性鲍| 男人的天堂成人的社区| 国产剧情在线| 手机在线看片免费人成视频| 天天干天天日天天射黄色片| 精品亚洲天堂| 日本午夜操逼| 天天澡天天爽日日av| 中文字幕精品一区二| 97激情97激情| 亚洲中文字幕精品一区| 日本有码影片下载| 综合久久2017| 国产精品麻豆成人AV艾秋| 91综合天天| 久久久中文| 欧美激情在线观看视频| 五月丁香狠狠爱| 国产精品另类| 亚洲综合五月天婷婷丁香| 精品久久97| 91美女中出| 五十路熟女人妻一区二区三区四区五| 六月激情网| 国产97免费视频| 国产成人亚洲精品自产在线| 久久久偷拍| 精品少妇一区二区三区在线视频| 熟女91网| 色情综合网| 久久久96| 嗯嗯啊啊亚欧精品| 日韩性爱视频在线免费观看| 久久人爽| 亚洲精品aa久久伊人| 超碰久草| 五月天综合网| 热99这里有精品综合久久 | 亚洲人久久久网| 成人性爱全视频观看| 日韩成人小视频| 91丝袜在线观看视频在线观看| 日本精品一级二级三级| 欧美熟女激情| 亚洲AV无码久久久国产精品| 91制服丝袜中文字幕| 99xav| 黄aaaaaaaaaaaaaaaaaa色网站| 高颜值美女口爆高潮浪叫| 欧美高清性猛交| 国产熟女完整版中字| 黄页av| 成人天天看站长推荐| 亚洲国产麻豆一区二区三区| 亚洲欧美黄| 综合天天网| 色噜噜狠狠色综无码久久合欧美| 东京热一区二区中文字幕| 嗯嗯啊好大| 日韩免费人妻色情网站| 人人操我人人干| 久久伊人影院| 久久 亚洲 日韩 人妻| 91在线无码精品秘 软件| AV麻豆免费一区| 婷婷九月丁香| 99re9在线| 95自拍视频在线观看| 欧美伊人电影| 天天色怡春院| 精品一区二区三区蜜桃臀赵总 | 欧美真人抽搐一进一出gif| 91少妇通奸网站| 久久精品视-一级做a爰片性色毛片16美国-中国女与老外在线精品 | 亚洲天堂2020| 天天干天天中出av| 亚洲九九夜夜| 精品综合久久久久久五月天| 动漫片子网站3黄| www.色婷婷色综合| 亚洲 小说 欧美 激情 另类| 亚洲伊人久久精品影院| 五月香婷婷| 摸奶性爱视频网站在线免费播放| 久久久九九| 91丝袜美女| 亚州操逼图| 九九九精品成人免费视频小说| 妇女乱色二区| 夜夜综合| 91女网站| 国产免费一区二区在线A片视频| 亚洲国产精品99久久久| 激情欧美97| 亚洲国产中文字幕| 久久夜嗨| 久久久影院| 欧洲色| 欧美国产伊人久久久久| 久久黄片国产一区二区| 久久啊啊| 欧美少妇性乱| 超碰97网址| 久久久com| 男人的天堂亚洲| 凹凸视频特色日本特黄| 新婚人妻扶着粗大强行坐下| 国产一区二区免费福利片| 99在线精品视频| 精品视频一区二区| 久热大香蕉网站| 嫩草伊人久久精品| 啊啊啊好湿久久| 超碰在线人妻不卡| 一区二区三区四区久久视1| 蜜奶av| 精品176精品2| 97超碰免费人人性爱| 97在线无精品| 国产一| 久射吧| 亚洲综合色图欧美| 超碰九7| 香港澳门日本三级网站| 国产精品一区二区久久精品| 国产高清吃奶免费视频网站| 一级二级三级黑人无码| 国产美女裸体秘 永久无遮挡| 欧美一级美片在线观看免费| 久久青青草原免费视频| 亚洲国产精品成人无码久久久| aa片毛片| 天躁夜夜躁2021| 久9综合在线| 九九av| 欧美第二页午夜| 台湾佬中文娱乐网久久久久久久久久com| 超碰天天操| 久久久久国产| 精久久久| 欧美日韩亚洲少妇寂寞影院正在播放 | 4虎在线视频| 久热影视| 性久久| 国产激情片在线观看| 久久黄黄| 91在线丝袜视频| 后入综合久久| 久久国产成人精品国产成人亚洲| Sekablack无码一区| 國產尤物AV尤物在線觀看| 五月丁香六月激情综合| 不卡码视频| 激情情色五月天| 另类图片天天影视| 欧美精品日韩久久久九| 色综合久久久久|