NALU結構介紹與I幀判斷

2021-09-29 06:43:41 字數 695 閱讀 8182

h264 nalu固定以 0x00 00 00 01為起始,nalu_data部分不會出現這個起始碼;在找到下乙個起始碼之前,當前nalu資料長度不知;

h264 nalu: 00 00 00 01(4位元組) | nalu type(1位元組)| nalu_data (n位元組)|0x00 00 00 01 | …

起始碼(4位元組) 型別 資料 下乙個nalu

nalu_type 1位元組,定義為:

1位元禁止位 2位元 重要性指示位 5位元 型別

固定為0 11 1-12 由h264使用

常用nalu_type:

0x67 (0 11 00111) sps 非常重要 type = 7

0x68 (0 11 01000) pps 非常重要 type = 8

0x65 (0 11 00101) idr幀 關鍵幀 非常重要 type = 5

0x61 (0 11 00001) i幀 重要 type=1 非idr的i幀 不大常見

0x41 (0 10 00001) p幀 重要 type = 1

0x01 (0 00 00001) b幀 不重要 type = 1

0x06 (0 00 00110) sei 不重要 type = 6

所以判斷是否為i幀的演算法為: (nalu型別 & 0001 1111) = 5 即 nalu型別 & 31 = 5,比如0x65 & 31 = 5

idr幀 i幀 p幀 H264中I幀與IDR幀區別

h264中i幀與idr幀區別分類 i和idr幀都是使用幀內 的。它們都是同乙個東西而已,在編碼和解碼中為了方便,要首個i幀和其他i幀區別開,所以才把第乙個首個i幀叫idr,這樣就方便控制編碼和解碼流程。idr幀的作用是立刻重新整理,使錯誤不致傳播,從idr幀開始,重新算乙個新的序列開始編碼。而i幀不...

H264 NAL簡介與I幀判斷

1 nal全稱network abstract layer,即網路抽象層。如下圖 2 如何判斷幀型別 是影象參考幀還是i p幀等 nalu型別是我們判斷幀型別的利器,從官方文件中得出如下圖 我們還是接著看最上面圖的碼流對應的資料來層層分析,以00 00 00 01分割之後的下乙個位元組就是nalu型...

H264 NAL簡介與I幀判斷

1 nal全稱network abstract layer,即網路抽象層。如下圖 2 如何判斷幀型別 是影象參考幀還是i p幀等 nalu型別是我們判斷幀型別的利器,從官方文件中得出如下圖 我們還是接著看最上面圖的碼流對應的資料來層層分析,以00 00 00 01分割之後的下乙個位元組就是nalu型...