当前位置:网站首页>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
边栏推荐
- SAP ui5 objectpagelayout control usage sharing
- A deep long article on the simplification and acceleration of join operation
- How do e-commerce sellers refund in batches?
- 精彩速递|腾讯云数据库6月刊
- Lepton 无损压缩原理及性能分析
- APICloud Studio3 API管理与调试使用教程
- 自然语言处理系列(一)入门概述
- Actual combat simulation │ JWT login authentication
- There is no monitoring and no operation and maintenance. The following is the commonly used script monitoring in monitoring
- Yyds dry goods inventory # solve the real problem of famous enterprises: move the round table
猜你喜欢
自然语言处理系列(一)入门概述
Natural language processing series (I) introduction overview
【Nacos云原生】阅读源码第一步,本地启动Nacos
数据湖(七):Iceberg概念及回顾什么是数据湖
Put functions in modules
Navigation property and entityset usage in SAP segw transaction code
Detailed explanation of navigation component of openharmony application development
Sorry, we can't open xxxxx Docx, because there is a problem with the content (repackaging problem)
stirring! 2022 open atom global open source summit registration is hot!
LeetCode20.有效的括号
随机推荐
SAP SEGW 事物码里的 ABAP Editor
RHCSA9
Sorry, we can't open xxxxx Docx, because there is a problem with the content (repackaging problem)
SAP SEGW 事物码里的导航属性(Navigation Property) 和 EntitySet 使用方法
Flutter 绘制波浪移动动画效果,曲线和折线图
Lb10s-asemi rectifier bridge lb10s
实现 1~number 之间,所有数字的加和
The Research Report "2022 RPA supplier strength matrix analysis of China's banking industry" was officially launched
Natural language processing from Xiaobai to proficient (4): using machine learning to classify Chinese email content
Install rhel8.2 virtual machine
#yyds干货盘点# 解决名企真题:搬圆桌
What is the difference between Bi software in the domestic market
A deep long article on the simplification and acceleration of join operation
Shi Zhenzhen's 2021 summary and 2022 outlook | colorful eggs at the end of the article
RHCSA3
Rocky基础知识1
About the single step debugging of whether SAP ui5 floating footer is displayed or not and the benefits of using SAP ui5
Detailed explanation of navigation component of openharmony application development
解决uni-app配置页面、tabBar无效问题
SAP UI5 DynamicPage 控件介绍