当前位置:网站首页>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
边栏推荐
- MySQL giant pit: update updates should be judged with caution by affecting the number of rows!!!
- 【云原生】Nacos中的事件发布与订阅--观察者模式
- 关于 SAP UI5 getSAPLogonLanguage is not a function 的错误消息以及 API 版本的讨论
- APICloud Studio3 WiFi真机同步和WiFi真机预览使用说明
- 蜀天梦图×微言科技丨达梦图数据库朋友圈+1
- SAP SEGW 事物码里的 Association 建模方式
- MySQL 巨坑:update 更新慎用影响行数做判断!!!
- STM32 and motor development (from architecture diagram to documentation)
- Detailed explanation of navigation component of openharmony application development
- 关于 SAP UI5 floating footer 显示与否的单步调试以及使用 SAP UI5 的收益
猜你喜欢
解决 UnicodeDecodeError: ‘gbk‘ codec can‘t decode byte 0xa2 in position 107
聊聊异步编程的 7 种实现方式
阿里云SLB负载均衡产品基本概念与购买流程
CF:A. The Third Three Number Problem【关于我是位运算垃圾这个事情】
Lb10s-asemi rectifier bridge lb10s
Setting up sqli lab environment
SAP SEGW 事物码里的导航属性(Navigation Property) 和 EntitySet 使用方法
stirring! 2022 open atom global open source summit registration is hot!
[cloud native] use of Nacos taskmanager task management
Laravel document reading notes -mews/captcha use (verification code function)
随机推荐
RHCSA2
RHCSA4
Navigation property and entityset usage in SAP segw transaction code
Alipay transfer system background or API interface to avoid pitfalls
函数传递参数小案例
【服务器数据恢复】某品牌服务器存储raid5数据恢复案例
STM32 and motor development (from architecture diagram to documentation)
RHCSA7
How to protect user privacy without password authentication?
Introduction to the principle of DNS
Shu tianmeng map × Weiyan technology - Dream map database circle of friends + 1
Four common problems of e-commerce sellers' refund and cash return, with solutions
About the single step debugging of whether SAP ui5 floating footer is displayed or not and the benefits of using SAP ui5
Overflow toolbar control in SAP ui5 view
A deep long article on the simplification and acceleration of join operation
逆波兰表达式
时钟周期
简单上手的页面请求和解析案例
insmod 提示 Invalid module format
Shi Zhenzhen's 2021 summary and 2022 outlook | colorful eggs at the end of the article