導航:首頁 > IDC知識 > nalrefidc

nalrefidc

發布時間:2021-02-20 14:55:34

1、H264碼流解析

00 00 00 01是Start code後面的ox67為 0110 0111
forbidden_zero_bit 是禁止位,應該是第一位即f(1)=0,1為語法有錯誤
nal_ref_idc是參考級別,代表被其它幀參考情況,u(2)= 11 = 3最(0為無參考,詳見規范)
nal_unit_type是該幀的類型,為剩下的5位,u(5)= 0 0111 = 7
目前類型有:
//H264定義的類型 values for nal_unit_type
typedef enum {
NALU_TYPE_SLICE = 1,
NALU_TYPE_DPA = 2,
NALU_TYPE_DPB = 3,
NALU_TYPE_DPC = 4,
NALU_TYPE_IDR = 5,
NALU_TYPE_SEI = 6,
NALU_TYPE_SPS = 7,
NALU_TYPE_PPS = 8,
NALU_TYPE_AUD = 9,
NALU_TYPE_EOSEQ = 10,
NALU_TYPE_EOSTREAM = 11,
NALU_TYPE_FILL = 12,
#if (MVC_EXTENSION_ENABLE)
NALU_TYPE_PREFIX = 14,
NALU_TYPE_SUB_SPS = 15,
NALU_TYPE_SLC_EXT = 20,
NALU_TYPE_VDRD = 24 // View and Dependency Representation Delimiter NAL Unit
#endif
} NaluType;
可以看出是NALU_TYPE_SPS 即sequence parameter sets

profile_idc的u(8)則是後面的64轉化為十進制則是100,
66 Baseline
77 Main
88 Extended
100 High (FRExt)
110 High 10 (FRExt)
122 High 4:2:2 (FRExt)
144 High 4:4:4 (FRExt)

100是High (FRExt)

「level_idc則是0D是13,seq_parameter_set_id的ue(v),則指到AC了,這是哥倫布編碼,答案是0,這個是怎麼算出來的?「
就不太懂了。互相幫忙吧。

2、ps封裝h264時需要nalu頭么

00 00 00 01是Start code後面的ox67為 0110 0111 forbidden_zero_bit 是禁止位,應該是第一位即f(1)=0,1為語法有錯誤 nal_ref_idc是參考級別,代表被內其它容幀參考情況,u(2)= 11 = 3最(0為無參考,詳見規范) nal_unit_type是該幀的類型,為剩下。

3、rtp怎麼封裝報文

|網路抽象層單元類型 (NALU):
NALU頭由一個位元組組成,它的語法如下:
+---------------+
|0|1|2|3|4|5|6|7|
+-+-+-+-+-+-+-+-+
|F|NRI| Type |
+---------------+
F: 1個比特.
forbidden_zero_bit. 在 H.264 規范中規定了這一位必須為 0.
NRI: 2個比特.
nal_ref_idc. 取00~11,似乎指示這個NALU的重要性,如00的NALU解碼器可以丟棄它而不影響圖像的回放.
Type: 5個比特.
nal_unit_type. 這個NALU單元的類型.簡述如下:
0 沒有定義
1-23 NAL單元 單個 NAL 單元包
24 STAP-A 單一時間的組合包
25 STAP-B 單一時間的組合包
26 MTAP16 多個時間的組合包
27 MTAP24 多個時間的組合包
28 FU-A 分片的單元
29 FU-B 分片的單元
30-31 沒有定義

4、H264碼流解析

0

5、如何將分成多個rtp的nal組成一個

網路抽象層單元類型 (NALU):
NALU頭由一個位元組組成,它的語法如下:
+---------------+
|0|1|2|3|4|5|6|7|
+-+-+-+-+-+-+-+-+
|F|NRI| Type |
+---------------+
F: 1個比特.
forbidden_zero_bit. 在 H.264 規范中規定了這一位必須為 0.
NRI: 2個比特.
nal_ref_idc. 取00~11,似乎指示這個NALU的重要性,如00的NALU解碼器可以丟棄它而不影響圖像的回放.
Type: 5個比特.
nal_unit_type. 這個NALU單元的類型.簡述如下:
0 沒有定義
1-23 NAL單元 單個 NAL 單元包
24 STAP-A 單一時間的組合包
25 STAP-B 單一時間的組合包
26 MTAP16 多個時間的組合包
27 MTAP24 多個時間的組合包
28 FU-A 分片的單元
29 FU-B 分片的單元
30-31 沒有定義

6、如何使用hm生成200個slice的碼流

00 00 00 01是Start code後面的ox67為 0110 0111
forbidden_zero_bit 是禁止位,應該是第一位即f(1)=0,1為語法有錯誤
nal_ref_idc是參考級別,代表被其它幀參考情況,u(2)= 11 = 3最(0為無參考,詳見規范)
nal_unit_type是該幀的類型,為剩下的5位,u(5)= 0 0111 = 7
目前類型有:
//H264定義的類型 values for nal_unit_type
typedef enum {
NALU_TYPE_SLICE = 1,
NALU_TYPE_DPA = 2,
NALU_TYPE_DPB = 3,
NALU_TYPE_DPC = 4,
NALU_TYPE_IDR = 5,
NALU_TYPE_SEI = 6,
NALU_TYPE_SPS = 7,
NALU_TYPE_PPS = 8,
NALU_TYPE_AUD = 9,
NALU_TYPE_EOSEQ = 10,
NALU_TYPE_EOSTREAM = 11,
NALU_TYPE_FILL = 12,
#if (MVC_EXTENSION_ENABLE)
NALU_TYPE_PREFIX = 14,
NALU_TYPE_SUB_SPS = 15,
NALU_TYPE_SLC_EXT = 20,
NALU_TYPE_VDRD = 24 // View and Dependency Representation Delimiter NAL Unit
#endif
} NaluType;
可以看出是NALU_TYPE_SPS 即sequence parameter sets

profile_idc的u(8)則是後面的64轉化為十進制則是100,
66 Baseline
77 Main
88 Extended
100 High (FRExt)
110 High 10 (FRExt)
122 High 4:2:2 (FRExt)
144 High 4:4:4 (FRExt)

100是High (FRExt)

「level_idc則是0D是13,seq_parameter_set_id的ue(v),則指到AC了,這是哥倫布編碼,答案是0,這個是怎麼算出來的?「
就不太懂了。互相幫忙吧。

與nalrefidc相關的知識