h264检测是I帧还是P帧
生活随笔
收集整理的這篇文章主要介紹了
h264检测是I帧还是P帧
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
From:??http://blog.csdn.net/zgyulongfei/article/details/7558031
今天在網上找了一些資料,知道了如何檢測h264中的幀類型,在這里記錄下來。
首先,貼出nal單元類型定義(圖從《新一代視頻壓縮編碼標準H.264》摘錄):
假設一段h264的碼流為:00 00 00 01?41?E6 60……
其中的00 00 00 01為起始碼,而起始碼之后的下一個字節就可以檢測出這一幀的類型。
在上面的碼流中起始碼之后的字節位 0x41,換算成二進制為 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在表中查找即可獲得需要的結果。
總結
以上是生活随笔為你收集整理的h264检测是I帧还是P帧的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 删除两个双向链表中值相同的结点--无空白
- 下一篇: 浓缩大学生活的顶级精华