DaVinci的Buffer_Handle和BufTab Cmem函數調用

DaVinci的dvsdk里面,所有的內存用的都是CMEM而比較上層的一個封裝就是BufTab和Buffer_Handle了
每個Tab可以控制好多塊內存塊。
具體到內存塊有兩種一種是創建的時候指定他的大小啊,物理地址啥的。另外一種就是僅僅創建出這個

結構的一個實例,而物理地址啊啥的都留空,等到回頭用的時候,用指針搞定。
第一類對應的配置里面有一個叫reference的變量,配成false的話,創建的時候就直接創建出來內存塊

了,reference這點BufTab和Buffer_Handle的創建配置是一樣的。
第二類reference配置成true,這樣的話,創建之后,指針沒有指向,而需要后面重新指定。指定的時

候,要用Buffer_setUserPtr,同時還要設一下大小,Buffer_setNumBytesUsed,同時用這兩個,不然程

序會down掉的。

我試驗了,使用CMEM手動分配物理空間,用reference=TRUE的配置,聲明一個Buffer_handle的結構,使

用cmem函數直接申請空間,然后再配置Buffer_handle的指針。

CMEM_AllocParams cmem_params;
Int8 *ptr_area_fifo;
cmem_params.type = CMEM_POOL;
cmem_params.flags = CMEM_NONCACHED;
for(loop_num = 0; loop_num < fifo_total; loop_num++) {
ptr_area_fifo = (Int8 *)CMEM_alloc(bufSize, &cmem_params);
//hBufTab is created while its reference=TRUE.
hDstBuf = BufTab_getBuf(hBufTab, loop_num);

Buffer_setNumBytesUsed(hDstBuf, bufSize);

if (Buffer_setUserPtr(hDstBuf, ptr_area_fifo) < 0) {
printf("error while set prt into bufTab, id=%d\n", loop_num);
}
}

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/254002.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/254002.shtml
英文地址,請注明出處:http://en.pswp.cn/news/254002.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Qt使用兩組RadioButton,兩組之間相互獨立

Qt中使用兩組共四個RadioButton時&#xff0c;由于RadioButton的特性&#xff0c;所以兩組一共四個按鈕每次只能選擇一個&#xff0c;要使得兩組RadioButton相互獨立&#xff0c;需要用到QButtonGroup這個功能&#xff0c;把RadioButton加到QButtonGroup里面&#xff0c;實現兩…

sleep 和 wait 的區別

為什么80%的碼農都做不了架構師&#xff1f;>>> 面試中常問的就是 sleep 和 wait 有什么不同嗎&#xff1f;為了面試時候發揮的更好&#xff0c;我在這里總結分享下。 首先對于 sleep() 方法&#xff0c;我們首先要知道該方法是屬于 Thread 類中的。而 wait() 方法…

2016年11月13日周工作知識點總結

jQuery :eq() 選擇器選取帶有指定 index 值的元素。index 值從 0 開始&#xff0c;所有第一個元素的 index 值是 0&#xff08;不是 1&#xff09;。經常與其他元素/選擇器一起使用&#xff0c;來選擇指定的組中特定序號的元素&#xff08;如下面的例子&#xff09;。$("p…

DM6467之視頻采集(Linux)下MMAP

做&#xff44;&#xff53;&#xff50;&#xff16;&#xff14;&#xff16;&#xff17;是在linux下做視頻采集&#xff0c;僅ARM端 一共有三種視頻采集方式&#xff1a; 1&#xff09;使用read、write方式&#xff1a;直接使用 read 和 write 函數進行讀寫。這種方式最簡…

QPS、TPS計算

QPS (Query per second) &#xff08;每秒查詢量&#xff09; TPS(Transaction per second) &#xff08;每秒事務量&#xff0c;如果是InnoDB會顯示&#xff0c;沒有InnoDB就不會顯示&#xff09; 計算方法 QPS Questions SHOW GLOBAL STATUS LIKE Questions; Uptime SHOW G…

QT 中textEdit 和 textBrowser 無法使用斜體及加粗等 解決辦法

編輯框的幾個種類 QT 中一共四個文本編輯框 分別是 Line Edit 、Text Edit、 Plait Text Edit和textBrowser四種文本編輯框架&#xff01; 一、輸入內容不同 1、LineEdit&#xff1a;LineEdit的輸入內容為單行文本輸入。 2、TextEdit&#xff1a;TextEdit的輸入內容為多行文…

【select模塊】select IO多路復用和select實現FTP

