当前位置:网站首页>AVC1与H264的区别
AVC1与H264的区别
2022-07-05 12:51:00 【全栈程序员站长】
大家好,又见面了,我是你们的朋友全栈君。
今天上网时偶尔发现这个在我脑海里疑惑的问题的答案。
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.
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/149593.html原文链接:https://javaforall.cn
边栏推荐
- Introduction aux contrôles de la page dynamique SAP ui5
- Overflow toolbar control in SAP ui5 view
- SAP SEGW 事物码里的导航属性(Navigation Property) 和 EntitySet 使用方法
- 奔跑,开路
- Introduction to sap ui5 flexiblecolumnlayout control
- Wechat enterprise payment to change access, open quickly
- A deep long article on the simplification and acceleration of join operation
- What is the difference between Bi software in the domestic market
- RHCSA5
- 自然语言处理系列(一)入门概述
猜你喜欢
石臻臻的2021总结和2022展望 | 文末彩蛋
国际自动机工程师学会(SAE International)战略投资几何伙伴
Research: data security tools cannot resist blackmail software in 60% of cases
Alipay transfer system background or API interface to avoid pitfalls
我在滴滴做开源
《2022年中國銀行業RPA供應商實力矩陣分析》研究報告正式啟動
【服务器数据恢复】某品牌服务器存储raid5数据恢复案例
关于 SAP UI5 getSAPLogonLanguage is not a function 的错误消息以及 API 版本的讨论
Solve Unicode decodeerror: 'GBK' codec can't decode byte 0xa2 in position 107
Transactions from December 29, 2021 to January 4, 2022
随机推荐
Put functions in modules
【云原生】Nacos中的事件发布与订阅--观察者模式
Transactions from December 29, 2021 to January 4, 2022
A specific example of ABAP type and EDM type mapping in SAP segw transaction code
946. 验证栈序列
SAP ui5 objectpagelayout control usage sharing
mysql拆分字符串做条件查询
leetcode:221. 最大正方形【dp状态转移的精髓】
Alibaba cloud SLB load balancing product basic concept and purchase process
STM32 and motor development (from architecture diagram to documentation)
【服务器数据恢复】某品牌服务器存储raid5数据恢复案例
uni-app开发语音识别app,讲究的就是简单快速。
无密码身份验证如何保障用户隐私安全?
Notes for preparation of information system project manager --- information knowledge
自然语言处理从小白到精通(四):用机器学习做中文邮件内容分类
RHCSA7
RHCSA2
CVPR 2022 | single step 3D target recognizer based on sparse transformer
What is the difference between Bi software in the domestic market
#yyds干货盘点# 解决名企真题:搬圆桌