日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

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

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

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

設(shè)置I幀的QP的示例代碼

YCqV_FPGA_EETre ? 來源:博客園 ? 作者:HankFu ? 2021-10-20 11:35 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

介紹

在有些應(yīng)用中,發(fā)現(xiàn)I幀不夠大。MPSoC VCU CtrlSW可以設(shè)置每一幀的QP大小。因此,可以通過設(shè)置I幀的QP,提高I幀的大小,從而提高I幀的質(zhì)量。

代碼

下面是設(shè)置I幀的QP的示例代碼。

GOP長度變量
在struct EncoderSink : IFrameSink的定義里添加GOP的成員變量,記錄GOP長度。

#if USER_I_FRAME_QP
               // USER_I_FRAME_QP changes START 
               float uFrameRate = 0.0f;
               int uGopLength = 0; 
               // USER_I_FRAME_QP changes END 
   
#endif  // USER_I_FRAME_QP

記錄GOP長度
在EncoderSink 的EncoderSink函數(shù)設(shè)置GOP的變量的值。

 struct EncoderSink : IFrameSink
{
  EncoderSink(ConfigFile const& cfg, AL_IEncScheduler* pScheduler, AL_TAllocator* pAllocator
              ) :
    CmdFile(cfg.sCmdFileName, false),
    EncCmd(CmdFile.fp, cfg.RunInfo.iScnChgLookAhead, cfg.Settings.tChParam[0].tGopParam.uFreqLT),
    twoPassMngr(cfg.sTwoPassFileName, cfg.Settings.TwoPass, cfg.Settings.bEnableFirstPassSceneChangeDetection, cfg.Settings.tChParam[0].tGopParam.uGopLength,
                cfg.Settings.tChParam[0].tRCParam.uCPBSize / 90, cfg.Settings.tChParam[0].tRCParam.uInitialRemDelay / 90, cfg.MainInput.FileInfo.FrameRate),
    qpBuffers{cfg.Settings, cfg.RunInfo.eGenerateQpMode},
    pAllocator{pAllocator},
    pSettings{&cfg.Settings}
  {
 
#if USER_I_FRAME_QP
                 // USER_I_FRAME_QP changes STARTED ----------------------------------
                 uFrameRate = cfg.Settings.tChParam.tRCParam.uFrameRate;
                 uGopLength = cfg.Settings.tChParam.tGopParam.uGopLength;
                 // USER_I_FRAME_QP changes END --------------------------------------
#endif  // USER_I_FRAME_QP
 
    }

設(shè)置QP

在EncoderSink 的ProcessFrame函數(shù)里,根據(jù)GOP長度,確定每個GOP開始的I幀。然后再設(shè)置QP的值??梢栽囋?0-35之間的QP值。QP值是20時,能帶來很好的圖像質(zhì)量。

void ProcessFrame(AL_TBuffer* Src) override
  {
    if(m_picCount == 0)
      m_StartTime = GetPerfTime();
 
    if(!Src)
    {
      LogVerbose("Flushing...

");
 
      if(!AL_Encoder_Process(hEnc, nullptr, nullptr))
        throw std::runtime_error("Failed");
      return;
    }
 
    DisplayFrameStatus(m_picCount);
 
    if(twoPassMngr.iPass)
    {
      auto pPictureMetaTP = AL_TwoPassMngr_CreateAndAttachTwoPassMetaData(Src);
 
      if(twoPassMngr.iPass == 2)
        twoPassMngr.GetFrame(pPictureMetaTP);
    }
 
    AL_TBuffer* QpBuf = qpBuffers.getBuffer(m_picCount);
 
    std::shared_ptr QpBufShared(QpBuf, [&](AL_TBuffer* pBuf) { qpBuffers.releaseBuffer(pBuf); });
 
    if(pSettings->hRcPluginDmaContext != NULL)
      RCPlugin_SetNextFrameQP(pSettings, pAllocator);
 
#if   USER_I_FRAME_QP
    if( 0 == (m_picCount%uGopLength) )
    {
 
        AL_Encoder_SetQP(hEnc, 20 );
    }
#endif  // USER_I_FRAME_QP
 
    
    if(!AL_Encoder_Process(hEnc, Src, QpBuf))
      throw std::runtime_error("Failed");
 
    m_picCount++;
    m_picGopCount++;
  }
責(zé)任編輯:haq
責(zé)任編輯:haq
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4977

    瀏覽量

    74420
  • 變量
    +關(guān)注

    關(guān)注

    0

    文章

    616

    瀏覽量

    29574

原文標題:設(shè)置I幀的QP,提高I幀的質(zhì)量

文章出處:【微信號:FPGA-EETrend,微信公眾號:FPGA開發(fā)圈】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

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

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    EtherCAT應(yīng)用示例,GOAL 應(yīng)用說明

    恩智浦EtherCAT堆棧為GOAL提供了不同的示例應(yīng)用。這些應(yīng)用程序是在 Industrial Communication Creator 的幫助下創(chuàng)建的,并展示了如何設(shè)置和使用堆棧。下一章列出
    發(fā)表于 04-23 08:19

    200W 四輸出 PFC 電源:QP - 200 系列揭秘

    200W 四輸出 PFC 電源:QP - 200 系列揭秘 在電子設(shè)備的設(shè)計中,電源供應(yīng)作為核心環(huán)節(jié),其性能優(yōu)劣直接影響整個系統(tǒng)的穩(wěn)定性和可靠性。今天,我們就來深入探討一款具有卓越性能的電源產(chǎn)品
    的頭像 發(fā)表于 04-05 11:40 ?263次閱讀

    探索 QP - 150 系列 150W 四輸出電源:特性、規(guī)格與應(yīng)用考量

    探索 QP - 150 系列 150W 四輸出電源:特性、規(guī)格與應(yīng)用考量 在電子設(shè)備的設(shè)計中,電源模塊的選擇至關(guān)重要,它直接影響著整個系統(tǒng)的性能、穩(wěn)定性和可靠性。今天,我們就來深入了解一下 QP
    的頭像 發(fā)表于 04-05 11:40 ?429次閱讀

    基于Matter over Thread的照明應(yīng)用示例簡要設(shè)置步驟

    在Silicon Labs(芯科科技)近期更新的技術(shù)支持文檔頁面中,我們詳細描述了運行一個基于Matter over Thread的照明應(yīng)用示例的簡要設(shè)置步驟。
    的頭像 發(fā)表于 02-03 14:03 ?750次閱讀
    基于Matter over Thread的照明應(yīng)用<b class='flag-5'>示例</b>簡要<b class='flag-5'>設(shè)置</b>步驟

    TE Connectivity推出QP 6.5多色電源連接器

    在追求高密度集成的設(shè)計中,如何避免線路錯配和簡化后續(xù)調(diào)試與維修,是一大挑戰(zhàn)。TE Connectivity (以下簡稱“TE”)近期推出的QP 6.5 多色電源連接器,正是應(yīng)對這一挑戰(zhàn)的關(guān)鍵解決方案。
    的頭像 發(fā)表于 01-12 11:22 ?637次閱讀

    中穎電子8位單片機的I/O設(shè)置介紹

    在嵌入式系統(tǒng)設(shè)計中,單片機的I/O端口設(shè)置是基礎(chǔ)且關(guān)鍵的一環(huán)。今天我們來詳細解析中穎電子8位單片機的I/O設(shè)置,幫助工程師更好地理解和應(yīng)用。
    的頭像 發(fā)表于 12-30 09:37 ?902次閱讀
    中穎電子8位單片機的<b class='flag-5'>I</b>/O<b class='flag-5'>設(shè)置</b>介紹

    MCU軟件核心庫及示例代碼速覽 !

    為加速嵌入式項目開發(fā),本文對MCU軟件核心庫進行整體速覽,涵蓋初始化、外設(shè)控制與中斷處理等關(guān)鍵部分,并結(jié)合簡潔示例代碼,幫助開發(fā)者快速理解與應(yīng)用庫功能。 一、MCU核心庫函數(shù)功能 MCU核心庫
    的頭像 發(fā)表于 12-11 17:19 ?870次閱讀
    MCU軟件核心庫及<b class='flag-5'>示例</b><b class='flag-5'>代碼</b>速覽 !

    基于芯源CW32 MCU的LED閃爍示例代碼分析

    最近我在項目中使用了芯源的CW32 MCU,這是一款非常適合物聯(lián)網(wǎng)和低功耗應(yīng)用的微控制器。在初步學(xué)習(xí)和使用中,我做了一個簡單的LED閃爍實驗,通過這篇帖子給大家分享一下代碼及相關(guān)的配置步驟。 硬件
    發(fā)表于 12-04 06:52

    淘寶京東API商品詳情接口示例參考

    。 is_promotion:是否獲取促銷價,可選參數(shù),根據(jù)需求設(shè)置。 其他參數(shù)可能包括返回字段列表、API密鑰等,具體以API文檔為準。 請求示例: ? http復(fù)制代碼GET https://eco.taobao.com
    的頭像 發(fā)表于 11-04 09:36 ?410次閱讀

    淘寶拍立淘接口實戰(zhàn):圖像優(yōu)化、識別調(diào)優(yōu)與避坑代碼示例

    本文詳解淘寶拍立淘接口(taobao.picture.search)實戰(zhàn)技巧,涵蓋圖像預(yù)處理、識別優(yōu)化、簽名生成與供應(yīng)鏈數(shù)據(jù)聯(lián)動,結(jié)合代碼示例解析高頻坑點,如Base64格式錯誤、限流處理、分頁失效等,助開發(fā)者提升識別率至85%以上,高效對接電商選品與供應(yīng)鏈系統(tǒng)。
    的頭像 發(fā)表于 10-09 14:28 ?971次閱讀

    請問如何構(gòu)建 emWin 示例代碼?

    如何構(gòu)建 emWin 示例代碼
    發(fā)表于 09-04 07:25

    如何使用20829 can-fd發(fā)送64字節(jié)擴展標識符數(shù)據(jù)?

    親愛的先生, 基于MTB代碼示例CAN_FD,它使用11位標準標識符數(shù)據(jù)。 更改為29位擴展標識符數(shù)據(jù),并將RX / TX FIFO更改為64Bytes,將
    發(fā)表于 08-04 06:56

    CYW20721如何在A2DP接收器中更改I2S時鐘設(shè)置?

    CYW20721 DS 提到的主模式下的 I2S 時鐘可以是: 44.1 kHz x 每 32 位 = 1411.2 千赫 48 kHz x 每 32 位 = 1536 kHz 我能知道如何為這 2 個
    發(fā)表于 07-03 06:41

    NXP i.MX RT1060移植TinyUSB:快速擴展大量USB Class示例

    前言 ? 為啥是TinyUSB?給強大的RT配個輕巧的USB棧! USB這個讓我們方便快捷的接口,幾乎無處不在。在嵌入式世界里,尤其是用上了像NXP i.MX RT這樣性能強勁的跨界MCU,我們自然
    的頭像 發(fā)表于 05-15 09:25 ?2869次閱讀
    NXP <b class='flag-5'>i</b>.MX RT1060移植TinyUSB:快速擴展大量USB Class<b class='flag-5'>示例</b>

    如何獲取用于開發(fā)fx2的sdk和示例代碼?

    大家好 我正在使用 FX2 設(shè)備,以前也使用過 FX3 設(shè)備。 使用 FX3 設(shè)備 SDK,當(dāng)我下載它時,我在安裝文件夾中獲得了許多示例代碼,但是它沒有 FX2 的示例代碼,我如何
    發(fā)表于 05-07 07:25
    金川县| 随州市| 阳原县| 台南市| 新干县| 新竹市| 曲阜市| 新乡市| 南昌市| 肃宁县| 合川市| 榆林市| 社会| 岳西县| 措美县| 广宁县| 黑龙江省| 浏阳市| 海宁市| 铜山县| 澎湖县| 土默特左旗| 准格尔旗| 五大连池市| 奈曼旗| 安宁市| 宜兰市| 吉安市| 唐海县| 松原市| 株洲市| 银川市| 平陆县| 佳木斯市| 筠连县| 许昌市| 准格尔旗| 历史| 遂昌县| 锦州市| 西峡县|