select是全平臺通用的IO多路復用模塊。最大連接數&#xff1a;1024。poll和epoll沒有最大連接數限制&#xff0c;但只能用在linux平臺。selectors是再封裝模塊&#xff0c;推薦使用。下篇會討論。select.select(rlist, wlist, xlist[, timeout])This is a straightforward inte…

變量屬性

變量屬性 C語言的變量屬性 C語言中的變量可以有自己的屬性在定義變量的時候加上“屬性”關鍵字屬性關鍵字指明變量的特有意義auto關鍵字 auto即C語言中局部變量的默認屬性auto表明將被修飾的變量存儲在棧上編譯器默認所有的局部變量都是auto的register關鍵字 register關鍵字指明…

WPF:How to display a Bitmap on Image control

一個Bitmap文件&#xff0c;叫做screenShotFile, 你可以這樣顯示到Image控件上。 BitmapImage bi new BitmapImage(); bi.BeginInit(); bi.UriSource new Uri(this.screenShotFile, UriKind.Absolute); bi.EndInit(); this.scre…

QT中$$PWD的意思

$$PWD的意思為當前目錄 如pro文件中&#xff1a;INCLUDEPATH $$PWD/lib/x64-win64 $$PWD表示的意思就是pro文件所在的目錄。

Dubbo 整合 Pinpoint 做分布式服務請求跟蹤

2019獨角獸企業重金招聘Python工程師標準>>> 在使用Dubbo進行服務化或者整合應用后&#xff0c;假設某個服務后臺日志顯示有異常&#xff0c;這個服務又被多個應用調用的情況下&#xff0c;我們通常很難判斷是哪個應用調用的&#xff0c;問題的起因是什么&#xff0…

Linux 進程詳解

Linux內核的七大區間 1.進程管理&#xff08;進程創建&#xff0c;進程的三種狀態&#xff0c;進程間的調度&#xff0c;調度算法...&#xff09; 2.內存管理&#xff08;段式管理&#xff08;Linux所有段都從0開始&#xff09;&#xff0c;頁式管理--地址偏移量&#xff09; 3…

C#2.0 委托

委托 委托是一個非常不錯的設計&#xff0c;允許我們把方法做為參數傳遞&#xff0c;實現了開放閉放原則。在方法中我們只要有一個委托占位&#xff0c;調用者就可以傳入符合簽名的方法來做不同的操作&#xff0c;這也面向對象開發中多態的魅力。 但是在C#1.0的時候&#xff…

qt亂碼Could not decode“xxx.cpp“ with “UTF-8“-encoding.Editing not possible問題處理

問題描述&#xff1a;如題&#xff1a; 解決方法&#xff1a; 1、點擊Select Encoding按鈕 2、選擇按照系統編碼 3、選中System后點擊按編碼重新載入 4、問題解決

bootargs中的環境變量說明和一些常用的uboot命令

bootargs中的環境變量說明和一些常用的uboot命令 一些常見的uboot命令&#xff1a; Help [command]在屏幕上打印命令的說明 Boom [addr]啟動在內存儲器的內核 Tftpboot通過tftp啟動內核 Saveenv保存環境變量 setenv name [value] 設置環境變量 bootargs中的環境變量 co…

特斯拉自動駕駛系統秘密,來自特斯拉AI總監爆料

據外媒報道&#xff0c;特斯拉汽車公司人工智能&#xff08;AI&#xff09;總監安德烈卡帕西(Andrej Karpathy)日前參加2018年TRAIN AI大會時&#xff0c;剖析了該公司構建自動駕駛儀&#xff08;Autopilot&#xff09;計算機視覺解決方案的方法。據介紹&#xff0c;Autopilot編…

快捷鍵匯總

navicat 運行選中代碼 ctrshiftr navicat 運行所有代碼 ctrr 快速顯示桌面 wind 轉載于:https://www.cnblogs.com/caer/p/6064571.html

js做倒計時

var dinshiqi setInterval(timerun,1000) function timerun(){ //timegundong var now_time new Date(); var hours now_time.getHours(); //時 var minutes now_time.getMinutes(); //分 var seconds now_time.getSeconds(); //秒 //秒鐘 show_seconds 59 - parseInt(s…

QT右鍵點擊添加庫不響應的解決辦法

問題描述 QT在pro右鍵點擊添加庫不響應 解決方案 雙擊打開pro文件 在pro文件界面里單擊鼠標右鍵&#xff0c;并選擇添加庫。 解決問題

爬取前塵無憂python職位信息并保存到mongo數據庫

&#xff11;&#xff0e;re實現 1 import re,os2 import requests3 from requests.exceptions import RequestException4 5 MAX_PAGE 10 #最大頁數6 KEYWORD python7 headers {8 User-Agent:9 Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, lik…