色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

    文章

    4780

    瀏覽量

    68527
  • 變量
    +關注

    關注

    0

    文章

    613

    瀏覽量

    28361

原文標題:設置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 ?0次下載
    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 ?1840次閱讀

    如何使用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 ?2415次閱讀
    關于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 ?2483次閱讀
    如何使用Arduino<b class='flag-5'>設置</b>熱敏電阻來創建溫度計

    淺析MIMO的結構思路

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

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

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

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

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

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

    示例:在塊上設置內存保留
    的頭像 發表于 01-15 10:41 ?1501次閱讀
    西門子博途<b class='flag-5'>示例</b>:如何為下載<b class='flag-5'>設置</b>內存保留而不重新初始化
    主站蜘蛛池模板: 在线国产视频观看| 在线一本码道高清| 国产AV99激情久久无码天堂| 欧美激情精品久久久久| 99精品国产高清自在线看超| 久久综合狠狠综合狠狠| 亚洲理论片在线中文字幕| 国产最新进精品视频| 亚洲精品在看在线观看| 精品AV国产一区二区三区| 亚洲精品乱码久久久久久中文字幕 | 男女牲交全过程免费播放| 91欧美秘密入口| 欧美亚洲视频在线二区| 被窝伦理午夜电影网| 日韩一区精品视频一区二区| 国产精品久久一区二区三区蜜桃| 色青青草原桃花久久综合| 国产免费午夜高清| 亚洲色tu| 麻花传媒XK在线观看| a视频免费在线观看| 日本漫画大全无翼乌| 国产午夜伦鲁鲁| 亚洲中文热码在线视频| 开心久久激情| 凤楼app| 亚洲欧美一区二区三区四区| 妹妹我要色| 丰满女朋友在线观看中文| 亚洲精品国产精品麻豆99| 男男被强bl高h文| 国产高清在线a视频大全| 野花韩国高清完整版在线| 欧美激情一区二区三区四区| 国产福利秒拍weipai.ee| 伊人久久电影网| 日韩高清特级特黄毛片| 久久才是精品亚洲国产| 俄罗斯19girl video9| 一边吃奶一边添P好爽故事|