如下圖:
2、如何判斷幀型別(是影象參考幀還是i、p幀等)?
nalu型別是我們判斷幀型別的利器,從官方文件中得出如下圖:
我們還是接著看最上面圖的碼流對應的資料來層層分析,以00 00 00 01分割之後的下乙個位元組就是nalu型別,將其轉為二進位制資料後,解讀順序為從左往右算,如下:
(1)第1位禁止位,值為1表示語法出錯
(2)第2~3位為參考級別
(3)第4~8為是nal單元型別
例如上面00000001後有67,68以及65,41
其中0x41的二進位製碼為:
0100 0001
4-8為00001,轉為十進位制1,參考第二幅圖:根據上圖可知道這段碼流是【不分割槽、非idr影象的片】,在baseline的檔次中就是p幀,因為baseline沒有b幀。
所以判斷是否為i幀的演算法為: (nalu型別 & 0001 1111) = 5 即nalu型別& 31 = 5
比如0x65 & 31 = 5
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型...
H264 NAL簡介與I幀判斷
1 nal全稱network abstract layer,即網路抽象層。如下圖 2 如何判斷幀型別 是影象參考幀還是i p幀等 nalu型別是我們判斷幀型別的利器,從官方文件中得出如下圖 我們還是接著看最上面圖的碼流對應的資料來層層分析,以00 00 00 01分割之後的下乙個位元組就是nalu型...