ZigZag Sin
登 陆
上一篇:NALU 的第一个字节 下一篇:NALU 的常见问题汇总

*代码-提取 NALU 中第一个字节的信息

乔红
2021-3-1 19:21 阅读 3108

引言

上一小节我们已经了解到了 NALU 中第一个字节中所包含的信息,这一个小节,我们用代码来实现一下。

代码实现

之前的课程中,我们已经成功提取出来了 RBSP。现在,RBSP 的第一个字节其实就是我们要处理的数据。

RBSP rbsp;
ret = ebsp.GetRBSP(rbsp);
if(ret){
    break;
}

uint8_t naluHead = rbsp.buf[0];

这一个字节的内存布局如下图:

RBSP

了解了其储存方式,也就很容易把代码写出来了

int forbidden_bit   = (naluHead >> 7) & 1;
int nal_ref_idc     = (naluHead >> 5) & 3;
int nal_unit_type   = (naluHead >> 0) & 0x1f;

TODO 也许要介绍一下位运算?

完整代码获取

https://github.com/redknotmiaoyuqiao/EyerH264Decoder/tree/main/Lesson_2_6_NALU_Head

上一篇:NALU 的第一个字节 下一篇:NALU 的常见问题汇总
给我买个键盘吧。。。求打赏。。。
欢迎加群,一起交流~~~