一、nal_ref_idc定义

X264关于nal_ref_idc的枚举定义:

nal_ref_idc不等于0时,规定NAL单元的内容包含一个序列参数集,或一个图像参数集,或一个参考图像条带,或一个参考图像的条带数据分割。
如果一个包含一个条带或条带数据分割的NAL 单元的nal_ref_idc等于0时,该条带或条带数据分割是一个非参考图像的一部分。
对于序列参数集或序列参数集扩展或图像参数集的NAL单元,nal_ref_idc不应等于0。当一个特定的图像的一个条带或条带数据分割NAL单元的nal_ref_idc等于0,该图像的所有条带或条带数据划分NAL单元都应该等于0。
IDR NAL单元的nal_ref_idc不应等于0,即nal_unit_type等于5的NAL单元。
所有nal_unit_type等于6、9、10、11或12的NAL单元其nal_ref_idc都应等于0。

当nal_uint_type为1时,nal_ref_idc代表该帧是否被参考,若该帧没有被参考,nal_ref_idc则为0。

在视频传输过程中,对于P帧或者B帧的nal_ref_idc为0的帧,不进行数据恢复时,不会对后续视频有影响。

二、扩展应用

GOP#1第一帧是IDR帧,后面接着连续的三个B帧,再后面连着P帧,再接三个B帧,循环反复。
解码工作顺序:

1、解码I帧;2、解码第一个P帧;3 解码前三个B帧,这3个B帧依赖于 IDR帧和第一个P帧,IDR帧和第一个P帧解码完后,才解码前三个B帧,而B帧没有被任何其他帧参考。

这三个B帧的NAL头里面的nal_ref_idc字段就为0(NAL_PRIORITY_DISPOSABLE)。这三个B帧丢失,不会导致后续的P帧和B帧解析不出来,仅会掉帧。所以在音视频传输时,可以根据实际情况,权衡一下是否需要恢复。

h264编码笔记(nal_ref_idc)相关推荐

  1. H264编码 封装成MP4格式 视频流 RTP封包

    From:http://www.cnblogs.com/ghw-NO1/archive/2012/08/28/2660848.html 一.概述 本文讲述的是对H264编码且封装成MP4格式的视频流进 ...

  2. 音视频开发系列-H264编码原理

    H264简介 来自百度百科的介绍: H.264是国际标准化组织(ISO)和国际电信联盟(ITU)共同提出的继MPEG4之后的新一代数字视频压缩格式. H.264是ITU-T以H.26x系列为名称命名的 ...

  3. H264编码基本原理(一)

    H264编码基本原理(一) 一.前言 二.H264相关概念 2.1 序列 2.2 帧类型 2.3 GOP(画面组) 2.4 IDR帧(关键帧) 三.H264压缩方式 3.1 压缩方式说明 四.H264 ...

  4. 【音视频】H264编码基础

    H264编码基础 0x1 基本介绍 视频是由一帧帧图像组成,视频为了不卡顿,一秒钟至少要16帧画面,但是图片内容太大,传输不现实.因此需要对他们编码. 官方文档:http://www.itu.int/ ...

  5. H264编码原理及NALU介绍

    一.简述 流媒体编解码流程大致如图1所示: [流媒体编解码流程 图1] 视频数据编解码层格式包含有:H264,H265,MPEG4等. 本文我们主要对H264编码原理进行整理,并对NALU做简要介绍. ...

  6. 采集音频和摄像头视频并实时H264编码及AAC编码

    0. 前言 我在前两篇文章中写了DirectShow捕获音视频然后生成avi,再进行264编码的方法.那种方法有一些局限性,不适合实时性质的应用,如:视频会议.视频聊天.视频监控等.本文所使用的技术, ...

  7. 采集音频和摄像头视频并实时H264编码及AAC编码[转]

    0. 前言 我在前两篇文章中写了DirectShow捕获音视频然后生成avi,再进行264编码的方法.那种方法有一些局限性,不适合实时性质的应用,如:视频会议.视频聊天.视频监控等.本文所使用的技术, ...

  8. ffmpeg的H264编码 视频逐渐模糊

    万能的互联网,又一次在临危之时解决了我的问题 最近在看ffmpeg里的H264编码,然后试着去做了一下.但是目前发现一个问题,就是编码写入的.264文件,用播放器(VLC,暴风都试过)播放后,发现编码 ...

  9. 字符编码笔记:ASCII,Unicode和UTF-8(转载)

    字符编码笔记:ASCII,Unicode和UTF-8 作者: 阮一峰 日期: 2007年10月28日 今天中午,我突然想搞清楚Unicode和UTF-8之间的关系,于是就开始在网上查资料. 结果,这个 ...

最新文章

  1. 程序员2004下载地址
  2. ps怎么制作流体_PS教程:制作渐变流体效果海报
  3. Machine Learning week 9 quiz: Recommender Systems
  4. Java中如何读写cookie (二)
  5. Medoo 开源项目发布,超轻量级的PHP SQL数据库框架
  6. C语言中 \r, \n, \b
  7. BugkuCTF-MISC题乌云邀请码
  8. SpringBoot之创建SpringBoot项目(idea开发)
  9. 大众仪表板上为什么30km,50km处要标红?
  10. linux下repair filesystem模式修复方法
  11. python中__init__()、__new__()、__call__()、__del__()几个魔法方法的用法
  12. 看完就能学会FTP和DHCP✌️
  13. 安装Google play 服务等四件套
  14. 抓包工具神器,fiddler全解
  15. 你身边长期不上班的人,靠什么活着?
  16. 华为、字节跳动、蔚来、康师傅、法雷奥、AIG等公司高管变动
  17. MAYA如何做3D logo
  18. css层叠样式的使用,CSS层叠样式表——使用CSS样式的方法
  19. 【Zigbee精华教程01】Zigbee无线组网技术入门建议与学习路线
  20. HTTP中的常用方法

热门文章

  1. 贵州省计算机专业有哪些二本大学,贵州二本大学有哪些?见贵州二本排名
  2. 美陆军拟建设机器人技术创新中心
  3. 传奇gm命令怎么用_传奇GM命令
  4. ESP8266和DHT11通讯
  5. Nginx (7):nginx高可用配置
  6. 豆瓣API常用api总结实例
  7. STM32CubeMX开发教程(1)— 安装教程
  8. Java调用大数据接口,学习Hadoop第二十八课(java通过调用接口来操作HBase)
  9. 游戏片子“战火兄弟连”正式公映
  10. 有孚网络与上海大数据股份达成战略合作伙伴关系,启动全面合作