chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

3天內(nèi)不再提示

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

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

掃碼添加小助手

加入工程師交流群

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


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

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

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

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

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

本節(jié)程序如下:

demo程序

本節(jié)代碼基本上參考了官方的程序。

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

之后進入vi系統(tǒng),RK平臺下vi系統(tǒng)如下:

兩個輸出節(jié)點規(guī)格分別如下:


代碼大概流程如下:

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設備還可以與其流程中關聯(lián)的設備進行綁定,如VO、VENC,這樣就不用在代碼的流程中進行圖像采集到內(nèi)存,從內(nèi)存在拷貝到其他設備中。關聯(lián)的方式如下:

  • RK_MPI_SYS_Bind

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

// 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;
        }

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

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

    關注

    5

    文章

    628

    瀏覽量

    7590
  • 開發(fā)板試用

    關注

    3

    文章

    303

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    【迅為工業(yè)RK3568穩(wěn)定可靠】itop-3568開發(fā)板Linux驅(qū)動開發(fā)實戰(zhàn):RK3568內(nèi)核模塊符號導出詳解

    【迅為工業(yè)RK3568穩(wěn)定可靠】itop-3568開發(fā)板Linux驅(qū)動開發(fā)實戰(zhàn):RK3568內(nèi)核模塊符號導出詳解
    的頭像 發(fā)表于 11-21 13:25 ?703次閱讀
    【迅為工業(yè)<b class='flag-5'>RK3568</b>穩(wěn)定可靠】itop-<b class='flag-5'>3568</b><b class='flag-5'>開發(fā)板</b>Linux驅(qū)動<b class='flag-5'>開發(fā)</b>實戰(zhàn):<b class='flag-5'>RK3568</b>內(nèi)核模塊符號導出詳解

    【作品合集】合眾HZ-RK3568開發(fā)板測評

    體驗】外設接口測試 【HZ-RK3568開發(fā)板免費體驗】基于SDK固件編譯 第一期合集: 微五科技CF5010RBT60開發(fā)板測評作品合集 第二
    發(fā)表于 09-10 10:22

    迅為RK3568開發(fā)板模型推理測試實戰(zhàn)LPRNet?車牌識別

    迅為RK3568開發(fā)板模型推理測試實戰(zhàn)LPRNet 車牌識別
    的頭像 發(fā)表于 08-25 14:55 ?1078次閱讀
    迅為<b class='flag-5'>RK3568</b><b class='flag-5'>開發(fā)板</b>模型推理測試實戰(zhàn)LPRNet?車牌識別

    【HZ-RK3568開發(fā)板免費體驗】合眾HZ-RK3568開發(fā)板初次使用

    等音視頻多媒體接口,支持多屏異顯板載WIFI模塊、支持4G模塊、NVMe 固態(tài)硬盤。 、開箱 這是筆者第一次接觸合眾恒躍的開發(fā)板,產(chǎn)家用的包裝紙盒大氣。
    發(fā)表于 07-27 23:52

    RK3568 EVB開發(fā)板 深度休眠與快速醒的工作流程

    RK3568 EVB開發(fā)板關于深度休眠和喚醒流程的分析
    的頭像 發(fā)表于 07-22 09:49 ?617次閱讀
    <b class='flag-5'>RK3568</b> EVB<b class='flag-5'>開發(fā)板</b> 深度休眠與快速醒的工作流程

    【HZ-RK3568開發(fā)板免費體驗】1、開發(fā)板資源、SDK使用和鏡像燒寫

    試用開發(fā)板是合眾恒躍的HZ_EVM_3568開發(fā)板,RK3568 是一顆高性能、低功耗的四核應用處理
    發(fā)表于 07-21 20:52

    RK3568開發(fā)板暗藏32位兼容開關?飛凌嵌入式帶你一鍵解鎖!

    RK3568是一款64位處理器,飛凌嵌入式為其提供的交叉編譯器也是64位的,然而部分用戶可能需要在RK3568開發(fā)板上運行32位應用。本文將詳細闡述如何使用32位交叉編譯器,編譯出32
    的頭像 發(fā)表于 07-19 08:49 ?4203次閱讀
    <b class='flag-5'>RK3568</b><b class='flag-5'>開發(fā)板</b>暗藏32位兼容開關?飛凌嵌入式帶你一鍵解鎖!

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

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

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

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

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

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

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

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

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

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

    北京迅為RK3568開發(fā)板OpenHarmony系統(tǒng)南向驅(qū)動開發(fā)內(nèi)核HDF驅(qū)動框架架構(gòu)

    北京迅為RK3568開發(fā)板OpenHarmony系統(tǒng)南向驅(qū)動開發(fā)內(nèi)核HDF驅(qū)動框架架構(gòu)
    的頭像 發(fā)表于 03-11 14:13 ?1571次閱讀
    北京迅為<b class='flag-5'>RK3568</b><b class='flag-5'>開發(fā)板</b>OpenHarmony系統(tǒng)南向驅(qū)動<b class='flag-5'>開發(fā)</b>內(nèi)核HDF驅(qū)動框架架構(gòu)

    【技術分享】迅為RK3568開發(fā)板使用TFTP加載內(nèi)核設備樹

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

    迅為RK3568開發(fā)板驅(qū)動指南Linux中通用SPI設備驅(qū)動

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