原创 HEVC中的SAO 5 saoComponentParamDist
函數功能: 爲當前CTU找到最佳的Y分量最佳SAO_TYPE。saoComponentParamDist for (typeIdx=0; typeIdx<MAX_NUM_SAO_TYPE; typeIdx++)
原创 編譯和鏈接的區別
在多道程序環境中,要想將一個用戶源代碼變成一個可以在內存中執行的程序,通常分爲三個步驟:編譯、鏈接、載入。 (1)編譯:由編譯程序將用戶的源代碼編譯成若干個目標模塊。 (2)鏈接:由鏈接
原创 使用數組對vector進行初始化
int array[10]={...}; vector<int> text(array,array+10); //用array對vector進行初始化
原创 大端模式和小端模式
Big-Endian和Little-Endian的定義如下: 1) Little-Endian就是低位字節排放在內存的低地址端,高位字節排放在內存的高地址端。 2) Big-Endian就是高位字節排放在內存的低地址端,低位字節排放在內存
原创 Code Review: Rietveld平臺的搭建和Rietveld的使用。
關於如何搭建 Rietveld平臺的文章,在網上也搜到過一輛諞,自己用起來總是有問題,後來在官網上找了一偏文章,才弄好。 安裝平臺:Linux CentOS 6.3 系統,Python 要求2.7以上的版本。 官方文檔鏈接:https:/
原创 寄存器變量
在程序運行時,根據需要到內存中相應的存儲單元中調用,如果一個變量在程序中頻繁使用,例如循環變量,那麼,系統就必須多次訪問內存中的該單元,影響程序的執行效率。因此,C\C++語言還定義了一種變量,不是保存在內存上,而是直接存儲在CPU中的
原创 進程
進程的概念主要有兩點: 第一,進程是一個實體。 每一個進程都有它自己的地址空間,一般情況下,包括文本區域(text region)、數據區域(data region)和堆棧(stack region)。 文本區域存儲處理器執行的代碼;
原创 HEVC中的SAO 3 rdoSaoUnitAll
Void TEncSampleAdaptiveOffset::rdoSaoUnitAll() //得到最佳SAO_TYPE選擇.並且,對offset值進行熵編碼。 { for (idxY = 0; idxY< frame
原创 HEVC中的SAO 1 SAO的入口函數
在文件TEncGop.cpp 中 Void TEncGOP::compressGOP 函數中調用 m_pcSAO->SAOProcess(..........); L1368 HM10.0
原创 GDM 2.1代碼 環路濾波
1、環路濾波 loopfilter.c DeblockFrame 對一幀進行濾波 DeblockMb422 對宏塊濾波 圖像格式爲4:2:2 DeblockMb 對宏塊濾波 圖像格式爲4:2:0 或者4:0:0 Deb
原创 Image Compression Artifacts
1、Blocking Artifacts 基於塊的編碼,例如H.264/AVC。 2、Ringing Artifacts 在小波和子帶編碼最明顯,例如JPEG2000. 3、Blurring 4、
原创 動態鏈接庫、靜態庫、import庫區別
動態鏈接庫、靜態庫、import庫區別 動態鏈接庫(Dynamic Linked Library):Windows爲應用程序提供了豐富的函數調用,這些函數調用都包含在動態鏈接庫中。其中有3個最重要的DLL,Kernel32.dll,它
原创 fprintf
fprintf (stderr, "\nfailed to open bitstream file `%s' for writing\n", m_pchBitstreamFile); 函數原型 int fprintf(FILE *st
原创 HEVC 中的SAO 2 主函數SAOProcess
SAO主函數代碼結構如下:參見博客 http://blog.csdn.net/hevc_cjl/article/details/8284432 Void TEncSampleAdaptiveOffset::SAOProcess() {
原创 HEVC主函數 encmain.cpp
int main (int argc, char* argv[]){ TAppEncTop cTAppEncTop; // print information fprintf( stdout, "\n" );