h264 h265 nal type计算方式 关键帧判断

简介: h264 h265 nal type计算方式 关键帧判断

来自老陈的 media-server

h265

nal_type = (nalu[0] >> 1) & 0x3f;

判断一个h265 nal单元是否是I帧

// Rec. ITU-T H.265 v4 (12/2016) (p26)
// intra random access point (IRAP) picture: 
//   A coded picture for which each VCL NAL unit has nal_unit_type 
//   in the range of BLA_W_LP to RSV_IRAP_VCL23, inclusive.
static int mpeg_h265_find_keyframe(const uint8_t* p, size_t bytes)
{
  size_t i;
  uint8_t type;
  for (i = 2; i + 1 < bytes; i++)
  {
    if (0x01 == p[i] && 0x00 == p[i - 1] && 0x00 == p[i - 2])
    {
      type = (p[i + 1] >> 1) & 0x3f;
      if (type < 32)
        return (16 <= type && type <= 23) ? 1 : 0;
    }
  }
  return 0;
}
目录
相关文章
|
JSON 小程序 JavaScript
小程序数据渲染根据返回值计算百分比并且显示
小程序数据渲染根据返回值计算百分比并且显示
58 0
|
6月前
|
文字识别
印刷文字识别产品使用合集之设置了key值,那么在响应的参数data中,key值对应的信息会按照设置的顺序从0开始一一对应嘛
印刷文字识别(Optical Character Recognition, OCR)技术能够将图片、扫描文档或 PDF 中的印刷文字转化为可编辑和可搜索的数据。这项技术广泛应用于多个领域,以提高工作效率、促进信息数字化。以下是一些印刷文字识别产品使用的典型场景合集。
封装一个函数,可以自定义范围与跳过的数字。 例如在 100(不固定) ~ 1000(不固定) 内查找 5 (不固定)的倍数 和 带有 5 的值
封装一个函数,可以自定义范围与跳过的数字。 例如在 100(不固定) ~ 1000(不固定) 内查找 5 (不固定)的倍数 和 带有 5 的值
56 0
|
6月前
|
容器
微搭低代码实现下拉框动态填充值
微搭低代码实现下拉框动态填充值
|
6月前
|
算法 小程序 API
uniapp显示当前位置与所传入位置的距离
uniapp显示当前位置与所传入位置的距离
387 0
|
JavaScript 前端开发 定位技术
JavaScript如何操作实现一个地图并标记到自身当前位置(本文从创建key值开始,到实现标点结束)
JavaScript如何操作实现一个地图并标记到自身当前位置(本文从创建key值开始,到实现标点结束)
112 0
JavaScript如何操作实现一个地图并标记到自身当前位置(本文从创建key值开始,到实现标点结束)
|
存储 JavaScript 前端开发
【JS交互埋坑】事件函数自动将数字字符串String转为数值Number
【JS交互埋坑】事件函数自动将数字字符串String转为数值Number
81 0
|
前端开发
前端 video 元素总是浮在最上方,增加一个 z-index 属性
前端 video 元素总是浮在最上方,增加一个 z-index 属性
|
JavaScript
VUE element-ui之form表单中input输入超过规定长度error提醒,并实时显示输入长度,可无限输入
输入超过规定长度error提醒,并实时显示输入长度,可无限输入
1039 0
VUE element-ui之form表单中input输入超过规定长度error提醒,并实时显示输入长度,可无限输入
ML之DS:仅需一行代码实现对某字段下的所有数值实现同一机制的改变或转换(比如全部转为str类型/全部取平方值)
ML之DS:仅需一行代码实现对某字段下的所有数值实现同一机制的改变或转换(比如全部转为str类型/全部取平方值)
ML之DS:仅需一行代码实现对某字段下的所有数值实现同一机制的改变或转换(比如全部转为str类型/全部取平方值)