在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

3天內不再提示

設置I幀的QP的示例代碼

YCqV_FPGA_EETre ? 來源:博客園 ? 作者:HankFu ? 2021-10-20 11:35 ? 次閱讀

介紹

在有些應用中,發現I幀不夠大。MPSoC VCU CtrlSW可以設置每一幀的QP大小。因此,可以通過設置I幀的QP,提高I幀的大小,從而提高I幀的質量。

代碼

下面是設置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函數設置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
 
    }

設置QP

在EncoderSink 的ProcessFrame函數里,根據GOP長度,確定每個GOP開始的I幀。然后再設置QP的值。可以試試20-35之間的QP值。QP值是20時,能帶來很好的圖像質量。

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

    關注

    30

    文章

    4798

    瀏覽量

    68726
  • 變量
    +關注

    關注

    0

    文章

    613

    瀏覽量

    28404

原文標題:設置I幀的QP,提高I幀的質量

文章出處:【微信號:FPGA-EETrend,微信公眾號:FPGA開發圈】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    TPS92682-Q1定義和示例

    電子發燒友網站提供《TPS92682-Q1定義和示例.pdf》資料免費下載
    發表于 11-24 14:26 ?6次下載
    TPS92682-Q1<b class='flag-5'>幀</b>定義和<b class='flag-5'>示例</b>

    LP589x和TLC698x示例代碼用戶指南

    電子發燒友網站提供《LP589x和TLC698x示例代碼用戶指南.pdf》資料免費下載
    發表于 11-13 15:57 ?0次下載
    LP589x和TLC698x<b class='flag-5'>示例</b><b class='flag-5'>代碼</b>用戶指南

    TPS929xxx-Q1示例代碼

    電子發燒友網站提供《TPS929xxx-Q1示例代碼.pdf》資料免費下載
    發表于 11-13 14:59 ?2次下載
    TPS929xxx-Q1<b class='flag-5'>示例</b><b class='flag-5'>代碼</b>

    LP5891-Q1示例代碼用戶指南

    電子發燒友網站提供《LP5891-Q1示例代碼用戶指南.pdf》資料免費下載
    發表于 11-12 14:08 ?1次下載
    LP5891-Q1<b class='flag-5'>示例</b><b class='flag-5'>代碼</b>用戶指南

    BQ40Z80量產校準代碼示例

    電子發燒友網站提供《BQ40Z80量產校準代碼示例.pdf》資料免費下載
    發表于 09-27 09:34 ?0次下載
    BQ40Z80量產校準<b class='flag-5'>代碼</b><b class='flag-5'>示例</b>

    can標準和擴展的區別

    CAN(Controller Area Network)是一種用于汽車和工業領域的通信協議,它允許多個設備在同一總線上進行通信。CAN協議有兩種類型:標準和擴展。這兩種類型在結
    的頭像 發表于 07-24 15:20 ?1983次閱讀

    如何使用AURIX?將Erika操作系統移植到TC387-QP MCU中?

    如何使用AURIX?設計工作室將此 Erika OS 集成到 TC387-QP MCU 中? Erika OS文件夾已經可用,并以 ZIP 文件的形式共享,以供參考。 設置如下 AURIX?設計工
    發表于 05-17 14:03

    關于STM32 DMAMUX模塊具體的應用示例代碼

    有人通過公眾號微信留言,詢問是否有關于STM32 DMAMUX模塊具體的應用示例代碼。同時,個人也發現,雖然STM32片內的DMAMUX不是什么新模塊,似乎還是很多人并不太熟悉。這里借機聊聊這方面的內容,重點演示相關功能的實現,以供參考。
    的頭像 發表于 03-25 09:15 ?2465次閱讀
    關于STM32 DMAMUX模塊具體的應用<b class='flag-5'>示例</b><b class='flag-5'>代碼</b>

    TC387QP啟用HSm時,PFlash被擦除而鎖定了怎么解決?

    你好, 我曾在 HSM 啟用狀態下進行過 Pflash 擦除。 因此,鎖定微型 TC387QP。 請告訴我如何解鎖微控制器 TC387QP
    發表于 03-04 06:05

    瑞薩Flash示例程序01型SC版本(代碼Flash)應用說明

    電子發燒友網站提供《瑞薩Flash示例程序01型SC版本(代碼Flash)應用說明.pdf》資料免費下載
    發表于 02-19 13:48 ?0次下載
    瑞薩Flash<b class='flag-5'>示例</b>程序01型SC版本(<b class='flag-5'>代碼</b>Flash)應用說明

    如何使用Arduino設置熱敏電阻來創建溫度計

    在本教程中,我們將指導您如何使用Arduino設置熱敏電阻以創建基本溫度計。提供的原理圖、試驗板圖和示例代碼將使熱敏電阻工作變得簡單明了。
    的頭像 發表于 02-11 10:37 ?2608次閱讀
    如何使用Arduino<b class='flag-5'>設置</b>熱敏電阻來創建溫度計

    淺析MIMO的結構思路

    對于非配對頻段,GP位置需要對齊,以避免DL/UL交叉鏈路干擾,簡化共存。圖2列出了具有對齊GP位置的未配對頻譜中多配置共存的示例
    發表于 02-01 14:30 ?621次閱讀
    淺析MIMO的<b class='flag-5'>幀</b>結構思路

    使用MODBUS協議的時候可以不用設置數據格式了嗎?

    在使用MODBUS協議進行串口通訊時,通常需要設置數據格式。
    的頭像 發表于 01-30 09:32 ?809次閱讀

    bluetooth_le_HelloSensor使用OTA復制Battery Server示例的相同設置時,SPI卡住了是怎么回事?

    我最初創建了示例項目 bluetooth_le_HelloSensor 并添加了我的 SPI 驅動程序代碼。 它運作良好。 當我使用 OTA 復制 Battery Server 示例的相同設置
    發表于 01-19 07:56

    西門子博途示例:如何為下載設置內存保留而不重新初始化

    示例:在塊上設置內存保留
    的頭像 發表于 01-15 10:41 ?1571次閱讀
    西門子博途<b class='flag-5'>示例</b>:如何為下載<b class='flag-5'>設置</b>內存保留而不重新初始化
    主站蜘蛛池模板: 中文字幕一区二区三区 精品| 国产农村乱色xxxx| 天天躁夜夜躁狠狠躁2021a| 天天射天天干天天插| 五月天狠狠| 日本黄色绿像| 操人视频网站| 2345成人高清毛片| 老师叫我揉她内裤越快越好 | 国产网站免费视频| 国产nv精品你懂得| 午夜禁片| 黄 色 成 年人在线| h视频在线观看视频观看| 99精品国产第一福利网站| 天天操天天操天天操| 俺去在线| 国产人成精品香港三级古代| gav久久| 成人在线综合网| 新午夜影院| 午夜性福| 国内精品网站| 久久精品午夜| 欧美xingai| h网站在线看| 中日韩在线视频| 色香婷婷| 国产三级在线观看播放| 天天爽天天| 午夜欧美性视频在线播放| 欧美黄色精品| 久久精品国产亚洲婷婷| 四虎影院2022| 国产一区二区在线观看免费| 天天干天天射天天| ww7788色淫网站女女免费| 亚洲色图 欧美| 久久久夜色精品国产噜噜| 天天都色| 在线观看日本一区|