91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

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

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

如何設置I幀的QP提高I幀的質(zhì)量

劉芳 ? 來源:yfdsfqdqd ? 作者:yfdsfqdqd ? 2022-08-02 08:03 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

代碼
下面是設置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ù)設置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函數(shù)里,根據(jù)GOP長度,確定每個GOP開始的I幀。然后再設置QP的值。可以試試20-35之間的QP值。QP值是20時,能帶來很好的圖像質(zhì)量。

void ProcessFrame(AL_TBuffer* Src) override
  {
    if(m_picCount == 0)
      m_StartTime = GetPerfTime();
 
    if(!Src)
    {
      LogVerbose("Flushing...\n\n");
 
      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++;
  }

審核編輯:郭婷

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

    關注

    30

    文章

    4968

    瀏覽量

    73984
  • MPSoC
    +關注

    關注

    0

    文章

    203

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    MediaTek天璣倍技術MFRC專區(qū)上線官網(wǎng)

    MediaTek 宣布在天璣開發(fā)者中心網(wǎng)站已正式上線「天璣倍技術 MFRC 專區(qū)」(MediaTek Frame Rate Converter,MFRC)。
    的頭像 發(fā)表于 01-29 14:57 ?492次閱讀

    XC95108-15PQ100I 通信應用實操:多協(xié)議解析與數(shù)據(jù)轉(zhuǎn)換技巧

    XC95108-15PQ100I不是什么神秘的黑科技,它其實就是Xilinx公司推出的一款高性能CPLD(復雜可編程邏輯器件)。簡單說,這就像一個可以重新編程的"數(shù)字電路積木",讓工程師能夠按照需求搭建出各種數(shù)字邏輯功能。
    的頭像 發(fā)表于 01-28 09:59 ?204次閱讀
    XC95108-15PQ100<b class='flag-5'>I</b> 通信應用實操:多協(xié)議<b class='flag-5'>幀</b>解析與數(shù)據(jù)轉(zhuǎn)換技巧

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

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

    為什么無法在 USB3 Vision 上傳輸虛擬

    /FX3-U3V-device-fails-to-build-genapi-no...中提供的代碼。但是我無法在 eBUS USB 播放器中傳輸視頻。 在 eBUS 播放器中,我獲取了 SiPayloadTransferSize
    發(fā)表于 07-16 06:42

    如何查找 TLE9881 接收的 DLC?

    我們的項目使用 TLE9881,并使用經(jīng)典 CAN 協(xié)議進行通信。 您能幫我找到接收到的 CAN 的 DLC 嗎?
    發(fā)表于 07-15 06:42

    CYW20721如何在A2DP接收器中更改I2S時鐘設置

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

    如何評估CAN總線信號質(zhì)量

    絡中,數(shù)據(jù)通過雙絞線上的差分信號傳輸。信號質(zhì)量直接影響節(jié)點正確解讀數(shù)據(jù)的能力。信號質(zhì)量差可能表現(xiàn)為: 位錯誤 :由于噪聲或信號失真導致的位誤判。 錯誤 :CAN結構錯誤,導致接收節(jié)
    發(fā)表于 06-07 08:46

    CX3 I2C啟動失敗的原因?

    I2C 啟動。 使用邏輯分析儀測試 I2C 信號。您可以在開始時讀取第一數(shù)據(jù)。與AN76405相比,讀取數(shù)據(jù)正確。但奇怪的是,此后I2C接口就停止工作了。 邏輯分析儀測試
    發(fā)表于 05-28 07:46

    Denebola RDK上配置的大小與實際大小不一致是怎么回事?

    設置了CyU3PMipicsiSetPhyTimeDelay ( 1 , 18 ) ; 。 項目說明: 大小不匹配: 根據(jù)配置的分辨率和格式,預期的大小應為每4915200
    發(fā)表于 05-19 08:09

    S32K3X4EVB-T172 LIN接收丟失的原因?

    我正在使用S32K3X4EVB-T172 評估板 (S32K344) 和LINSTACK for S32K3 版本 2.0.5。 我的設置如下。 MCU (S32K344) 充當 LIN 主站。在
    發(fā)表于 04-01 07:23

    如何在SJA1110中配置IEEE802.1CB復制和冗余消除 (FRER)?

    嗨,我如何在 SJA1110 中配置 IEEE802.1CB 復制和冗余消除 (FRER),我需要實施進入端口 1 的數(shù)據(jù)的復制需要反映在端口 2 中,以及如何禁用進入端口 1 的數(shù)據(jù)可以在端口
    發(fā)表于 03-26 08:02

    HarmonyOS應用高負載場景分渲染

    ,可以采用分渲染技術,將原本在一內(nèi)加載的數(shù)據(jù)分散到多中逐步加載,從而減輕單的渲染壓力。不過,分渲染需要開發(fā)者精確計算每
    的頭像 發(fā)表于 03-25 10:28 ?1113次閱讀
    HarmonyOS應用高負載場景分<b class='flag-5'>幀</b>渲染

    是否可以使用DMA和LPSPI的3字節(jié)大???

    。如果我將大小配置為8位或32位、則傳輸工作正常、但我無法讓它工作于24位(AD5676 SPI DAC要求)。 當我深入研究相關的 i.MX API 函數(shù)時[i
    發(fā)表于 03-17 06:47

    工業(yè)與IT網(wǎng)絡中的以太網(wǎng)數(shù)據(jù):格式與用途全解析

    以太網(wǎng)數(shù)據(jù)是計算機網(wǎng)絡通信的基本單位,在不同的應用場景中,它的格式有所不同。從互聯(lián)網(wǎng)和工業(yè)自動化常見的以太網(wǎng) II ,到 VLAN 組網(wǎng)中廣泛使用的 IEEE 802.1Q ,再到運營商級別的 QinQ 及高性能計算中的
    的頭像 發(fā)表于 03-14 17:35 ?1662次閱讀
    工業(yè)與IT網(wǎng)絡中的以太網(wǎng)數(shù)據(jù)<b class='flag-5'>幀</b>:格式與用途全解析

    基于事件相機的統(tǒng)一插值與自適應去模糊框架(REFID)

    質(zhì)量的插與模糊圖像還原。此外,研究團隊還發(fā)布了高分辨率事件-視頻數(shù)據(jù)集 HighREV,為事件相機低級視覺任務提供了新的測試基準。
    的頭像 發(fā)表于 03-14 11:48 ?1631次閱讀
    基于事件相機的統(tǒng)一<b class='flag-5'>幀</b>插值與自適應去模糊框架(REFID)