女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

【ROC-RK3568-PC開發板試用體驗】rockit視頻處理接口第二彈

開發板試用精選 ? 來源:開發板試用 ? 作者:電子發燒友論壇 ? 2022-10-18 15:34 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

本文來源電子發燒友社區,作者:羈傲不馴, 帖子地址:https://bbs.elecfans.com/jishu_2306118_1_1.html


兩個輸出節點規格分別如下上節介紹了RK平臺下的rockit視頻處理接口的簡單介紹,本期就針對rockit的一些簡單介紹和理念作以具體的介紹。

需要明確一點的是在ARM中的視頻處理鏈路?什么是鏈路?ARM中視頻是怎么樣的?

這些基礎我們以后再談,相信做過驅動適配的朋友都知道,各個廠家都有各個廠家的玩法,接口也不盡相同,還需要不斷兼容向上提供接口。

rockit充分分離了這一點,他將我們所有的設備全部抽離出來,將每一個單獨的功能都能使用一個類來進行使用。

本章節就介紹下rockit的 vi 與 venc模塊,視頻輸入 與編碼

本節程序如下:

demo程序

本節代碼基本上參考了官方的程序。

rockit使用的第一步首先是:RK_MPI_SYS_Init 初始化RK MPI系統。

之后進入vi系統,RK平臺下vi系統如下:

兩個輸出節點規格分別如下:


代碼大概流程如下:

