原创 HEVC去方塊濾波原理以及代碼流程

代碼版本:HM-16.2+SCM-3.0rc1 時間: 2015/5/17 作者: LB 環路濾波以及SAO在代碼中的大概流程如下圖所示: 下面分別對去方塊濾波和SAO的原理和相關代碼作分析。 去方塊濾波: 去方塊濾波

原创 [LeetCode] Excel Sheet Column Title、Excel Sheet Column Number

/************ ** Excel Sheet Column Title ** ** Given a positive integer, return its corresponding column title

原创 H.265 幀內PCM模式詳解

原理: PCM模式是幀內的一種特殊的編碼模式,編碼端直接傳輸像素值。當相應的CU採用PCM模式時,CU不經過預測,變換,量化和熵編碼等步驟,直接將Cu的像素值直接傳輸到解碼端。同理,解碼端不用經過預測等步驟,直接從碼流中將像素值讀

原创 HEVC加權預測(Weight Prediction)原理兼解碼代碼

HEVC添加加權預測模式的原因: 現今很多視頻中都採用的一種技術:場景隨着時間光線強弱漸變(temporal illumination variation),或者相同場景,出現陰影效應。這樣的視頻,幀與幀之間,背景的相似度可能很高,

原创 一點點感受

今晚吹着徐徐的晚風,在消防通道跟林老闆聊了將近一個小時。算起來讀研將近一年,在北發這邊也呆了一年,做視頻編解碼的項目。其中大概有半年多是跟着林老闆一起做項目。學到了很多東西,特別感激。 談了一個小時,有很多的感受。林老闆指出我在

原创 const, static, inline, #define的用法以及關係

在我們寫代碼的過程中,添加合適恰當的相應修飾符去告訴編譯器該怎麼做,限制編譯器在我們背後偷偷的做一些出乎我們意料的行爲,這樣方能提高程序的魯棒性。作爲程序員,我們是主宰,應該由我們來明確告訴編譯器,我們希望它做什麼,不希望它做什麼,而不是

原创 [leetcode]326. Power of Three

Given an integer, write a function to determine if it is a power of three. Follow up: Could you do it without using an

原创 構造函數及析構函數與虛函數的關係

我們都知道構造函數不能爲虛函數,而基類的析構函數一般都要定義爲虛函數。今天重新複習了一下,特在此記載,以便查找。 構造函數不能爲虛函數主要有以下兩點 1、必要性分析: 當定義派生類對象時,它會主動依次調用構造函數,順序爲基類的構造函數

原创 構造函數與析構函數中不調用虛函數

本文參考《effective C++》第九條款 在C++中,提倡不能在構造函數和析構函數中調用虛函數。 這是爲什麼呢? 首先,我們先回顧一下C++虛函數的作用。 虛函數的引入是c++運行時多態的體現,通過調用虛函數可以在運行程序時實現

原创 OpenHEVC多線程解碼流程

Author: lb ffmpeg中的OpenHEVC支持單線程,多線程解碼。支持多線程解碼大大提高了解碼速度。其中,OpenHEVC支持三種形式的多線程解碼,分別是 Frame(幀)並行解碼, Slice(片)並行解碼,fra

原创 [leetCode]Add Digits

Given a non-negative integer num, repeatedly add all its digits until the result has only one digit. For example: Given

原创 [leetCode]26. Remove Duplicates from Sorted Array

Given a sorted array, remove the duplicates in place such that each element appear only once and return the new length.

原创 回調函數

這段時間在研究ffmpeg的代碼,發現裏面爲了兼容各種格式的音視頻編解碼,大量採用了回調函數,使得ffmpeg的兼容性得到很好的提升.那麼什麼是回調函數呢,它的作用是什麼,我們應該怎麼用它. 作者瀏覽了網上的很多文章,發現下面的這一遍寫

原创 OpenHEVC(ffmpeg)多線程解碼參數配置過程

這篇文章主要講解在Linux終端和Eclipse(IDE)下怎麼配置OpenHEVC的多線程解碼.注意運行系統環境均爲Ubuntu. 首先,我們的ffmpeg工程已經配置好,可以正確運行(參照這篇文章) ,接下來我們要配置OpenHEVC

原创 HEVC參考幀管理(RPS)

分析HM參考幀的管理: HEVC採用了參考幀集(RPS)的技術來管理已解碼的幀,用作後續圖像的參考。與之前的視頻編碼標準中參考偵管理策略不同的是,HEVC中的RPS技術,通過直接在每一幀開始的片頭碼流中傳輸DPB中各個幀的狀態變化,而H.