当前位置:网站首页>Analysis of h264nalu head
Analysis of h264nalu head
2020-11-09 16:06:00 【Zhu Zilong 2018】
One NALU Head analysis

F: forbidden_zero_bit. stay H.264 It is stipulated in the specification that this person must be 0. NRI: nal_ref_idc. take 00~11, It seems to indicate this NALU Importance , Such as 00 Of NALU The decoder can discard it without affecting the playback of the image ,0~3, The larger the value , At present NAL The more important , Need to be protected first . If at present NAL It's a piece of reference frame , Or a sequence parameter set , Or the important units of the image parameter set , This syntactic element must be greater than 0. Type: identification NAL In the cell RBSP data type , among ,nal_unit_type by 1, 2, 3, 4, 5 Of NAL The unit is called VCL Of NAL unit , Other types NAL Unit is not VCL Of NAL unit .
Two NALU Type analysis nalu type Calculation method of
At the beginning of each frame (00 00 00 01) And then I got nalu Head code A byte
Use this formula to calculate nalutype :int type = code & 0x1fnalu type
nal_unit_type. This NALU The type of unit ,1~12 from H.264 Use ,24~31 from H.264 For applications other than , The brief is as follows :0 No definition
1-23 NAL unit Single NAL Unit package
1 No zoning , Not IDR The film of the image
2 Slice partition A
3 Slice partition B
4 Slice partition C
5 IDR The film in the image
6 Supplementary enhanced information unit (SEI)
7 SPS
8 PPS
9 End of sequence
10 End of sequence
11 End of stream
12 fill
13-23 Retain 24 STAP-A A single time combination package
25 STAP-B A single time combination package
26 MTAP16 Multiple time packages
27 MTAP24 Multiple time packages
28 FU-A Sliced units
29 FU-B Sliced units
30-31 No definition
Common data frames
Sequence parameter set SPS----7:
SPS namely Sequence Paramater Set SPS A set of encoded video sequences is stored in (Coded video sequence) Global parameters of . The so-called encoded video sequence is the sequence composed of the pixel data of the original video frame by frame after being encoded . The parameters of the encoded data of each frame are saved in the image parameter set . General situation SPS and PPS Of NAL Unit Usually at the beginning of the whole stream . But in some special cases , These two structures may also appear in the middle of the code stream , The main reason may be : 1: The decoder needs to start decoding in the middle of the stream ; 2: The encoder changes the parameters of the code stream in the process of encoding ( Such as image resolution );
Image parameter set PPS----8:
Except for the sequence parameter set SPS outside ,H.264 Another important parameter set in is image parameter set Picture Paramater Set(PPS). Usually ,PPS Be similar to SPS, stay H.264 A single bitstream is stored in a single stream NAL Unit in , It's just PPS NAL Unit Of nal_unit_type The value is 8; In the package format ,PPS Usually with SPS Together , Save in the header of the video file .
Keyframes IDR frame ----5:
I Frames represent keyframes , You can understand it as a complete preservation of this frame ; Decoding only needs the frame data to complete ( Because it contains the whole picture )
P frame ----1:
P The frame represents this frame and the previous keyframe ( or P frame ) The difference between , In decoding, the difference defined in this frame needs to be superimposed on the previous cached picture , Generate the final picture .( That's the difference frame ,P Frame has no full picture data , Only data different from the previous frame )
3、 ... and Reference code
h264nalu Head analysis can refer to ffmpeg Source code h264_parser.c Of parse_nal_units function
版权声明
本文为[Zhu Zilong 2018]所创,转载请带上原文链接,感谢
边栏推荐
- 5分钟GET我使用Github 5 年总结的这些骚操作!
- 寻找性能更优秀的不可变小字典
- Position promotion | intelligent multimedia group of Microsoft Asia research institute recruits computer vision algorithm Intern
- Using GaN based oversampling technique to improve the accuracy of model for mortality prediction of unbalanced covid-19
- 高质量的缺陷分析:让自己少写 bug
- 使用基于GAN的过采样技术提高非平衡COVID-19死亡率预测的模型准确性
- Service registration and discovery of go micro integration Nacos
- Decision tree algorithm theory
- Get this template, double your salary
- Chrome浏览器 js 关闭窗口失效解决方法
猜你喜欢

Decision tree algorithm theory

On agile development concept and iterative development scheme

帮助企业摆脱困境,名企归乡工程师:能成功全靠有它!

What kind of experience does a doctor have when he turns his secret love brother into a husband?

Using fastai to develop and deploy image classifier application

Restart the heap_ uaf_ hacknote

SEO builders, what are the unspeakable hardships?

高质量的缺陷分析:让自己少写 bug

. net report builder stimulsoft Reports.Net Release the latest version of v2020.5!

从一次需求改良漫谈php文件分片上传
随机推荐
Openyurt in depth interpretation: how to build kubernetes native cloud edge efficient collaborative network?
Explore cache configuration of Android gradle plug-in
Cad2016 software installation tutorial
我叫Mongo,收了「查询基础篇」,值得你拥有
The technology masters who ride the wind and waves gather again | Tencent cloud TVP continues to sail
为什么现在开发一款软件的时间越来越长?
MES系统在工厂生产管理起到9大很重要的作用
Using art template to obtain weather forecast information
H5 official account listens to events in the closed browser (left fork).
5 minutes get I use GitHub's five-year summary of these complaints!
AutoCAD2020 完整版安装图文教程、注册激活破解方法
我在传统行业做数字化转型(1)预告篇
CCF BDCI hot topic: privacy information recognition in unstructured business text information
AUTOCAD2020安装包&安装教程
In depth analysis of the multi-user shopping mall system from search to create a profit point
Full link stress testing of moral integrity -- the evolution of corpus intelligence
Equivalent judgment between floating point numbers
[operation and maintenance thinking] how to do a good job in cloud operation and maintenance services?
OpenYurt 深度解读:如何构建 Kubernetes 原生云边高效协同网络?
SEO builders, what are the unspeakable hardships?