openh264碼控筆記四(巨集塊級QP的計算)
以下都是RC_BITRATE_MODE模式的處理流程。
一、巨集塊級碼控計算整體框架圖
二、巨集塊級碼控計算公式
1)I幀巨集塊級QP值
I幀巨集塊級QP直接取的是幀級QP的值。
WelsRcMbInitGom (sWelsEncCtx* pEncCtx, SMB* pCurMb, SSlice* pSlice)
2)P幀巨集塊級QP值
P幀巨集塊級QP取的是Slice級QP的值。若開了自適應量化功能,還會根據自適應量化結果動態調整巨集塊級QP的值。
RcCalculateMbQp (sWelsEncCtx* pEncCtx, SSlice* pSlice, SMB* pCurMb)
3)實際巨集塊編碼QP值
在實際巨集塊編碼時,會根據當前的編碼資料量,動態微調巨集塊級QP的值。
相關推薦
openh264碼控筆記四(巨集塊級QP的計算)
以下都是RC_BITRATE_MODE模式的處理流程。 一、巨集塊級碼控計算整體框架圖 二、巨集塊級碼控計算公式 1)I幀巨集塊級QP值 I幀巨集塊級QP直接取的是幀級QP的值。 WelsRcMbInitGom (sWelsEncCtx* pEncCtx, SMB* p
openh264碼控筆記五(跳幀處理)
以下都是RC_BITRATE_MODE模式的處理流程。 一、跳幀處理整體框架圖 當編碼器位元速率實在壓不下去,可以通過掉幀方式控制碼率。 具體參見CheckFrameSkipBasedMaxbr函式實現 。。。。。看不進去了,休息一會。。。。 修改了幾
openh264碼控筆記三(Slice級QP的計算)
以下都是RC_BITRATE_MODE模式的處理流程。 確定完幀級QP之後,若是P幀的情況下,還需要根據實際的編碼情況動態調整Slice級QP。 一、Slice級碼控計算整體框架圖 二、Slice級碼控計算公式 1)Slice級QP的初始值 WelsRcPictureI
openh264碼控筆記二(幀級QP的計算)
以下都是RC_BITRATE_MODE模式的處理流程。 一、幀級碼控計算整體框架圖 二、幀級QP的計算公式 openh264用的碼控用的是R-Q模型,使用歷史幀的平均QP、SAD、幀長,來預測當前幀的QP。計算公式如下: QStep = (IntraComplexity *
openh264碼控筆記一(整體框架)
一、名詞解釋 計算碼控時會用到如下的一些引數: SAD (Sum of Absolute Difference)=SAE(Sum of Absolute Error)絕對誤差和 SATD(Sum of Absolute Transformed Difference)即hadamard變換
openh264編碼二(巨集塊定義)
一、巨集塊的定義 巨集塊是視訊資訊的主要承載者。一個編碼影象通常劃分為多個巨集塊組成.包含著每一個畫素的亮度和色度資訊。視訊解碼最主要的工作則是提供高效的方式從碼流中獲得巨集塊中畫素陣列。 一個巨集塊 = 一個16*16的亮度畫素 + 一個8×8Cb + 一個8×8Cr彩色畫素塊組成。(
Maven學習筆記四(坐標和依賴)
Maven學習筆記 坐標 什麽是坐標? 在平面幾何中坐標(x,y)可以標識平面中唯一的一點 Maven 坐標主要組成 groupId:定義當前 Maven 項目隸屬項目、組織 artifactId:定義實際項目中的一個模塊 version:定義當前項目的當前版本
Python筆記八(模塊和包)
初始化 python3.3 找到 glob OS sql 跨平臺 spec rsh 一、模塊 1、什麽是模塊 常見的場景:一個模塊就是一個包含了python定義和聲明的文件,文件名就是模塊名字加上.py的後綴。 但其實import加載的模塊分為四個通用類別:
Vue.js實戰 學習筆記 四(v-bind及class與style綁定)
自動 turn ont === 形式 new for function href DOM元素經常動態地綁定一些class或style(比如輪播時的active) Vue.js使用v-bind指令進行對class和style多種方法的綁定:通過表達式計算出字符串結果 如筆
Lua菜鳥教程學習筆記四(重難點 續)
內容會持續更新,有錯誤的地方歡迎指正,謝謝! Lua 檔案 I/O Lua I/O 庫用於讀取和處理檔案。分為簡單模式(和C一樣)、完全模式(以一種面對物件的形式,將所有的檔案操作定義為檔案控制代碼的方法)。如果同時讀取多個檔案的話,使用完全模式則較為合適。 簡單模式 以
微信小程式學習筆記四(持續更新)---征服scroll-view下拉重新整理
貼圖 大概實現這種使用swiper做tab切換,資料頁面下拉重新整理的效果。 官方提供的scroll-view作為容器,如果在scroll-view使用onPullDownRefresh實現下拉重新整理,會存在頁面重新整理卡,並且重新整理會出現在tab之上,使
前端筆記四(盒子模型)
一、網頁可以看成是盒子模型構造而成,這個盒子模型構造結構如圖所示: Content:內容區。 padding:內容與盒子裡面的邊距。 border:邊框。 margin:整個盒子的外殼,盒子與外部的邊距,若是兩個盒子,則是盒子與盒子之間的邊距。 若
Spring學習筆記四(AOP中的通知引數和註解開發)
1.前言 上一篇部落格介紹瞭如何通過AOP來切入我們想實現的公共性的功能,這篇部落格來講一下,當我們攔截到方法後,如何來獲取通知引數。這也是AOP的精髓所在,通過AOP可以實現偷樑換柱的功能。我
資料結構學習筆記四(二分查詢)
一、什麼是二分查詢 二分查詢針對的是一個有序的資料集合,每次都通過更區間的中間元素做對比,將要查詢的區間縮小為原來的一半,直到找到要查詢的元素,或者區間被縮小為0。其時間複雜度為O(logn)。
nginx學習筆記四(nginx啟動時候的master和worker程序)
nginx一般情況下都是配置成一個多程序的程式,由一個master程序和多個worker程序組成,master程序通過訊號來管理worker程序的執行狀態。下面從程式碼的角度來分析master和worker程序的啟動情形。 1.在main函式最後,會根據配置方式,決定ngi
STM32F10xxx20xxx21xxxL1xxxx Cortex-M3程式設計手冊 閱讀筆記四(2):記憶體保護單元
這一部分描述在一些stm32微控制器應用的記憶體保護單元。參看相應的裝置手冊檢查在我們使用的stm32型別中是否存在。 記憶體保護單元劃分記憶體地圖為許多區域,而且定義了每一區域的定位、大小、訪問許可權和記憶體屬性。它支援:每一區域獨立屬性設定;重疊區;將記憶體屬
springMVC學習筆記四(資料型別轉換和資料驗證)
=============================資料型別轉換和資料驗證======================= 資料型別轉換 Spring 內建的 PropertyEditor 如下所示: 類名 說明
《javascript設計模式》讀書筆記二(封裝和隱藏信息)
mil del ims 是你 信息 私有屬性 bsp delet urn 1.為什麽要封裝和信息隱藏 做過編程的朋友們知道“耦合”這個詞。事實上封裝的效果就是為了解耦,讓類和類之間沒有太多的聯系,防止某一天改動某一類的時候,產生“多米骨諾牌效應”。 我們能夠把信息隱
BFC(塊級化上下文)
over 支持 如何 元素 進行 相互 abs absolute 關系 優點:①決定了元素如何對其內容進行定位,以及與其他元素的關系和相互作用,IE-7不支持BFC ②與普通容器相比,BFC元素可以看做是隔離了獨立容器,內部的元素不會在布局上影響外面元素
IBM V7000 raid5數據恢復(多塊硬盤離線)
v7000數據恢復 raid數據恢復 服務器數據恢復 數據 恢復設備信息:故障表現:首先有一塊硬盤出現故障離線,熱備盤啟用替換,在此時與離線盤同一組Mdisk中又有其他另一塊磁盤出現故障離線。從而導致熱備盤同步失敗,這組Mdisk失效,進而影響到整個通用卷,通用卷無法使用。數據恢復概率分析:由於整個陣列失效的