当前位置:网站首页>Difference between avc1 and H264
Difference between avc1 and H264
2022-07-05 13:07:00 【Full stack programmer webmaster】
Hello everyone , I meet you again , I'm your friend, Quan Jun .
I occasionally found the answer to this question in my mind when I went online today .
H.264 Video Types
The following media subtypes are defined for H.264 video.
Subtype | FOURCC | Description |
|---|---|---|
MEDIASUBTYPE_AVC1 | ‘AVC1’ | H.264 bitstream without start codes. |
MEDIASUBTYPE_H264 | ‘H264’ | H.264 bitstream with start codes. |
MEDIASUBTYPE_h264 | ‘h264’ | Equivalent to MEDIASUBTYPE_H264, with a different FOURCC. |
MEDIASUBTYPE_X264 | ‘X264’ | Equivalent to MEDIASUBTYPE_H264, with a different FOURCC. |
MEDIASUBTYPE_x264 | ‘x264’ | Equivalent to MEDIASUBTYPE_H264, with a different FOURCC. |
The main difference between these media types is the presence of startcodes in the bitstream. If the subtype is MEDIASUBTYPE_AVC1, thebitstream does not contain start codes.
H.264 Bitstream Without Start Codes
The MP4 container format stores H.264 data without start codes.Instead, each NALU is prefixed by a length field, which gives thelength of the NALU in bytes. The size of the length field can vary, butis typically 1, 2, or 4 bytes.
When start codes are not present in the bitstream, the following media type is used.
Major type | MEDIATYPE_Video |
|---|---|
Subtype | MEDIASUBTYPE_AVC1 |
Format type | FORMAT_MPEG2Video |
The format block is an MPEG2VIDEOINFO structure. This structure should be filled in as follows:
- hdr: A VIDEOINFOHEADER2 structure that describes the bitstream. No color table is present after the BITMAPINFOHEADER portion of the structure, and biClrUsed must be zero.
- dwStartTimeCode: Not used. Set to zero.
- cbSequenceHeader: The length of the dwSequenceHeader array in bytes.
- dwProfile: Specifies the H.264 profile.
- dwLevel: Specifies the H.264 level.
- dwFlags: The number of bytes used for the length field that appears before each NALU. The length field indicates the size of the following NALU in bytes. For example, if dwFlags is 4, each NALU is preceded by a 4-byte length field. The valid values are 1, 2, and 4.
- dwSequenceHeader: A byte array that may contain sequence parameter set (SPS) and picture parameter set (PPS) NALUs.
The MP4 container might contain sequence parameter sets (SPS) orpicture parameter sets (PPS) as special NAL units in file headers or ina separate stream (distinct from the video stream). When the format isestablished, the media type can specify SPS and PPS NAL units in the dwSequenceHeader array. If cbSequenceHeader is greater than zero, dwSequenceHeaderis the start of a byte array containing SPS and PPS NALUs, delimited by2-byte length fields, all in network byte order (big-endian). It ispossible to have both SPS and PPS, only one of these types, or none.The actual type of each NALU can be determined by examining thenal_unit_type field of the NALU itself.
When this media type is used, each media sample starts at thebeginning of a NALU, and NAL units do not span samples. This enablesthe decoder to recover from data corruption or dropped samples.
Publisher : Full stack programmer stack length , Reprint please indicate the source :https://javaforall.cn/149593.html Link to the original text :https://javaforall.cn
边栏推荐
- Binder通信过程及ServiceManager创建过程
- SAP UI5 DynamicPage 控件介绍
- Hiengine: comparable to the local cloud native memory database engine
- Notion 类笔记软件如何选择?Notion 、FlowUs 、Wolai 对比评测
- Pycharm installation third party library diagram
- OpenHarmony应用开发之Navigation组件详解
- Natural language processing series (I) introduction overview
- Datapipeline was selected into the 2022 digital intelligence atlas and database development report of China Academy of communications and communications
- Flutter 绘制波浪移动动画效果,曲线和折线图
- 155. Minimum stack
猜你喜欢

量价虽降,商业银行结构性存款为何受上市公司所偏爱?

Setting up sqli lab environment

SAP SEGW 事物码里的 ABAP Editor

逆波兰表达式

Shu tianmeng map × Weiyan technology - Dream map database circle of friends + 1

Simple page request and parsing cases

How can non-technical departments participate in Devops?

关于 SAP UI5 floating footer 显示与否的单步调试以及使用 SAP UI5 的收益

Flutter 绘制波浪移动动画效果,曲线和折线图

解决uni-app配置页面、tabBar无效问题
随机推荐
Reflection and imagination on the notation like tool
mysql econnreset_Nodejs 套接字报错处理 Error: read ECONNRESET
Association modeling method in SAP segw transaction code
自然语言处理从小白到精通(四):用机器学习做中文邮件内容分类
Sorry, we can't open xxxxx Docx, because there is a problem with the content (repackaging problem)
APICloud Studio3 WiFi真机同步和WiFi真机预览使用说明
Default parameters of function & multiple methods of function parameters
Write macro with word
初识Linkerd项目
155. 最小栈
蜀天梦图×微言科技丨达梦图数据库朋友圈+1
Hundred days to complete the open source task of the domestic database opengauss -- openguass minimalist version 3.0.0 installation tutorial
HiEngine:可媲美本地的云原生内存数据库引擎
SAP UI5 视图里的 OverflowToolbar 控件
RHCSA2
leetcode:221. 最大正方形【dp状态转移的精髓】
I'm doing open source in Didi
Hiengine: comparable to the local cloud native memory database engine
##无监控,不运维,以下是监控里常用的脚本监控
A specific example of ABAP type and EDM type mapping in SAP segw transaction code