h265裸流分析

2021-08-15 00:25:14 字數 919 閱讀 8154

型別判斷方式為分隔符之後的第乙個位元組右移一位的值

第一幀:0x40 >> 1 , 得到0x20,十進位制32,為nal_vps

第二幀:0x42 >> 1 , 得到0x21, 十進位制33, 為nal_sps

第三幀:0x44 >> 1 , 得到0x22, 十進位制34, 為nal_pps

第四幀:0x26 >> 1 , 得到0x13, 十進位制19, 為nal_idr_w_radl

h265 幀型別判斷:

和264的&0x1f不同。265是 :

int type = (code & 0x7e)>>1;

在檔案中查詢00 00 00 01nalu頭,發現在有6種開頭分別為:

再根據h265的nalu型別定義分析,

00 00 00 01 42 01  的nuh_unit_type的值為 33, 語義為序列引數集         sps

00 00 00 01 44 01  的nuh_unit_type的值為 34, 語義為影象引數集         pps

00 00 00 01 4e 01  的nuh_unit_type的值為 39, 語義為補充增強資訊       sei

00 00 00 01 26 01  的nuh_unit_type的值為 19, 語義為可能有radl影象的idr影象的ss編碼資料   idr

00 00 00 01 02 01  的nuh_unit_type的值為1, 語義為被參考的後置影象,且非tsa、非stsa的ss編碼資料

在編碼過程中,從編碼器獲取碼流的時候,1、2、3、4、5是在一幀資料當中。相當於h264的i幀。

int type = (code & 0x7e)>>1;

//nal unit type codes and nal unit type classes

enum nalunittype

;

H265碼流分析

h265相比較於h264,除了包含sps pps外,還多包含乙個vps 在nalu header上,h.264的nalu header是乙個位元組,而h.265則是兩個位元組。以0x4001為例,頭資訊可以被解析成4個部分,其中 對比h.264的頭資訊,h.265移除了nal ref idc,此資訊...

H265碼流分析 二

上篇主要介紹了h265的基本構成。現在看下nalu type型別判斷方式 int type code 0x7e 1 型別判斷方式為 00 00 00 01 後的乙個位元組右移乙個位,下面是幾種主要型別 0x40 1 得到0x20,十進位制32,為nal vps 0x42 1 得到0x21,十進位制3...

H 265標準閱讀 GOP

定義將在整個序列中重複使用的迴圈gop結構。這個表應該包括gopsize行,分別命名為frame1,frame2等。這些幀按解碼順序排列,第一幀時解碼順序的第一幀,第二幀是解碼順序的第二幀,以此類推。除此之外,該錶指定了編碼器為每一幀儲存的所有參考。這包括用於當前參考的以及將來用於參考的。編碼器不會...