TEST_VI_CTX_S *ctx;
ctx = reinterpret_cast(malloc(sizeof(TEST_VI_CTX_S)));
memset(ctx, 0, sizeof(TEST_VI_CTX_S));
ctx->width = 1920;
ctx->height = 1080;
ctx->devId = 0;
ctx->pipeId = ctx->devId;
ctx->channelId = 1;
ctx->loopCountSet = 100;
//0. get dev config status
s32Ret = RK_MPI_VI_GetDevAttr(ctx->devId, &ctx->stDevAttr);
if (s32Ret == RK_ERR_VI_NOT_CONFIG) {
//0-1.config dev
s32Ret = RK_MPI_VI_SetDevAttr(ctx->devId, &ctx->stDevAttr);
if (s32Ret != RK_SUCCESS) {
  ctx->stChnAttr.stSize.u32Height = ctx->height;
  s32Ret = RK_MPI_VI_SetChnAttr(ctx->pipeId, ctx->channelId, &ctx->stChnAttr);
  if (s32Ret != RK_SUCCESS) {
  RK_LOGE("RK_MPI_VI_SetChnAttr %x", s32Ret);
  goto __FAILED2;
  } /
  /3.enable channel
  s32Ret = RK_MPI_VI_EnableChn(ctx->pipeId, ctx->channelId);
  if (s32Ret != RK_SUCCESS) {
    RK_LOGE("RK_MPI_VI_EnableChn %x", s32Ret);
    goto __FAILED2;
} /
/4.save debug file
if (ctx->stDebugFile.bCfg) {
  s32Ret = RK_MPI_VI_ChnSaveFile(ctx->pipeId, ctx->channelId, &ctx->stDebugFile);
  RK_LOGE("RK_MPI_VI_ChnSaveFile %x", s32Ret);
} 
while (loopCount < ctx->loopCountSet) {
//5.get the frame
  s32Ret = RK_MPI_VI_GetChnFrame(ctx->pipeId, ctx->channelId, &ctx->stViFrame,waitTime);
if (s32Ret == RK_SUCCESS) {
  void *data = RK_MPI_MB_Handle2VirAddr(ctx->stViFrame.pMbBlk);
  //6.get the channel status
  s32Ret = RK_MPI_VI_QueryChnStatus(ctx->pipeId, ctx->channelId, &ctx->stChnStatus);
  //7.release the frame
  s32Ret = RK_MPI_VI_ReleaseChnFrame(ctx->pipeId, ctx->channelId, &ctx-
>stViFrame);
if (s32Ret != RK_SUCCESS) {
RK_LOGE("RK_MPI_VI_ReleaseChnFrame fail %x", s32Ret);
} l
oopCount ++;
} else {
RK_LOGE("RK_MPI_VI_GetChnFrame timeout %x", s32Ret);
} u
sleep(10*1000);
} /
/8. disable one chn
s32Ret = RK_MPI_VI_DisableChn(ctx->pipeId, ctx->channelId);
RK_LOGE("RK_MPI_VI_DisableChn %x", s32Ret);
//9.disable dev(will diabled all chn)
__FAILED2:
s32Ret = RK_MPI_VI_DisableDev(ctx->devId);
RK_LOGE("RK_MPI_VI_DisableDev %x", s32Ret);

除了單獨使用VI設備之外,VI設備還可以與其流程中關聯的設備進行綁定,如VO、VENC,這樣就不用在代碼的流程中進行圖像采集到內存,從內存在拷貝到其他設備中。關聯的方式如下:

  • RK_MPI_SYS_Bind

我的test程序就將這個接口關聯到了VENC模塊中,可以直接進行視頻的編碼。實現如下:

// bind vi to venc
        stSrcChn.enModId    = RK_ID_VI;
        stSrcChn.s32DevId   = ctx->devId;
        stSrcChn.s32ChnId   = ctx->channelId;

        stDestChn[i].enModId   = RK_ID_VENC;
        stDestChn[i].s32DevId  = i;
        stDestChn[i].s32ChnId  = ctx->stVencCfg[i].s32ChnId;

        s32Ret = RK_MPI_SYS_Bind(&stSrcChn, &stDestChn[i]);
        if (s32Ret != RK_SUCCESS) {
            RK_LOGE("create %d ch venc failed", ctx->stVencCfg[i].s32ChnId);
            goto __FAILED2;
        }

最終實現了可以將攝像頭直接采集編碼到H264文件中,可以使用播放器來打開啦。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • RK3568
    +關注

    關注

    5

    文章

    584

    瀏覽量

    6382
  • 開發板試用
    +關注

    關注

    3

    文章

    302

    瀏覽量

    2400
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    【HZ-RK3568開發板免費體驗】HZ-RK3568開發板初步接觸

    J處理器設計,支持圖像H.264編解碼處理,內置3D GPU可圖像處理,2D硬件加速引擎,內置0.8TOPS NPU算力,具備一定AI能力。 RK3568介紹如下: HZ-
    發表于 07-10 23:19

    【HZ-RK3568開發板免費體驗】01 開箱+環境搭建+系統燒錄升級

    多路電壓轉換芯片,大幅提高集成度并降低系統功耗。四個 80PIN 連接器擴展全部接口功能,方便進行二次開發使用,靈活配置所需功能。 RK356
    發表于 06-29 18:08

    迅為RK3568開發板驅動指南GPIO子系統GPIO子系統API函數的引入

    迅為RK3568開發板驅動指南GPIO子系統GPIO子系統API函數的引入
    的頭像 發表于 05-29 14:05 ?445次閱讀
    迅為<b class='flag-5'>RK3568</b><b class='flag-5'>開發板</b>驅動指南GPIO子系統GPIO子系統API函數的引入

    一文掌握RK3568開發板Android13掛載Windows共享目錄

    在物聯網和邊緣計算場景中,開發板PC端的高效文件交互尤為重要?,F以iTOP-RK3568開發板為例,詳細演示Android13系統如何通過CIFS協議掛載Windows共享目錄,實現
    的頭像 發表于 04-17 13:54 ?438次閱讀
    一文掌握<b class='flag-5'>RK3568</b><b class='flag-5'>開發板</b>Android13掛載Windows共享目錄

    RK3568開發板教程:以iTOP-RK3568開發板為例 Android13通過CIFS協議掛載Windows共享目錄

    開發板PC端的高效文件交互尤為重要?,F以iTOP-RK3568開發板為例,詳細演示Android13系統如何通過CIFS協議掛載Windows共享目錄,實現
    的頭像 發表于 04-16 14:08 ?794次閱讀
    <b class='flag-5'>RK3568</b><b class='flag-5'>開發板</b>教程:以iTOP-<b class='flag-5'>RK3568</b><b class='flag-5'>開發板</b>為例 Android13通過CIFS協議掛載Windows共享目錄

    正式發布 | 啟揚RK3568開發板已成功適配OpenHarmony4.0版本

    智能IAC-RK3568-Kit開發板基于瑞芯微RK3568處理器設計,主頻最高可達2.0GHz,集成支持多格式視頻編解碼的VPU,GPU、
    的頭像 發表于 03-27 17:24 ?737次閱讀
    正式發布 | 啟揚<b class='flag-5'>RK3568</b><b class='flag-5'>開發板</b>已成功適配OpenHarmony4.0版本

    爆款推薦 |?迅為RK3568開發板4核處理器+1T算力NPU+好用到爆的配套資料和視頻

    爆款推薦 | 迅為RK3568開發板4核處理器+1T算力NPU+好用到爆的配套資料和視頻!
    的頭像 發表于 03-19 13:41 ?686次閱讀
    爆款推薦 |?迅為<b class='flag-5'>RK3568</b><b class='flag-5'>開發板</b>4核<b class='flag-5'>處理</b>器+1T算力NPU+好用到爆的配套資料和<b class='flag-5'>視頻</b>!

    北京迅為RK3568開發板OpenHarmony系統南向驅動開發內核HDF驅動框架架構

    北京迅為RK3568開發板OpenHarmony系統南向驅動開發內核HDF驅動框架架構
    的頭像 發表于 03-11 14:13 ?1102次閱讀
    北京迅為<b class='flag-5'>RK3568</b><b class='flag-5'>開發板</b>OpenHarmony系統南向驅動<b class='flag-5'>開發</b>內核HDF驅動框架架構

    【技術分享】迅為RK3568開發板使用TFTP加載內核設備樹

    【技術分享】迅為RK3568開發板使用TFTP加載內核設備樹
    的頭像 發表于 02-21 14:04 ?692次閱讀
    【技術分享】迅為<b class='flag-5'>RK3568</b><b class='flag-5'>開發板</b>使用TFTP加載內核設備樹

    迅為RK3568開發板驅動指南Linux中通用SPI設備驅動

    迅為RK3568開發板驅動指南Linux中通用SPI設備驅動
    的頭像 發表于 01-23 11:02 ?2800次閱讀
    迅為<b class='flag-5'>RK3568</b><b class='flag-5'>開發板</b>驅動指南Linux中通用SPI設備驅動

    基于迅為RK3568開發板全國產平臺,快速實現APP開機自啟動技術分享

    基于迅為RK3568開發板全國產平臺,快速實現APP開機自啟動技術分享
    的頭像 發表于 11-21 13:58 ?946次閱讀
    基于迅為<b class='flag-5'>RK3568</b><b class='flag-5'>開發板</b>全國產平臺,快速實現APP開機自啟動技術分享

    【迅為】瑞芯微RK3588開發板RK3568開發板區別及優勢

    RK3568開發板
    的頭像 發表于 11-18 14:19 ?1464次閱讀
    【迅為】瑞芯微<b class='flag-5'>RK</b>3588<b class='flag-5'>開發板</b><b class='flag-5'>RK3568</b><b class='flag-5'>開發板</b>區別及優勢

    能力再次提升! 迅為RK3588/RK3568開發板&amp;amp;核心新增定制分區鏡像

    能力再次提升! 迅為RK3588/RK3568開發板&核心新增定制分區鏡像
    的頭像 發表于 11-06 15:11 ?1413次閱讀
    能力再次提升! 迅為<b class='flag-5'>RK</b>3588/<b class='flag-5'>RK3568</b><b class='flag-5'>開發板</b>&amp;amp;核心<b class='flag-5'>板</b>新增定制分區鏡像

    瑞芯微RK3568開發板Linux編譯報錯404怎么辦?觸覺智能教你輕松解決

    本文介紹瑞芯微RK3568主板/開發板SDK編譯流程和編譯報錯404的解決方法,使用觸覺智能EVB3568鴻蒙開發板演示,具有豐富的視頻輸入
    的頭像 發表于 11-05 11:02 ?783次閱讀
    瑞芯微<b class='flag-5'>RK3568</b><b class='flag-5'>開發板</b>Linux編譯報錯404怎么辦?觸覺智能教你輕松解決

    迅為iTOP-RK3568/RK3588開發板獲麒麟軟件適配認證

    迅為iTOP-RK3568/RK3588開發板獲麒麟軟件適配認證
    的頭像 發表于 10-18 14:56 ?1209次閱讀
    迅為iTOP-<b class='flag-5'>RK3568</b>/<b class='flag-5'>RK</b>3588<b class='flag-5'>開發板</b>獲麒麟軟件適配認證