当前位置:网站首页>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
边栏推荐
- CVPR 2022 | single step 3D target recognizer based on sparse transformer
- Sorry, we can't open xxxxx Docx, because there is a problem with the content (repackaging problem)
- 简单上手的页面请求和解析案例
- ##无监控,不运维,以下是监控里常用的脚本监控
- Binder通信过程及ServiceManager创建过程
- 【云原生】Nacos中的事件发布与订阅--观察者模式
- Compile kernel modules separately
- Solve Unicode decodeerror: 'GBK' codec can't decode byte 0xa2 in position 107
- SAP SEGW 事物码里的导航属性(Navigation Property) 和 EntitySet 使用方法
- Word document injection (tracking word documents) incomplete
猜你喜欢

RHCSA9
![[cloud native] event publishing and subscription in Nacos -- observer mode](/img/0f/34ab42b7fb0085f58f36eb67b6f107.png)
[cloud native] event publishing and subscription in Nacos -- observer mode

将函数放在模块中

Introduction aux contrôles de la page dynamique SAP ui5

946. 验证栈序列

Changing JS code has no effect

Talk about my drawing skills in my writing career

Lb10s-asemi rectifier bridge lb10s

ABAP editor in SAP segw transaction code

Alipay transfer system background or API interface to avoid pitfalls
随机推荐
《2022年中國銀行業RPA供應商實力矩陣分析》研究報告正式啟動
What is the difference between Bi software in the domestic market
SAP ui5 objectpagelayout control usage sharing
简单上手的页面请求和解析案例
Write macro with word
Detailed explanation of navigation component of openharmony application development
《2022年中国银行业RPA供应商实力矩阵分析》研究报告正式启动
RHCSA8
MySQL giant pit: update updates should be judged with caution by affecting the number of rows!!!
OpenHarmony应用开发之Navigation组件详解
Lb10s-asemi rectifier bridge lb10s
PyCharm安装第三方库图解
About the single step debugging of whether SAP ui5 floating footer is displayed or not and the benefits of using SAP ui5
Get to know linkerd project for the first time
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
Natural language processing from Xiaobai to proficient (4): using machine learning to classify Chinese email content
Discussion on error messages and API versions of SAP ui5 getsaplogonlanguage is not a function
Lepton 无损压缩原理及性能分析
前缀、中缀、后缀表达式「建议收藏」