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;
}
目录
打赏
0
0
0
0
3
分享
相关文章
小程序数据渲染根据返回值计算百分比并且显示
小程序数据渲染根据返回值计算百分比并且显示
69 0
设置EntityFramework中decimal类型数据精度问题(EF默认将只会保留到2为精度)
原文:设置EntityFramework中decimal类型数据精度 EF中默认的decimal数据精度为两位数,当我们数据库设置的精度大于2时,EF将只会保留到2为精度。 e.g. 2.19990将会被保存为2.
3053 0
印刷文字识别产品使用合集之设置了key值,那么在响应的参数data中,key值对应的信息会按照设置的顺序从0开始一一对应嘛
印刷文字识别(Optical Character Recognition, OCR)技术能够将图片、扫描文档或 PDF 中的印刷文字转化为可编辑和可搜索的数据。这项技术广泛应用于多个领域,以提高工作效率、促进信息数字化。以下是一些印刷文字识别产品使用的典型场景合集。
封装一个函数,可以自定义范围与跳过的数字。 例如在 100(不固定) ~ 1000(不固定) 内查找 5 (不固定)的倍数 和 带有 5 的值
封装一个函数,可以自定义范围与跳过的数字。 例如在 100(不固定) ~ 1000(不固定) 内查找 5 (不固定)的倍数 和 带有 5 的值
72 0
|
10月前
|
微搭低代码实现下拉框动态填充值
微搭低代码实现下拉框动态填充值
|
10月前
|
C++
『C/C++』Eg4: 求自定类型元素的平均
『C/C++』Eg4: 求自定类型元素的平均
JavaScript如何操作实现一个地图并标记到自身当前位置(本文从创建key值开始,到实现标点结束)
JavaScript如何操作实现一个地图并标记到自身当前位置(本文从创建key值开始,到实现标点结束)
156 0
JavaScript如何操作实现一个地图并标记到自身当前位置(本文从创建key值开始,到实现标点结束)
【JS交互埋坑】事件函数自动将数字字符串String转为数值Number
【JS交互埋坑】事件函数自动将数字字符串String转为数值Number
119 0
user_artist__data数据记录用户播放某首歌曲的次数,数据包含3个字段,分别为useid(用户ID)、artistid(艺术家ID)、playcount(播放次数)更新一下子
user_artist__data数据记录用户播放某首歌曲的次数,数据包含3个字段,分别为useid(用户ID)、artistid(艺术家ID)、playcount(播放次数)更新一下子
184 0
Echarts参数属性学习:x轴标签文本过长自动缩减并替换成缩略号...
Echarts参数属性学习:x轴标签文本过长自动缩减并替换成缩略号...
179 0
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等