H264中NAL幀識別

NAL單元類型定義(圖從《新一代視頻壓縮編碼標準H.264》摘錄):



假設一段h264的碼流爲:00 00 00 01 41 E6 60……

其中的00 00 00 01爲起始碼,而起始碼之後的下一個字節就可以檢測出這一幀的類型。

在上面的碼流中起始碼之後的字節位 0x41,換算成二進制爲 0100 0001。

注:我解讀順序爲從左往右算。

對於0100 0001

(1)第1位禁止位,值爲1表示語法出錯

(2)第2~3位爲參考級別

(3)第4~8爲是nal單元類型,在此處爲 0 0001換算成十進制爲1。根據上圖可知道這段碼流是【不分區、非IDR圖像的片】,在baseline的檔次中就是P幀,因爲baseline沒有B幀。


如果是另一段碼流:00 00 00 01 65 E8……

那麼根據0x65字節(0110 0101)根據後5位換算十進制爲5,也就是【IDR圖像中的片】,即I幀。


用代碼的方式可以這樣寫,int type = 0x65 & 0x1f,然後根據type在表中查找即可獲得需要的結果。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章