- Abbreviation
- What's media syntax element?
- How to locate the media syntax element?
- Commands
listMSE
command- MPEG2 Video
- 1. List all video sequences
- 2. List all GOPs
- 3. List all access units
- 4. List all MPEG2 syntactic elements
- 5. List all slices
- 6. List all non-slices syntactic elements
- 7. List all macro-blocks
- 8. List all GOPs in a specified video sequence
- 9. List all access-units in a specified GOP
- 10. List some syntax elements in a/some specified GOP(s) or/and Access Unit(s)
- NAL Video
- 1. List all NAL video sequences
- 2. List all GOPs(CVSes)
- 3. List all access units
- 4. List NAL Units
- 5. List all SEI messages
- 6. List all SEI payloads
- 7. List all VCL NAL units
- 8. List all non-VCL NAL units
- 9. List all access units in a specified GOP
- 10. List the first access unit of the specified GOP in a specified video sequence
- 11. List SEI payloads in a specified access unit of a specified GOP
- 12. Other complex cases
- AV1 Video
- 1. List all AV1 video sequences
- 2.-List-all AV1 GOPs(CVSes)
- 3.-List-all Temporal Units
- 4.-List-all Frame Units
- 5.-List-all OBUs
- 6.-List-all Frame OBUs
- 7.-List-all Temporal Units In a specified Video Sequence
- 8. List the first Temporal Unit of some specified CVS in a specified Video Sequence
- 9. List all OBUs in a specified Temporal Unit
- 10. List all OBUs in some specified Temporal Units of a specified CVS
- VVC/H.266 Video
- ISOBMFF
- MPEG2 Video
showMSE
commandshowMSEHex
command
- URI: Uniform Resource Identifier
- MSE: Media Syntax Element
- VSEQ: Video Sequence, one VSEQ should have the same profile, level, tier(if have), resolution, fps, aspect-ratio, colour primaries, transfer characteristics and so on
- AU: Access Unit
- CVS: Codec Video Sequence, like as GOP
- TU: Temporal Unit
- FU: Frame Unit
- OBU: Open Bitstream Unit
- GOP: Group of Picture, included open GOP, closed GOP
- NU: NAL Unit, including VCL/none-VCL NAL Unit
- PL: Payload
- MSG: Message
- SEIPL: SEI payload
- SEIMSG: SEI Message
- SE: Syntax Element, normally the minimum organization unit
For the audio, video and other multimedia payload, in the corresponding technical specification, it defined its data organization, and let's call the minimum organization units as syntax element
, normally it is hierarchical, and defined in tabular form, for example, H.264, it consists of:
flowchart TD
CVS[Codec video sequence] -->|1:n| AU(Access Unit)
AU -->|1:n| NU{NAL unit}
NU -->|1:1| SPSPPS[SPS or PPS]
NU -->|1:n| SEIMSG[SEI message]
NU -->|1:1| SLC(slice)
NU --> Others
SEIMSG -->|1:n| SEIPAYLOAD(sei payload)
SLC -->|1:n| MB(macroblock)
Since every media syntax element can be unpacked, and parsed, and its syntax view can also be displayed, we need defined a media syntax element locator protocol to locate it accurately. In this document, we follow the RFC3986,
URI = scheme ":" hier-part [ "?" query ] [ "#" fragment ]
hier-part = "//" authority path-abempty
/ path-absolute
/ path-rootless
/ path-empty
scheme: only support MSE
, it can be also ignored
hier-part: the media syntax element locate part, it is the media object, or syntactic elements defined in each multimedia specification scheme
query and framgment: it is the syntax structure in the media object or syntactic element.
hier-part : [syntax-element-filter[.syntax-element-filter[....]]][/syntax/element/inside/...][#leaf-field]
syntax_element-fitler : [
~]syntax_element[s][-][e]]
~ :exclude the followed syntax element(s), or range
s :the start index(0-based) of syntax element in its parents
e :the end index(0-based) of syntax element in its parents
[MSE://][[~
]MB[m₀
][-
][mₙ
]][.]([[~
]SE[s₀
][-
][sₙ
]] | [[~
]SLICE[s₀
][-
][sₙ
]])[.][[~
]AU[a₀
][-
][aₙ
]][.][[~
]GOP[g₀
][-
][gₙ
]][.][[~
]VSEQ[v₀
][-
][vₙ
]][/part/part/...][#field]
- AU Normally a MPEG2 video frame, I frame may start video sequence_header + sequence_extension + extension_and_user_data(0) + group_of_pictures_header + extension_and_user_data(1) + picture_header + ...
- SE (syntactic element) The basic element start with start_code, for example, sequence_header, sequence_extension and so on
URI | comment |
---|---|
VSEQ1 |
The 2nd video sequence in the MPEG video bitstream |
GOP50 |
The GOP#50(0-based) in the whole MPEG video bitstream instead of a specified video sequence |
AU50 |
The access-unit#50(0-based) in the whole MPEG video bitstream instead of a specified video sequence or/and a specified GOP |
AU50 .VSEQ1 |
The access-unit#50(0-based) in the second video sequence |
AU1 .GOP0 .VSEQ1 |
The 2nd access-unit of the first GOP in the 2nd video sequence |
SE0 .GOP0 .VSEQ1 /#aspect_ratio_information |
aspect_ratio_information of sequence header if SE#0 is a sequence header |
~slice.au1 |
all non-slice syntax elements of the 2nd access-unit |
slice.au1-2 |
all slices of access-unit 1 and 2 |
Here are some command examples:
DumpTS 00023.m2v --listmse
Show all syntax elements in a MPEG2 video stream:
------------Name-------------------------------|-----len-----|------------URI-------------
Video Sequence#0 | | VSEQ0
GOP#0 (closed) | | GOP0.VSEQ0
AU#0 (I) | 91,997 B | AU0.GOP0.VSEQ0
SE#0 sequence_header | 140 B | SE0.AU0.GOP0.VSEQ0
SE#1 sequence_extension | 10 B | SE1.AU0.GOP0.VSEQ0
SE#2 group_of_pictures_header | 8 B | SE2.AU0.GOP0.VSEQ0
SE#3 picture_header | 8 B | SE3.AU0.GOP0.VSEQ0
SE#4 picture_coding_extension | 9 B | SE4.AU0.GOP0.VSEQ0
SE#5 slice1 | 688 B | SE5.AU0.GOP0.VSEQ0
SE#6 slice2 | 692 B | SE6.AU0.GOP0.VSEQ0
SE#7 slice3 | 698 B | SE7.AU0.GOP0.VSEQ0
SE#8 slice4 | 714 B | SE8.AU0.GOP0.VSEQ0
SE#9 slice5 | 831 B | SE9.AU0.GOP0.VSEQ0
SE#10 slice6 | 1,691 B | SE10.AU0.GOP0.VSEQ0
SE#11 slice7 | 1,798 B | SE11.AU0.GOP0.VSEQ0
SE#12 slice8 | 1,730 B | SE12.AU0.GOP0.VSEQ0
SE#13 slice9 | 1,747 B | SE13.AU0.GOP0.VSEQ0
SE#14 slice10 | 1,746 B | SE14.AU0.GOP0.VSEQ0
SE#15 slice11 | 1,714 B | SE15.AU0.GOP0.VSEQ0
SE#16 slice12 | 1,723 B | SE16.AU0.GOP0.VSEQ0
SE#17 slice13 | 1,762 B | SE17.AU0.GOP0.VSEQ0
SE#18 slice14 | 1,846 B | SE18.AU0.GOP0.VSEQ0
SE#19 slice15 | 1,824 B | SE19.AU0.GOP0.VSEQ0
SE#20 slice16 | 1,842 B | SE20.AU0.GOP0.VSEQ0
SE#21 slice17 | 1,792 B | SE21.AU0.GOP0.VSEQ0
SE#22 slice18 | 1,779 B | SE22.AU0.GOP0.VSEQ0
SE#23 slice19 | 1,769 B | SE23.AU0.GOP0.VSEQ0
SE#24 slice20 | 1,791 B | SE24.AU0.GOP0.VSEQ0
SE#25 slice21 | 1,827 B | SE25.AU0.GOP0.VSEQ0
SE#26 slice22 | 1,923 B | SE26.AU0.GOP0.VSEQ0
SE#27 slice23 | 1,869 B | SE27.AU0.GOP0.VSEQ0
SE#28 slice24 | 1,903 B | SE28.AU0.GOP0.VSEQ0
SE#29 slice25 | 1,847 B | SE29.AU0.GOP0.VSEQ0
SE#30 slice26 | 1,842 B | SE30.AU0.GOP0.VSEQ0
SE#31 slice27 | 1,778 B | SE31.AU0.GOP0.VSEQ0
SE#32 slice28 | 1,678 B | SE32.AU0.GOP0.VSEQ0
SE#33 slice29 | 1,620 B | SE33.AU0.GOP0.VSEQ0
......
According to the command listmse=gop
, we can know how many gops in this MPEG2 video stream, and now we want to show access-units of the first and the last GOP,
DumpTS 00023.m2v --listmse=au.~gop1-119
And then
------------Name-------------------------------|-----len-----|------------URI-------------
GOP#0 (closed) | | GOP0
AU#0 (I) | 91,997 B | AU0.GOP0
AU#1 (P) | 83,847 B | AU1.GOP0
AU#2 (B) | 22,773 B | AU2.GOP0
AU#3 (B) | 53,424 B | AU3.GOP0
AU#4 (P) | 111,616 B | AU4.GOP0
AU#5 (B) | 63,292 B | AU5.GOP0
AU#6 (B) | 64,618 B | AU6.GOP0
AU#7 (P) | 131,912 B | AU7.GOP0
AU#8 (B) | 67,947 B | AU8.GOP0
AU#9 (B) | 70,578 B | AU9.GOP0
AU#10 (P) | 140,350 B | AU10.GOP0
AU#11 (B) | 79,321 B | AU11.GOP0
AU#12 (B) | 68,619 B | AU12.GOP0
GOP#120 (closed) | | GOP120
AU#0 (I) | 117,313 B | AU0.GOP120
[MSE://][[~
]SEIPL[sp₀
][-
][spₙ
]][.][[~
]SEIMSG[sm₀
][-
][smₙ
]][.]([[~
]NU[n₀
][-
][nₙ
]] | [[~
]VCL[v₀
][-
][vₙ
]] | [[~
]SEINU[su₀
][-
][suₙ
]] | [[~
]AUD[aud₀
][-
][audₙ
]] | [[~
]VPS[vps₀
][-
][vpsₙ
]] | [[~
]SPS[sps₀
][-
][spsₙ
]] | [[~
]PPS[pps₀
][-
][ppsₙ
]] | [[~
]IDR[idr₀
][-
][idrₙ
]] | [[~
]FIL[fil₀
][-
][filₙ
]])[.][[~
]AU[a₀
][-
][aₙ
]][.][[~
]CVS[c₀
][-
][cₙ
]][.][[~
]VSEQ[v₀
][-
][vₙ
]][/part/part/...][#field]
URI | comment |
---|---|
AU50 |
The access-unit#50(0-based) |
NU50 |
The NAL unit#50(0-based) in the whole NAL bitstream |
SEIMSG50 |
The SEI message#50(0-based) in the whole NAL bitstream |
SEIPL50 |
The SEI payload#50(0-based) in the whole NAL bitstream |
SEIPL0 .AU50 |
The SEI payload#0 in the whole Access-unit#50 |
SEIPL1 .SEIMSG0 .NU50 |
The SEI payload#1(0-based) of SEI message#0 of NAL-unit#50 in the whole NAL bitstream |
SEIPL0 .SEIMSG0 .NU4 .AU100 |
The SEI payload#0 of SEI message#0 of NAL-unit#4 of Access-unit#100 in the whole NAL stream |
NU2 .AU60 |
The NAL-unit#2(0-based) of Access-Unit#60 in the whole NAL stream |
NU1 /seq_parameter_set_rbsp/vui_parameters |
vui_parameters of NAL-unit#1(it is a SPS NU) |
NU1 /*/vui_parameters#aspect_ratio_idc |
the aspect_ratio_idc field of VUI of NAL-unit#1 |
~vcl.au1 |
all VCL NAL units of the 2nd access-unit |
vcl.au1-2 |
all VCL NAL units of access-unit 1 and 2 |
for example,
DumpTS 00005.h264 --listmse
And all syntax elements with the hierarchical layout will be shown as,
------------Name-------------------------------|-----len-----|------------URI----------------------
Video Sequence#0 | | VSEQ0
CVS#1 (IDR, closed GOP) | | CVS1.VSEQ0
AU#0 (I) | 288,631 B | AU0.CVS1.VSEQ0
NU#0 non-VCL::AUD | 2 B | NU0.AU0.CVS1.VSEQ0
NU#1 non-VCL::SPS | 51 B | NU1.AU0.CVS1.VSEQ0
NU#2 non-VCL::PPS | 5 B | NU2.AU0.CVS1.VSEQ0
NU#3 non-VCL::SEI | 15 B | NU3.AU0.CVS1.VSEQ0
SEI message#0 | 12 B | SEIMSG0.NU3.AU0.CVS1.VSEQ0
#0 buffering_period | 10 B | SEIPL0.SEIMSG0.NU3.AU0.CVS1.VSEQ0
NU#4 non-VCL::SEI | 14 B | NU4.AU0.CVS1.VSEQ0
SEI message#0 | 11 B | SEIMSG0.NU4.AU0.CVS1.VSEQ0
#0 pic_timing | 9 B | SEIPL0.SEIMSG0.NU4.AU0.CVS1.VSEQ0
NU#5 non-VCL::SEI | 5 B | NU5.AU0.CVS1.VSEQ0
SEI message#0 | 3 B | SEIMSG0.NU5.AU0.CVS1.VSEQ0
#0 recovery_point | 1 B | SEIPL0.SEIMSG0.NU5.AU0.CVS1.VSEQ0
NU#6 VCL::IDR | 81,092 B | NU6.AU0.CVS1.VSEQ0
NU#7 VCL::IDR | 71,634 B | NU7.AU0.CVS1.VSEQ0
NU#8 VCL::IDR | 74,525 B | NU8.AU0.CVS1.VSEQ0
NU#9 VCL::IDR | 61,255 B | NU9.AU0.CVS1.VSEQ0
AU#1 (P) | 81,464 B | AU1.CVS1.VSEQ0
NU#0 non-VCL::AUD | 2 B | NU0.AU1.CVS1.VSEQ0
NU#1 non-VCL::SEI | 14 B | NU1.AU1.CVS1.VSEQ0
SEI message#0 | 11 B | SEIMSG0.NU1.AU1.CVS1.VSEQ0
#0 pic_timing | 9 B | SEIPL0.SEIMSG0.NU1.AU1.CVS1.VSEQ0
NU#2 VCL::non-IDR | 29,112 B | NU2.AU1.CVS1.VSEQ0
NU#3 VCL::non-IDR | 16,360 B | NU3.AU1.CVS1.VSEQ0
NU#4 VCL::non-IDR | 19,939 B | NU4.AU1.CVS1.VSEQ0
NU#5 VCL::non-IDR | 16,018 B | NU5.AU1.CVS1.VSEQ0
AU#2 (B) | 31,964 B | AU2.CVS1.VSEQ0
NU#0 non-VCL::AUD | 2 B | NU0.AU2.CVS1.VSEQ0
NU#1 non-VCL::SEI | 14 B | NU1.AU2.CVS1.VSEQ0
SEI message#0 | 11 B | SEIMSG0.NU1.AU2.CVS1.VSEQ0
#0 pic_timing | 9 B | SEIPL0.SEIMSG0.NU1.AU2.CVS1.VSEQ0
NU#2 VCL::non-IDR | 11,297 B | NU2.AU2.CVS1.VSEQ0
NU#3 VCL::non-IDR | 6,227 B | NU3.AU2.CVS1.VSEQ0
NU#4 VCL::non-IDR | 7,861 B | NU4.AU2.CVS1.VSEQ0
NU#5 VCL::non-IDR | 6,544 B | NU5.AU2.CVS1.VSEQ0
AU#3 (B) | 32,751 B | AU3.CVS1.VSEQ0
NU#0 non-VCL::AUD | 2 B | NU0.AU3.CVS1.VSEQ0
NU#1 non-VCL::SEI | 14 B | NU1.AU3.CVS1.VSEQ0
SEI message#0 | 11 B | SEIMSG0.NU1.AU3.CVS1.VSEQ0
#0 pic_timing | 9 B | SEIPL0.SEIMSG0.NU1.AU3.CVS1.VSEQ0
NU#2 VCL::non-IDR | 11,903 B | NU2.AU3.CVS1.VSEQ0
[MSE://]([[~
]OBU[o₀
][-
][oₙ
]] | [[~
]Frame[f₀
][-
][fₙ
]])[.][[~
]FU[fu₀
][-
][fuₙ
]][.][[~
]TU[tu₀
][-
][tuₙ
]][.][[~
]CVS[c₀
][-
][cₙ
]][.][[~
]VSEQ[v₀
][-
][vₙ
]][/part/part/...][#field]
URI | comment |
---|---|
TU50 |
The temporal-unit#50(0-based) |
FU50 |
The Frame unit#50(0-based) in the whole AV1 bitstream instead of a specified TU |
OBU50 |
The OBU#50(0-based) in the whole AV1 bitstream instead of a specified TU or/and a specified FU |
OBU0 .TU50 |
The first OBU in temporal-unit#50 |
OBU1 .FU0 .TU50 |
The 2nd OBU in first the frame-unit of the temporal-unit#50 |
OBU0 .FU100 |
The 1st OBU of frame-unit#100 in the whole AV1 stream |
OBU0 /sequence_header_obu/color_config |
color_config in sequence header OBU |
OBU0 /sequence_header_obu/color_config#BitDepth |
The BitDepth field in sequence_header_obu's color config |
For example,
DumpTS Stream3_AV1_720p_3.9mbps.av1 --listmse
And all syntax elements with the hierarchical layout will be shown as,
Low-Overhead AV1 bitstream...
------------Name-------------------------------|-----len-----|------------URI-----------------
Video Sequence#0 | | VSEQ0
CVS#0 | | CVS0.VSEQ0
TU#0 (Key frame) | 84,891 B | TU0.CVS0.VSEQ0
FU#0 (Key frame) | 84,891 B | FU0.TU0.CVS0.VSEQ0
OBU#0 Temporal delimiter | 2 B | OBU0.FU0.TU0.CVS0.VSEQ0
OBU#1 Sequence header | 13 B | OBU1.FU0.TU0.CVS0.VSEQ0
OBU#2 Frame | 84,876 B | OBU2.FU0.TU0.CVS0.VSEQ0
TU#1 (Inter frame) | 143,543 B | TU1.CVS0.VSEQ0
FU#0 (Inter frame) | 77,815 B | FU0.TU1.CVS0.VSEQ0
OBU#0 Temporal delimiter | 2 B | OBU0.FU0.TU1.CVS0.VSEQ0
OBU#1 Frame | 77,813 B | OBU1.FU0.TU1.CVS0.VSEQ0
FU#1 (Inter frame) | 36,935 B | FU1.TU1.CVS0.VSEQ0
OBU#0 Frame | 36,935 B | OBU0.FU1.TU1.CVS0.VSEQ0
FU#2 (Inter frame) | 17,391 B | FU2.TU1.CVS0.VSEQ0
OBU#0 Frame | 17,391 B | OBU0.FU2.TU1.CVS0.VSEQ0
FU#3 (Inter frame) | 11,402 B | FU3.TU1.CVS0.VSEQ0
OBU#0 Frame | 11,402 B | OBU0.FU3.TU1.CVS0.VSEQ0
TU#2 (Inter frame) | 5 B | TU2.CVS0.VSEQ0
FU#0 (Inter frame) | 5 B | FU0.TU2.CVS0.VSEQ0
OBU#0 Temporal delimiter | 2 B | OBU0.FU0.TU2.CVS0.VSEQ0
OBU#1 Frame header | 3 B | OBU1.FU0.TU2.CVS0.VSEQ0
TU#3 (Inter frame) | 11,076 B | TU3.CVS0.VSEQ0
FU#0 (Inter frame) | 11,076 B | FU0.TU3.CVS0.VSEQ0
OBU#0 Temporal delimiter | 2 B | OBU0.FU0.TU3.CVS0.VSEQ0
OBU#1 Frame | 11,074 B | OBU1.FU0.TU3.CVS0.VSEQ0
TU#4 (Inter frame) | 5 B | TU4.CVS0.VSEQ0
FU#0 (Inter frame) | 5 B | FU0.TU4.CVS0.VSEQ0
OBU#0 Temporal delimiter | 2 B | OBU0.FU0.TU4.CVS0.VSEQ0
OBU#1 Frame header | 3 B | OBU1.FU0.TU4.CVS0.VSEQ0
......
[MSE://]boxi
].[boxj
]........[boxn
]/sub/object/#field
Here are some examples:
mvhd.moov/#creation_time
stsd.stbl.minf.mdia.track0.moov/AVCSampleEntry#width
//*/*/Projection
At present, support 3 kinds of command, they are listMSE
, showMSE
and showMSEHex
,
listMSE
is used to list the media syntax element, if there is no option value for it, all elements with hierarchical layout will be listed, please see the examples in the each byte stream scheme in the previous part, here are more examples:
-
And then,
DumpTS 00023.m2v --listmse=vseq
------------Name-------------------------------|-----len-----|------------URI------------- Video Sequence#0 | | VSEQ0
-
And then,
DumpTS 00023.m2v --listmse=gop
------------Name-------------------------------|-----len-----|------------URI------------- GOP#0 (closed) | | GOP0 GOP#1 (open) | | GOP1 GOP#2 (open) | | GOP2 GOP#3 (open) | | GOP3 GOP#4 (open) | | GOP4 GOP#5 (open) | | GOP5 GOP#6 (open) | | GOP6 GOP#7 (open) | | GOP7 GOP#8 (open) | | GOP8 GOP#9 (open) | | GOP9 GOP#10 (open) | | GOP10 GOP#11 (open) | | GOP11 GOP#12 (open) | | GOP12 GOP#13 (open) | | GOP13 GOP#14 (open) | | GOP14 GOP#15 (open) | | GOP15 GOP#16 (open) | | GOP16 ...
-
And then,
DumpTS 00023.m2v --listmse=au
------------Name-------------------------------|-----len-----|------------URI------------- AU#0 (I) | 91,997 B | AU0 AU#1 (P) | 83,847 B | AU1 AU#2 (B) | 22,773 B | AU2 AU#3 (B) | 53,424 B | AU3 AU#4 (P) | 111,616 B | AU4 AU#5 (B) | 63,292 B | AU5 AU#6 (B) | 64,618 B | AU6 AU#7 (P) | 131,912 B | AU7 AU#8 (B) | 67,947 B | AU8 AU#9 (B) | 70,578 B | AU9 AU#10 (P) | 140,350 B | AU10 AU#11 (B) | 79,321 B | AU11 AU#12 (B) | 68,619 B | AU12 AU#13 (I) | 282,790 B | AU13 AU#14 (B) | 53,920 B | AU14 AU#15 (B) | 52,587 B | AU15 AU#16 (P) | 107,529 B | AU16 AU#17 (B) | 48,750 B | AU17 ...
-
And then,
DumpTS 00023.m2v --listmse=se
------------Name-------------------------------|-----len-----|------------URI------------- SE#0 sequence_header | 140 B | SE0 SE#1 sequence_extension | 10 B | SE1 SE#2 group_of_pictures_header | 8 B | SE2 SE#3 picture_header | 8 B | SE3 SE#4 picture_coding_extension | 9 B | SE4 SE#5 slice1 | 688 B | SE5 SE#6 slice2 | 692 B | SE6 SE#7 slice3 | 698 B | SE7 SE#8 slice4 | 714 B | SE8 SE#9 slice5 | 831 B | SE9 SE#10 slice6 | 1,691 B | SE10 SE#11 slice7 | 1,798 B | SE11 SE#12 slice8 | 1,730 B | SE12 SE#13 slice9 | 1,747 B | SE13 SE#14 slice10 | 1,746 B | SE14 SE#15 slice11 | 1,714 B | SE15 SE#16 slice12 | 1,723 B | SE16 SE#17 slice13 | 1,762 B | SE17 ...
-
And then,
DumpTS 00023.m2v --listmse=slice
------------Name-------------------------------|-----len-----|------------URI------------- Slice#0 slice1 | 688 B | SLICE0 Slice#1 slice2 | 692 B | SLICE1 Slice#2 slice3 | 698 B | SLICE2 Slice#3 slice4 | 714 B | SLICE3 Slice#4 slice5 | 831 B | SLICE4 Slice#5 slice6 | 1,691 B | SLICE5 Slice#6 slice7 | 1,798 B | SLICE6 Slice#7 slice8 | 1,730 B | SLICE7 Slice#8 slice9 | 1,747 B | SLICE8 Slice#9 slice10 | 1,746 B | SLICE9 Slice#10 slice11 | 1,714 B | SLICE10 Slice#11 slice12 | 1,723 B | SLICE11 Slice#12 slice13 | 1,762 B | SLICE12 Slice#13 slice14 | 1,846 B | SLICE13 Slice#14 slice15 | 1,824 B | SLICE14 Slice#15 slice16 | 1,842 B | SLICE15 Slice#16 slice17 | 1,792 B | SLICE16 Slice#17 slice18 | 1,779 B | SLICE17 Slice#18 slice19 | 1,769 B | SLICE18 Slice#19 slice20 | 1,791 B | SLICE19 ...
-
And then,
DumpTS 00023.m2v --listmse=~slice
------------Name-------------------------------|-----len-----|------------URI------------- SE#0 sequence_header | 140 B | SE0 SE#1 sequence_extension | 10 B | SE1 SE#2 group_of_pictures_header | 8 B | SE2 SE#3 picture_header | 8 B | SE3 SE#4 picture_coding_extension | 9 B | SE4 SE#73 picture_header | 9 B | SE73 SE#74 picture_coding_extension | 9 B | SE74 SE#143 picture_header | 9 B | SE143 SE#144 picture_coding_extension | 9 B | SE144 SE#213 picture_header | 9 B | SE213 SE#214 picture_coding_extension | 9 B | SE214 SE#283 picture_header | 9 B | SE283 SE#284 picture_coding_extension | 9 B | SE284 SE#353 picture_header | 9 B | SE353 SE#354 picture_coding_extension | 9 B | SE354 SE#423 picture_header | 9 B | SE423 SE#424 picture_coding_extension | 9 B | SE424 SE#493 picture_header | 9 B | SE493 SE#494 picture_coding_extension | 9 B | SE494 ...
- Not supported at present
-
And then
DumpTS 00023.m2v --listmse=gop.vseq0
------------Name-------------------------------|-----len-----|------------URI------------- Video Sequence#0 | | VSEQ0 GOP#0 (closed) | | GOP0.VSEQ0 GOP#1 (open) | | GOP1.VSEQ0 GOP#2 (open) | | GOP2.VSEQ0 GOP#3 (open) | | GOP3.VSEQ0 GOP#4 (open) | | GOP4.VSEQ0 GOP#5 (open) | | GOP5.VSEQ0 GOP#6 (open) | | GOP6.VSEQ0 GOP#7 (open) | | GOP7.VSEQ0 GOP#8 (open) | | GOP8.VSEQ0 GOP#9 (open) | | GOP9.VSEQ0 GOP#10 (open) | | GOP10.VSEQ0 GOP#11 (open) | | GOP11.VSEQ0 GOP#12 (open) | | GOP12.VSEQ0 GOP#13 (open) | | GOP13.VSEQ0 ...
-
And then, all access-units of the 3rd GOP will be listed
DumpTS 00023.m2v --listmse=au.gop2
------------Name-------------------------------|-----len-----|------------URI------------- GOP#2 (open) | | GOP2 AU#0 (I) | 361,074 B | AU0.GOP2 AU#1 (B) | 53,397 B | AU1.GOP2 AU#2 (B) | 50,591 B | AU2.GOP2 AU#3 (P) | 117,745 B | AU3.GOP2 AU#4 (B) | 50,194 B | AU4.GOP2 AU#5 (B) | 48,185 B | AU5.GOP2 AU#6 (P) | 132,027 B | AU6.GOP2 AU#7 (B) | 57,506 B | AU7.GOP2 AU#8 (B) | 61,382 B | AU8.GOP2 AU#9 (P) | 140,204 B | AU9.GOP2 AU#10 (B) | 61,736 B | AU10.GOP2 AU#11 (B) | 63,833 B | AU11.GOP2 AU#12 (P) | 147,079 B | AU12.GOP2 AU#13 (B) | 65,729 B | AU13.GOP2 AU#14 (B) | 67,136 B | AU14.GOP2 ...
-
And then, the 1st,2nd,3rd and 4th(0-based)syntax elements of the 2nd and 3rd(0-based) access-units of 2nd and 3rd GOP(0-based) will be listed,
DumpTS 00023.m2v --listmse=se1-4.au1-2.gop2-3
GOP#2 (open) | | GOP2 AU#1 (B) | 53,397 B | AU1.GOP2 SE#1 picture_coding_extension | 9 B | SE1.AU1.GOP2 SE#2 slice1 | 515 B | SE2.AU1.GOP2 SE#3 slice2 | 405 B | SE3.AU1.GOP2 SE#4 slice3 | 382 B | SE4.AU1.GOP2 AU#2 (B) | 50,591 B | AU2.GOP2 SE#1 picture_coding_extension | 9 B | SE1.AU2.GOP2 SE#2 slice1 | 235 B | SE2.AU2.GOP2 SE#3 slice2 | 225 B | SE3.AU2.GOP2 SE#4 slice3 | 246 B | SE4.AU2.GOP2 GOP#3 (open) | | GOP3 AU#1 (B) | 56,516 B | AU1.GOP3 SE#1 picture_coding_extension | 9 B | SE1.AU1.GOP3 SE#2 slice1 | 298 B | SE2.AU1.GOP3 SE#3 slice2 | 273 B | SE3.AU1.GOP3 SE#4 slice3 | 300 B | SE4.AU1.GOP3 AU#2 (B) | 54,804 B | AU2.GOP3 SE#1 picture_coding_extension | 9 B | SE1.AU2.GOP3 SE#2 slice1 | 126 B | SE2.AU2.GOP3 SE#3 slice2 | 105 B | SE3.AU2.GOP3 SE#4 slice3 | 145 B | SE4.AU2.GOP3
-
DumpTS 02021_interlaced.hevc --listmse=vseq
And then
------------Name-------------------------------|-----len-----|------------URI---------------------- Video Sequence#0
-
DumpTS i:\02021_interlaced.hevc --listmse=cvs
And then
------------Name-------------------------------|-----len-----|------------URI---------------------- CVS#0 (IDR, closed GOP) | | CVS0 CVS#1 | | CVS1 CVS#2 | | CVS2 CVS#3 | | CVS3 CVS#4 | | CVS4 CVS#5 | | CVS5 CVS#6 | | CVS6 CVS#7 | | CVS7 CVS#8 | | CVS8 CVS#9 | | CVS9 ```
-
DumpTS 02021_interlaced.hevc --listmse=au
And then,
------------Name-------------------------------|-----len-----|------------URI---------------------- AU#0 (I) | 32,948 B | AU0 AU#1 (P) | 20,076 B | AU1 AU#2 (P) | 16,882 B | AU2 AU#3 (P) | 9,896 B | AU3 AU#4 (B) | 10,829 B | AU4 AU#5 (B) | 4,670 B | AU5 AU#6 (B) | 7,862 B | AU6 AU#7 (B) | 3,481 B | AU7 AU#8 (B) | 7,996 B | AU8 AU#9 (B) | 3,510 B | AU9 ...
-
DumpTS 02021_interlaced.hevc --listmse=nu
And then,
------------Name-------------------------------|-----len-----|------------URI---------------------- NU#0 non-VCL::AUD_NUT | 3 B | NU0 NU#1 non-VCL::VPS_NUT | 24 B | NU1 NU#2 non-VCL::SPS_NUT | 77 B | NU2 NU#3 non-VCL::PPS_NUT | 7 B | NU3 NU#4 non-VCL::PREFIX_SEI_NUT | 6 B | NU4 NU#5 non-VCL::PREFIX_SEI_NUT | 8 B | NU5 NU#6 non-VCL::PREFIX_SEI_NUT | 6 B | NU6 NU#7 VCL::IDR_W_RADL | 32,789 B | NU7 NU#8 non-VCL::AUD_NUT | 3 B | NU8 NU#9 non-VCL::PREFIX_SEI_NUT | 8 B | NU9 NU#10 VCL::TRAIL_R | 20,055 B | NU10 NU#11 non-VCL::AUD_NUT | 3 B | NU11 NU#12 non-VCL::PREFIX_SEI_NUT | 8 B | NU12 NU#13 VCL::TRAIL_R | 16,861 B | NU13 NU#14 non-VCL::AUD_NUT | 3 B | NU14 NU#15 non-VCL::PREFIX_SEI_NUT | 8 B | NU15 NU#16 VCL::TRAIL_R | 9,875 B | NU16 ...
-
DumpTS 02021_interlaced.hevc --listmse=seimsg
And then,
------------Name-------------------------------|-----len-----|------------URI---------------------- SEI message#0 | 3 B | SEIMSG0 SEI message#1 | 5 B | SEIMSG1 SEI message#2 | 3 B | SEIMSG2 SEI message#3 | 5 B | SEIMSG3 SEI message#4 | 5 B | SEIMSG4 SEI message#5 | 5 B | SEIMSG5 SEI message#6 | 5 B | SEIMSG6 SEI message#7 | 5 B | SEIMSG7 SEI message#8 | 5 B | SEIMSG8 SEI message#9 | 5 B | SEIMSG9 ...
-
DumpTS 02021_interlaced.hevc --listmse=seipl
And then,
------------Name-------------------------------|-----len-----|------------URI---------------------- #0 active_parameter_sets | 1 B | SEIPL0 #1 pic_timing | 3 B | SEIPL1 #2 recovery_point | 1 B | SEIPL2 #3 pic_timing | 3 B | SEIPL3 #4 pic_timing | 3 B | SEIPL4 #5 pic_timing | 3 B | SEIPL5 #6 pic_timing | 3 B | SEIPL6 #7 pic_timing | 3 B | SEIPL7 #8 pic_timing | 3 B | SEIPL8 #9 pic_timing | 3 B | SEIPL9 ...
-
DumpTS 02021_interlaced.hevc --listmse=vcl
And then,
------------Name-------------------------------|-----len-----|------------URI---------------------- VCL-NU#0 IDR_W_RADL | 32,789 B | VCL0 VCL-NU#1 TRAIL_R | 20,055 B | VCL1 VCL-NU#2 TRAIL_R | 16,861 B | VCL2 VCL-NU#3 TRAIL_R | 9,875 B | VCL3 VCL-NU#4 TRAIL_R | 10,808 B | VCL4 VCL-NU#5 TRAIL_R | 4,649 B | VCL5 VCL-NU#6 TRAIL_R | 7,841 B | VCL6 VCL-NU#7 TRAIL_N | 3,460 B | VCL7 VCL-NU#8 TRAIL_R | 7,975 B | VCL8 VCL-NU#9 TRAIL_N | 3,489 B | VCL9 ...
-
DumpTS 02021_interlaced.hevc --listmse=~vcl
And then,
------------Name-------------------------------|-----len-----|------------URI---------------------- NU#0 non-VCL::AUD_NUT | 3 B | NU0 NU#1 non-VCL::VPS_NUT | 24 B | NU1 NU#2 non-VCL::SPS_NUT | 77 B | NU2 NU#3 non-VCL::PPS_NUT | 7 B | NU3 NU#4 non-VCL::PREFIX_SEI_NUT | 6 B | NU4 NU#5 non-VCL::PREFIX_SEI_NUT | 8 B | NU5 NU#6 non-VCL::PREFIX_SEI_NUT | 6 B | NU6 NU#8 non-VCL::AUD_NUT | 3 B | NU8 NU#9 non-VCL::PREFIX_SEI_NUT | 8 B | NU9 ...
-
DumpTS 02021_interlaced.hevc --listmse=au.cvs1
And then,
------------Name-------------------------------|-----len-----|------------URI---------------------- CVS#1 | | CVS1 AU#0 (I) | 31,318 B | AU0.CVS1 AU#1 (P) | 8,482 B | AU1.CVS1 AU#2 (B) | 8,530 B | AU2.CVS1 AU#3 (B) | 2,972 B | AU3.CVS1 AU#4 (B) | 6,758 B | AU4.CVS1 AU#5 (B) | 2,706 B | AU5.CVS1 AU#6 (B) | 6,840 B | AU6.CVS1 AU#7 (B) | 2,758 B | AU7.CVS1 AU#8 (P) | 16,125 B | AU8.CVS1 AU#9 (P) | 9,617 B | AU9.CVS1 ...
-
DumpTS 02021_interlaced.hevc --listmse=au0.cvs1-10.vseq0
And then the first access-unit of 2nd,....10th GOP of the first video sequence will be listed as,
------------Name-------------------------------|-----len-----|------------URI---------------------- Video Sequence#0 | | VSEQ0 CVS#1 (IDR, closed GOP) | | CVS1.VSEQ0 AU#0 (I) | 32,948 B | AU0.CVS1.VSEQ0 CVS#2 | | CVS2.VSEQ0 AU#0 (I) | 31,318 B | AU0.CVS2.VSEQ0 CVS#3 | | CVS3.VSEQ0 AU#0 (I) | 31,441 B | AU0.CVS3.VSEQ0 CVS#4 | | CVS4.VSEQ0 AU#0 (I) | 31,879 B | AU0.CVS4.VSEQ0 CVS#5 | | CVS5.VSEQ0 AU#0 (I) | 33,453 B | AU0.CVS5.VSEQ0 CVS#6 | | CVS6.VSEQ0 AU#0 (I) | 33,310 B | AU0.CVS6.VSEQ0 CVS#7 | | CVS7.VSEQ0 AU#0 (I) | 32,222 B | AU0.CVS7.VSEQ0 CVS#8 | | CVS8.VSEQ0 AU#0 (I) | 32,417 B | AU0.CVS8.VSEQ0 CVS#9 | | CVS9.VSEQ0 AU#0 (I) | 32,798 B | AU0.CVS9.VSEQ0 CVS#10 | | CVS10.VSEQ0 AU#0 (I) | 30,385 B | AU0.CVS10.VSEQ0
-
DumpTS 02021_interlaced.hevc --listmse=seipl.seimsg.au0.cvs1
And then all SEI messages and payloads of the 1st access-unit of the 2nd GOP
------------Name-------------------------------|-----len-----|------------URI---------------------- CVS#1 | | CVS1 AU#0 (I) | 31,318 B | AU0.CVS1 SEI message#0 | 3 B | SEIMSG0.AU0.CVS1 #0 active_parameter_sets | 1 B | SEIPL0.SEIMSG0.AU0.CVS1 SEI message#1 | 5 B | SEIMSG1.AU0.CVS1 #0 pic_timing | 3 B | SEIPL0.SEIMSG1.AU0.CVS1 SEI message#2 | 3 B | SEIMSG2.AU0.CVS1 #0 recovery_point | 1 B | SEIPL0.SEIMSG2.AU0.CVS1
-
DumpTS 00005.h264 --listmse=~seinu.~au0-17.cvs0-1.vseq0
And then non SEI NAL units in access unit except access-unit 0~17 in the first and second CVS of the first video sequence
------------Name-------------------------------|-----len-----|------------URI---------------------- Video Sequence#0 | | VSEQ0 CVS#0 (IDR, closed GOP) | | CVS0.VSEQ0 AU#18 (B) | 49,600 B | AU18.CVS0.VSEQ0 NU#0 non-VCL::AUD | 2 B | NU0.AU18.CVS0.VSEQ0 NU#0 VCL::non-IDR | 16,164 B | NU0.AU18.CVS0.VSEQ0 NU#0 VCL::non-IDR | 10,511 B | NU0.AU18.CVS0.VSEQ0 NU#0 VCL::non-IDR | 13,670 B | NU0.AU18.CVS0.VSEQ0 NU#0 VCL::non-IDR | 9,220 B | NU0.AU18.CVS0.VSEQ0 CVS#1 (I, open GOP) | | CVS1.VSEQ0 AU#18 (P) | 150,957 B | AU18.CVS1.VSEQ0 NU#0 non-VCL::AUD | 2 B | NU0.AU18.CVS1.VSEQ0 NU#0 VCL::non-IDR | 50,155 B | NU0.AU18.CVS1.VSEQ0 NU#0 VCL::non-IDR | 34,815 B | NU0.AU18.CVS1.VSEQ0 NU#0 VCL::non-IDR | 41,016 B | NU0.AU18.CVS1.VSEQ0 NU#0 VCL::non-IDR | 24,936 B | NU0.AU18.CVS1.VSEQ0 AU#19 (B) | 74,616 B | AU19.CVS1.VSEQ0 NU#0 non-VCL::AUD | 2 B | NU0.AU19.CVS1.VSEQ0 NU#0 VCL::non-IDR | 24,092 B | NU0.AU19.CVS1.VSEQ0 NU#0 VCL::non-IDR | 16,915 B | NU0.AU19.CVS1.VSEQ0 NU#0 VCL::non-IDR | 21,086 B | NU0.AU19.CVS1.VSEQ0 NU#0 VCL::non-IDR | 12,488 B | NU0.AU19.CVS1.VSEQ0 AU#20 (B) | 74,694 B | AU20.CVS1.VSEQ0 NU#0 non-VCL::AUD | 2 B | NU0.AU20.CVS1.VSEQ0 NU#0 VCL::non-IDR | 24,157 B | NU0.AU20.CVS1.VSEQ0 NU#0 VCL::non-IDR | 17,118 B | NU0.AU20.CVS1.VSEQ0 NU#0 VCL::non-IDR | 21,032 B | NU0.AU20.CVS1.VSEQ0 NU#0 VCL::non-IDR | 12,352 B | NU0.AU20.CVS1.VSEQ0
-
And then
DumpTS Stream3_AV1_720p_3.9mbps.av1 --listmse=vseq
Low-Overhead AV1 bitstream... ------------Name-------------------------------|-----len-----|------------URI----------------- Video Sequence#0 | | VSEQ0
-
And then
DumpTS Stream3_AV1_720p_3.9mbps.av1 --listmse=cvs
Low-Overhead AV1 bitstream... ------------Name-------------------------------|-----len-----|------------URI----------------- CVS#0 | | CVS0 CVS#1 | | CVS1 CVS#2 | | CVS2 CVS#3 | | CVS3 CVS#4 | | CVS4 CVS#5 | | CVS5 CVS#6 | | CVS6 CVS#7 | | CVS7 CVS#8 | | CVS8 CVS#9 | | CVS9 ...
-
And then,
DumpTS mobile_annexb.obu --listmse=tu
Length-Delimited AV1 bitstream... ------------Name-------------------------------|-----len-----|------------URI----------------- TU#0 (Key frame) | 13,098 B | TU0 TU#1 (Inter frame) | 10,492 B | TU1 TU#2 (Inter frame) | 7 B | TU2 TU#3 (Inter frame) | 240 B | TU3 TU#4 (Inter frame) | 7 B | TU4 TU#5 (Inter frame) | 980 B | TU5 TU#6 (Inter frame) | 7 B | TU6 TU#7 (Inter frame) | 296 B | TU7 TU#8 (Inter frame) | 7 B | TU8 TU#9 (Inter frame) | 557 B | TU9 ...
-
And then,
DumpTS mobile_annexb.obu --listmse=fu
Length-Delimited AV1 bitstream... ------------Name-------------------------------|-----len-----|------------URI----------------- FU#0 (Key frame) | 13,094 B | FU0 FU#1 (Inter frame) | 9,446 B | FU1 FU#2 (Inter frame) | 555 B | FU2 FU#3 (Inter frame) | 303 B | FU3 FU#4 (Inter frame) | 178 B | FU4 FU#5 (Inter frame) | 5 B | FU5 FU#6 (Inter frame) | 236 B | FU6 FU#7 (Inter frame) | 5 B | FU7 FU#8 (Inter frame) | 470 B | FU8 FU#9 (Inter frame) | 321 B | FU9 ...
-
And then,
DumpTS mobile_annexb.obu --listmse=obu
Length-Delimited AV1 bitstream... ------------Name-------------------------------|-----len-----|------------URI----------------- OBU#0 Temporal delimiter | 1 B | OBU0 OBU#1 Sequence header | 12 B | OBU1 OBU#2 Frame | 13,077 B | OBU2 OBU#3 Temporal delimiter | 1 B | OBU3 OBU#4 Frame | 9,442 B | OBU4 OBU#5 Frame | 553 B | OBU5 OBU#6 Frame | 301 B | OBU6 OBU#7 Frame | 176 B | OBU7 OBU#8 Temporal delimiter | 1 B | OBU8 OBU#9 Frame header | 2 B | OBU9 ...
-
Frame OBUs include Frame_Header OBU, Frame OBU and Redundant Frame Header
And then,
DumpTS mobile_annexb.obu --listmse=frame
Length-Delimited AV1 bitstream... ------------Name-------------------------------|-----len-----|------------URI----------------- Frame#0 Frame | 13,077 B | FRAME0 Frame#1 Frame | 9,442 B | FRAME1 Frame#2 Frame | 553 B | FRAME2 Frame#3 Frame | 301 B | FRAME3 Frame#4 Frame | 176 B | FRAME4 Frame#5 Frame header | 2 B | FRAME5 Frame#6 Frame | 232 B | FRAME6 Frame#7 Frame header | 2 B | FRAME7 Frame#8 Frame | 466 B | FRAME8 Frame#9 Frame | 319 B | FRAME9 ...
-
And then,
DumpTS Stream3_AV1_720p_3.9mbps.av1 --listmse=tu.cvs0
Low-Overhead AV1 bitstream... ------------Name-------------------------------|-----len-----|------------URI----------------- CVS#0 | | CVS0 TU#0 (Key frame) | 84,891 B | TU0.CVS0 TU#1 (Inter frame) | 143,543 B | TU1.CVS0 TU#2 (Inter frame) | 5 B | TU2.CVS0 TU#3 (Inter frame) | 11,076 B | TU3.CVS0 TU#4 (Inter frame) | 5 B | TU4.CVS0 TU#5 (Inter frame) | 67,055 B | TU5.CVS0 TU#6 (Inter frame) | 5 B | TU6.CVS0 TU#7 (Inter frame) | 11,069 B | TU7.CVS0 TU#8 (Inter frame) | 5 B | TU8.CVS0 TU#9 (Inter frame) | 29,449 B | TU9.CVS0 ...
-
And then the first temporal units in the 3rd, 4th and 5th CVS of the first video sequence are listed as,
DumpTS Stream3_AV1_720p_3.9mbps.av1 --listmse=tu0.cvs2-4.vseq0
Low-Overhead AV1 bitstream... ------------Name-------------------------------|-----len-----|------------URI----------------- Video Sequence#0 | | VSEQ0 CVS#2 | | CVS2.VSEQ0 TU#0 (Key frame) | 117,078 B | TU0.CVS2.VSEQ0 CVS#3 | | CVS3.VSEQ0 TU#0 (Key frame) | 117,411 B | TU0.CVS3.VSEQ0 CVS#4 | | CVS4.VSEQ0 TU#0 (Key frame) | 68,225 B | TU0.CVS4.VSEQ0
-
And then all OBUs of the 2nd temporal unit are listed as,
DumpTS Stream3_AV1_720p_3.9mbps.av1 --listmse=obu.tu1
Low-Overhead AV1 bitstream... ------------Name-------------------------------|-----len-----|------------URI----------------- TU#1 (Inter frame) | 143,543 B | TU1 OBU#0 Temporal delimiter | 2 B | OBU0.TU1 OBU#1 Frame | 77,813 B | OBU1.TU1 OBU#2 Frame | 36,935 B | OBU2.TU1 OBU#3 Frame | 17,391 B | OBU3.TU1 OBU#4 Frame | 11,402 B | OBU4.TU1
-
And then all OBUs and frame units of the 3rd, 4th, 5th, 6th and 7th temporal unit in the 7th CVS are listed as,
DumpTS Stream3_AV1_720p_3.9mbps.av1 --listmse=obu.fu.tu2-6.cvs6
Low-Overhead AV1 bitstream... ------------Name-------------------------------|-----len-----|------------URI----------------- CVS#6 | | CVS6 TU#2 (Inter frame) | 5 B | TU2.CVS6 FU#0 (Inter frame) | 5 B | FU0.TU2.CVS6 OBU#0 Temporal delimiter | 2 B | OBU0.FU0.TU2.CVS6 OBU#1 Frame header | 3 B | OBU1.FU0.TU2.CVS6 TU#3 (Inter frame) | 18,839 B | TU3.CVS6 FU#0 (Inter frame) | 18,839 B | FU0.TU3.CVS6 OBU#0 Temporal delimiter | 2 B | OBU0.FU0.TU3.CVS6 OBU#1 Frame | 18,837 B | OBU1.FU0.TU3.CVS6 TU#4 (Inter frame) | 5 B | TU4.CVS6 FU#0 (Inter frame) | 5 B | FU0.TU4.CVS6 OBU#0 Temporal delimiter | 2 B | OBU0.FU0.TU4.CVS6 OBU#1 Frame header | 3 B | OBU1.FU0.TU4.CVS6 TU#5 (Inter frame) | 46,667 B | TU5.CVS6 FU#0 (Inter frame) | 25,325 B | FU0.TU5.CVS6 OBU#0 Temporal delimiter | 2 B | OBU0.FU0.TU5.CVS6 OBU#1 Frame | 25,323 B | OBU1.FU0.TU5.CVS6 FU#1 (Inter frame) | 21,342 B | FU1.TU5.CVS6 OBU#0 Frame | 21,342 B | OBU0.FU1.TU5.CVS6 TU#6 (Inter frame) | 5 B | TU6.CVS6 FU#0 (Inter frame) | 5 B | FU0.TU6.CVS6 OBU#0 Temporal delimiter | 2 B | OBU0.FU0.TU6.CVS6 OBU#1 Frame header | 3 B | OBU1.FU0.TU6.CVS6
The similar with HEVC, for example,
DumpTS FILEZ058_sei_vui_gdr.h266 --listmse
And then,
------------Name-------------------------------|-----len-----|------------URI----------------------
Video Sequence#0 | | VSEQ0
CVS#0 (IDR, closed GOP) | | CVS0.VSEQ0
AU#0 (I) | 279 B | AU0.CVS0.VSEQ0
NU#0 non-VCL::AUD_NUT | 3 B | NU0.AU0.CVS0.VSEQ0
NU#1 non-VCL::SPS_NUT | 70 B | NU1.AU0.CVS0.VSEQ0
NU#2 non-VCL::PPS_NUT | 19 B | NU2.AU0.CVS0.VSEQ0
NU#3 non-VCL::PREFIX_SEI_NUT | 17 B | NU3.AU0.CVS0.VSEQ0
SEI message#0 | 14 B | SEIMSG0.NU3.AU0.CVS0.VSEQ0
#0 buffering_period | 12 B | SEIPL0.SEIMSG0.NU3.AU0.CVS0.VSEQ0
NU#4 non-VCL::PREFIX_SEI_NUT | 8 B | NU4.AU0.CVS0.VSEQ0
SEI message#0 | 5 B | SEIMSG0.NU4.AU0.CVS0.VSEQ0
#0 pic_timing | 3 B | SEIPL0.SEIMSG0.NU4.AU0.CVS0.VSEQ0
NU#5 non-VCL::PREFIX_SEI_NUT | 31 B | NU5.AU0.CVS0.VSEQ0
SEI message#0 | 26 B | SEIMSG0.NU5.AU0.CVS0.VSEQ0
#0 mastering_display_colour| 24 B | SEIPL0.SEIMSG0.NU5.AU0.CVS0.VSEQ0
NU#6 VCL::IDR_N_LP | 107 B | NU6.AU0.CVS0.VSEQ0
AU#1 (B) | 48 B | AU1.CVS0.VSEQ0
NU#0 non-VCL::AUD_NUT | 3 B | NU0.AU1.CVS0.VSEQ0
NU#1 non-VCL::PREFIX_SEI_NUT | 8 B | NU1.AU1.CVS0.VSEQ0
SEI message#0 | 5 B | SEIMSG0.NU1.AU1.CVS0.VSEQ0
#0 pic_timing | 3 B | SEIPL0.SEIMSG0.NU1.AU1.CVS0.VSEQ0
NU#2 VCL::TRAIL_N | 27 B | NU2.AU1.CVS0.VSEQ0
AU#2 (B) | 49 B | AU2.CVS0.VSEQ0
NU#0 non-VCL::AUD_NUT | 3 B | NU0.AU2.CVS0.VSEQ0
NU#1 non-VCL::PREFIX_SEI_NUT | 8 B | NU1.AU2.CVS0.VSEQ0
SEI message#0 | 5 B | SEIMSG0.NU1.AU2.CVS0.VSEQ0
#0 pic_timing | 3 B | SEIPL0.SEIMSG0.NU1.AU2.CVS0.VSEQ0
NU#2 VCL::TRAIL_N | 28 B | NU2.AU2.CVS0.VSEQ0
AU#3 (B) | 49 B | AU3.CVS0.VSEQ0
NU#0 non-VCL::AUD_NUT | 3 B | NU0.AU3.CVS0.VSEQ0
NU#1 non-VCL::PREFIX_SEI_NUT | 8 B | NU1.AU3.CVS0.VSEQ0
SEI message#0 | 5 B | SEIMSG0.NU1.AU3.CVS0.VSEQ0
#0 pic_timing | 3 B | SEIPL0.SEIMSG0.NU1.AU3.CVS0.VSEQ0
NU#2 VCL::TRAIL_N | 28 B | NU2.AU3.CVS0.VSEQ0
...
List ISOBMFF boxes
DumpTS xxxxx.mp4 --listMSE
And then
--------------Box name-----------------------------|---len----|-----Description-----------------
.
|--ftyp | | File Type Box
|--free | | Free Space Box
|--mdat | | Media Data Box
|--moov | | Movie Box
|--mvhd | | Movie Header Box
|--trak -- track_ID: 1, duration: 8.008s | | Track Box
| |--tkhd | |
| |--edts | |
| | |--elst | |
| |--mdia | |
| |--mdhd | |
| |--hdlr -- Video track | |
| |--minf | |
| |--vmhd | |
| |--dinf | |
| | |--dref | |
| |--stbl | |
| |--stsd -- avc1@1920x1080 | |
| | |--avc1 | |
| | |--avcC | |
| | |--pasp | |
| |--stts | |
| |--stss | |
| |--ctts | |
| |--stsc | |
| |--stsz | |
| |--stco | |
|--trak -- track_ID: 2, duration: 8.054s | |
| |--tkhd | |
| |--edts | |
| | |--elst | |
| |--mdia | |
| |--mdhd | |
| |--hdlr -- Audio track | |
| |--minf | |
| |--smhd | |
| |--dinf | |
| | |--dref | |
| |--stbl | |
| |--stsd -- mp4a@48000HZ | |
| | |--mp4a | |
| | |--esds | |
| |--stts | |
| |--stsc | |
| |--stsz | |
| |--stco | |
|--udta | |
|--meta | |
|--hdlr | |
|--ilst | |
Show a part of ISOBMFF tree
DumpTS xxxxx.mp4 --listMSE=minf.mdia.trak0.moov
And then,
moov.trak[0].mdia.minf
------- Box Name --------------|---len----|-----Description-----------------
|--vmhd | |
|--dinf | |
| |--dref | |
|--stbl | |
|--stsd -- avc1@1920x1080 | |
| |--avc1 | |
| |--avcC | |
| |--pasp | |
|--stts | |
|--stss | |
|--ctts | |
|--stsc | |
|--stsz | |
|--stco | |
-
List non-slice syntactic of first access-unit,
And then show the sequence header,
DumpTS 00023.m2v --listmse=~slice.au0 ------------Name-------------------------------|-----len-----|------------URI------------- AU#0 (I) | 91,997 B | AU0 SE#0 sequence_header | 140 B | SE0.AU0 SE#1 sequence_extension | 10 B | SE1.AU0 SE#2 group_of_pictures_header | 8 B | SE2.AU0 SE#3 picture_header | 8 B | SE3.AU0 SE#4 picture_coding_extension | 9 B | SE4.AU0`
DumpTS 00023.m2v --showmse=se0.au0 ------------Name-------------------------------|-----len-----|------------URI------------- AU#0 (I) | 91,997 B | AU0 SE#0 sequence_header | 140 B | SE0.AU0 -------------------------------------------------------------------------------------- sequence_header_code: 00 00 01 b3 // should be 00 00 01 B3 horizontal_size_value: 1920(0X780) // This word forms the 12 least significant bits of horizontal_size vertical_size_value: 1080(0X438) // This word forms the 12 least significant bits of vertical_size aspect_ratio_information: 3(0X3) // 16:9 frame_rate_code: 4(0X4) // 30 000/1001 (29.97...) bit_rate_value: 87500(0X155CC) // The lower 18 bits of bit_rate, and the upper 12 bits are in bit_rat... marker_bit: 1 vbv_buffer_size_value: 597(0X255) // the lower 10 bits of vbv_buffer_size, and the upper 8 bits are in v... constrained_parameters_flag: 0 // This flag (used in ISO/IEC 11172-2) has no meaning in this Specific... load_intra_quantiser_matrix: 1 // See 6.3.11 "Quant matrix extension". intra_quantiser_matrix: // See 6.3.11 "Quant matrix extension". 8 16 16 19 16 19 22 22 22 22 22 22 26 24 26 27 27 27 26 26 26 26 27 27 27 29 29 29 34 34 34 29 29 29 27 27 29 29 32 32 34 34 37 38 37 35 35 34 35 38 38 40 40 40 48 48 46 46 56 56 58 69 69 83 load_non_intra_quantiser_matrix: 1 // See 6.3.11 "Quant matrix extension". non_intra_quantiser_matrix: // See 6.3.11 "Quant matrix extension". 16 17 17 18 18 18 19 19 19 19 20 20 20 20 20 21 21 21 21 21 21 22 22 22 22 22 22 22 23 23 23 23 23 23 23 23 24 24 24 25 24 24 24 25 26 26 26 26 25 27 27 27 27 27 28 28 28 28 30 30 30 31 31 33
-
DumpTS i:\00023.m2v --showmse=se0-1.au0 ------------Name-------------------------------|-----len-----|------------URI------------- AU#0 (I) | 91,997 B | AU0 SE#0 sequence_header | 140 B | SE0.AU0 -------------------------------------------------------------------------------------- sequence_header_code: 00 00 01 b3 // should be 00 00 01 B3 horizontal_size_value: 1920(0X780) // This word forms the 12 least significant bits of horizontal_size vertical_size_value: 1080(0X438) // This word forms the 12 least significant bits of vertical_size aspect_ratio_information: 3(0X3) // 16:9 frame_rate_code: 4(0X4) // 30 000/1001 (29.97...) bit_rate_value: 87500(0X155CC) // The lower 18 bits of bit_rate, and the upper 12 bits are in bit_rat... marker_bit: 1 vbv_buffer_size_value: 597(0X255) // the lower 10 bits of vbv_buffer_size, and the upper 8 bits are in v... constrained_parameters_flag: 0 // This flag (used in ISO/IEC 11172-2) has no meaning in this Specific... load_intra_quantiser_matrix: 1 // See 6.3.11 "Quant matrix extension". intra_quantiser_matrix: // See 6.3.11 "Quant matrix extension". 8 16 16 19 16 19 22 22 22 22 22 22 26 24 26 27 27 27 26 26 26 26 27 27 27 29 29 29 34 34 34 29 29 29 27 27 29 29 32 32 34 34 37 38 37 35 35 34 35 38 38 40 40 40 48 48 46 46 56 56 58 69 69 83 load_non_intra_quantiser_matrix: 1 // See 6.3.11 "Quant matrix extension". non_intra_quantiser_matrix: // See 6.3.11 "Quant matrix extension". 16 17 17 18 18 18 19 19 19 19 20 20 20 20 20 21 21 21 21 21 21 22 22 22 22 22 22 22 23 23 23 23 23 23 23 23 24 24 24 25 24 24 24 25 26 26 26 26 25 27 27 27 27 27 28 28 28 28 30 30 30 31 31 33 SE#1 sequence_extension | 10 B | SE1.AU0 -------------------------------------------------------------------------------------- extension_start_code: 00 00 01 b5 // should be 00 00 01 B5 extension_start_code_identifier: 1(0X1) // Should be 1 profile_and_level_indication: 68(0X44) // Main@High progressive_sequence: 0 // the coded video sequence may contain both frame-pictures and field-... chroma_format: 1(0X1) // 4:2:0 horizontal_size_extension: 0(0X0) // (horizontal_size_extension<<12)|horizontal_size_value vertical_size_extension: 0(0X0) // (vertical_size_extension<<12)|vertical_size_value bit_rate_extension: 0(0X0) // (bit_rate_extension<18)|bit_rate_value marker_bit: 1 vbv_buffer_size_extension: 0(0X0) // (vbv_buffer_size_extension<10)|vbv_buffer_size_value low_delay: 0 // the sequence may contain B-pictures, that the frame re-ordering del... frame_rate_extension_n: 0(0X0) // frame_rate = frame_rate_value * (frame_rate_extension_n + 1) / (fra... frame_rate_extension_d: 0(0X0) // frame_rate = frame_rate_value * (frame_rate_extension_n + 1) / (fra...
-
And then,
DumpTS 00023.m2v --showmse=se.au.gop.vseq
... SE#2 group_of_pictures_header | 8 B | SE2.AU0.GOP0.VSEQ0 ------------------------------------------------------------------------------ group_start_code: 00 00 01 b8 // should be 00 00 01 B8 drop_frame_flag: 0 // pictures are counted assuming rounding to the nearest integral numb... time_code_hours: 0(0X0) // hours time_code_minutes: 0(0X0) // minutes marker_bit: 1 time_code_seconds: 0(0X0) // seconds time_code_pictures: 0(0X0) // frames closed_gop: 1 // these B-pictures have been encoded using only backward prediction o... broken_link: 0 SE#3 picture_header | 8 B | SE3.AU0.GOP0.VSEQ0 ------------------------------------------------------------------------------ picture_start_code: 00 00 01 00 // should be 00 00 01 00 temporal_reference: 0(0X0) picture_coding_type: 1(0X1) // intra-coded (I) vbv_delay: 65535(0XFFFF) SE#4 picture_coding_extension | 9 B | SE4.AU0.GOP0.VSEQ0 ------------------------------------------------------------------------------ extension_start_code_identifier: 8(0X8) f_code_0_0: 15(0XF) // forward horizontal f_code_0_1: 15(0XF) // forward vertical f_code_1_0: 15(0XF) // backward horizontal f_code_1_1: 15(0XF) // backward vertical intra_dc_precision: 2(0X2) // 10bits precision picture_structure: 3(0X3) // Frame picture top_field_first: 1 // The meaning of this element depends upon picture_structure, progres... frame_pred_frame_dct: 0 concealment_motion_vectors: 0 // indicate that no motion vectors are coded in intra macroblocks q_scale_type: 1 // This flag affects the inverse quantisation process as described in ... intra_vlc_format: 1 // This flag affects the decoding of transform coefficient data as des... alternate_scan: 1 // This flag affects the decoding of transform coefficient data as des... repeat_first_field: 0 // This flag is applicable only in a frame picture; in a field picture... chroma_420_type: 0 progressive_frame: 0 // the two fields of the frame are interlaced fields in which an inter... composite_display_flag: 0 // these parameters do not occur in the bitstream SE#5 slice1 | 688 B | SE5.AU0.GOP0.VSEQ0 ------------------------------------------------------------------------------ slice_start_code: 00 00 01 01 // should be 00 00 01 01~AF mb_row: 0(0X0) // macroblock row quantiser_scale_code: 5(0X5) extra_bit_slice: 0 // Should be 0 ...
-
And then,
DumpTS 00023.m2v --showmse=se.au0.gop2-3
------------Name-------------------------------|-----len-----|------------URI------------- GOP#2 (open) | | GOP2 AU#0 (I) | 361,074 B | AU0.GOP2 SE#0 sequence_header | 140 B | SE0.AU0.GOP2 ---------------------------------------------------------------------------------- ... SE#1 sequence_extension | 10 B | SE1.AU0.GOP2 ---------------------------------------------------------------------------------- ... SE#2 group_of_pictures_header | 8 B | SE2.AU0.GOP2 ---------------------------------------------------------------------------------- group_start_code: 00 00 01 b8 // should be 00 00 01 B8 drop_frame_flag: 0 // pictures are counted assuming rounding to the nearest integral numb... time_code_hours: 0(0X0) // hours time_code_minutes: 0(0X0) // minutes marker_bit: 1 time_code_seconds: 0(0X0) // seconds time_code_pictures: 28(0X1C) // frames closed_gop: 0 broken_link: 0 SE#3 picture_header | 8 B | SE3.AU0.GOP2 ---------------------------------------------------------------------------------- picture_start_code: 00 00 01 00 // should be 00 00 01 00 temporal_reference: 2(0X2) picture_coding_type: 1(0X1) // intra-coded (I) vbv_delay: 65535(0XFFFF) SE#4 picture_coding_extension | 9 B | SE4.AU0.GOP2 ---------------------------------------------------------------------------------- extension_start_code_identifier: 8(0X8) f_code_0_0: 15(0XF) // forward horizontal f_code_0_1: 15(0XF) // forward vertical f_code_1_0: 15(0XF) // backward horizontal f_code_1_1: 15(0XF) // backward vertical intra_dc_precision: 2(0X2) // 10bits precision picture_structure: 3(0X3) // Frame picture top_field_first: 1 // The meaning of this element depends upon picture_structure, progres... frame_pred_frame_dct: 0 concealment_motion_vectors: 0 // indicate that no motion vectors are coded in intra macroblocks q_scale_type: 1 // This flag affects the inverse quantisation process as described in ... intra_vlc_format: 1 // This flag affects the decoding of transform coefficient data as des... alternate_scan: 1 // This flag affects the decoding of transform coefficient data as des... repeat_first_field: 0 // This flag is applicable only in a frame picture; in a field picture... chroma_420_type: 0 progressive_frame: 0 // the two fields of the frame are interlaced fields in which an inter... composite_display_flag: 0 // these parameters do not occur in the bitstream SE#5 slice1 | 7,677 B | SE5.AU0.GOP2 ---------------------------------------------------------------------------------- slice_start_code: 00 00 01 01 // should be 00 00 01 01~AF mb_row: 0(0X0) // macroblock row quantiser_scale_code: 1(0X1) extra_bit_slice: 0 // Should be 0 SE#6 slice2 | 7,248 B | SE6.AU0.GOP2 ---------------------------------------------------------------------------------- slice_start_code: 00 00 01 02 // should be 00 00 01 01~AF mb_row: 1(0X1) // macroblock row quantiser_scale_code: 4(0X4) extra_bit_slice: 0 // Should be 0 ... GOP#3 (open) | | GOP3 AU#0 (I) | 366,066 B | AU0.GOP3 SE#0 sequence_header | 140 B | SE0.AU0.GOP3 ---------------------------------------------------------------------------------- ... SE#1 sequence_extension | 10 B | SE1.AU0.GOP3 ---------------------------------------------------------------------------------- ... SE#2 group_of_pictures_header | 8 B | SE2.AU0.GOP3 ---------------------------------------------------------------------------------- group_start_code: 00 00 01 b8 // should be 00 00 01 B8 drop_frame_flag: 0 // pictures are counted assuming rounding to the nearest integral numb... time_code_hours: 0(0X0) // hours time_code_minutes: 0(0X0) // minutes marker_bit: 1 time_code_seconds: 1(0X1) // seconds time_code_pictures: 13(0XD) // frames closed_gop: 0 broken_link: 0 SE#3 picture_header | 8 B | SE3.AU0.GOP3 ---------------------------------------------------------------------------------- picture_start_code: 00 00 01 00 // should be 00 00 01 00 temporal_reference: 2(0X2) picture_coding_type: 1(0X1) // intra-coded (I) vbv_delay: 65535(0XFFFF) SE#4 picture_coding_extension | 9 B | SE4.AU0.GOP3 ---------------------------------------------------------------------------------- extension_start_code_identifier: 8(0X8) f_code_0_0: 15(0XF) // forward horizontal f_code_0_1: 15(0XF) // forward vertical f_code_1_0: 15(0XF) // backward horizontal f_code_1_1: 15(0XF) // backward vertical intra_dc_precision: 2(0X2) // 10bits precision picture_structure: 3(0X3) // Frame picture top_field_first: 1 // The meaning of this element depends upon picture_structure, progres... frame_pred_frame_dct: 0 concealment_motion_vectors: 0 // indicate that no motion vectors are coded in intra macroblocks q_scale_type: 1 // This flag affects the inverse quantisation process as described in ... intra_vlc_format: 1 // This flag affects the decoding of transform coefficient data as des... alternate_scan: 1 // This flag affects the decoding of transform coefficient data as des... repeat_first_field: 0 // This flag is applicable only in a frame picture; in a field picture... chroma_420_type: 0 progressive_frame: 0 // the two fields of the frame are interlaced fields in which an inter... composite_display_flag: 0 // these parameters do not occur in the bitstream SE#5 slice1 | 7,651 B | SE5.AU0.GOP3 ---------------------------------------------------------------------------------- slice_start_code: 00 00 01 01 // should be 00 00 01 01~AF mb_row: 0(0X0) // macroblock row quantiser_scale_code: 2(0X2) extra_bit_slice: 0 // Should be 0 SE#6 slice2 | 7,240 B | SE6.AU0.GOP3 ---------------------------------------------------------------------------------- slice_start_code: 00 00 01 02 // should be 00 00 01 01~AF mb_row: 1(0X1) // macroblock row quantiser_scale_code: 5(0X5) extra_bit_slice: 0 // Should be 0 ...
-
At first, list all non-VCL NAL units of the first GOP
And then get the URI of the VPS
DumpTS 02021_interlaced.hevc --listmse=~vcl.cvs0 ------------Name-------------------------------|-----len-----|------------URI---------------------- CVS#0 (IDR, closed GOP) | | CVS0 NU#0 non-VCL::AUD_NUT | 3 B | NU0.CVS0 NU#1 non-VCL::VPS_NUT | 24 B | NU1.CVS0 NU#2 non-VCL::SPS_NUT | 77 B | NU2.CVS0 NU#3 non-VCL::PPS_NUT | 7 B | NU3.CVS0 NU#4 non-VCL::PREFIX_SEI_NUT | 6 B | NU4.CVS0 NU#5 non-VCL::PREFIX_SEI_NUT | 8 B | NU5.CVS0 NU#6 non-VCL::PREFIX_SEI_NUT | 6 B | NU6.CVS0 NU#8 non-VCL::AUD_NUT | 3 B | NU8.CVS0
NU1.CVS0
, and runDumpTS 02021_interlaced.hevc --showmse=nu1.cvs0 ------------Name-------------------------------|-----len-----|------------URI---------------------- CVS#0 (IDR, closed GOP) | | CVS0 NU#1 non-VCL::VPS_NUT | 24 B | NU1.CVS0 ----------------------------------------------------------------------------------------------- NAL_UNIT: // non-VCL::VPS_NUT Video parameter set video_parameter_set_rbsp( ) forbidden_zero_bit: 0 // shall be equal to 0. nal_unit_type: 32(0X20) // non-VCL::VPS_NUT Video parameter set video_parameter_set_rbsp( ) nuh_layer_id: 0(0X0) // the identifier of the layer to which a VCL NAL unit belongs or the ... nuh_temporal_id_plus1: 1(0X1) // Should be 1 vps_video_parameter_set_id: 0(0X0) // identifies the VPS for reference by other syntax elements vps_base_layer_internal_flag: 1 vps_base_layer_available_flag: 1 vps_max_layers_minus1: 0(0X0) // plus 1 specifies the maximum allowed number of layers in each CVS r... vps_max_sub_layers_minus1: 0(0X0) // plus 1 specifies the maximum number of temporal sub-layers that may... vps_temporal_id_nesting_flag: 1 // when vps_max_sub_layers_minus1 is greater than 0, specifies whether... vps_reserved_0xffff_16bits: 65535(0XFFFF) // shall be equal to 0xFFFF profile_tier_level(1, vps_max_sub_layers_minus1): // Main general_profile_space: 0(0X0) general_tier_flag: 0(0X0) general_profile_idc: 1(0X1) profile_compatibility_flag: general_profile_compatibility_flag[0]: 0 general_profile_compatibility_flag[1]: 1 general_profile_compatibility_flag[2]: 1 general_profile_compatibility_flag[3]: 0 general_profile_compatibility_flag[4]: 0 general_profile_compatibility_flag[5]: 0 general_profile_compatibility_flag[6]: 0 general_profile_compatibility_flag[7]: 0 general_profile_compatibility_flag[8]: 0 general_profile_compatibility_flag[9]: 0 general_profile_compatibility_flag[10]: 0 general_profile_compatibility_flag[11]: 0 general_profile_compatibility_flag[12]: 0 general_profile_compatibility_flag[13]: 0 general_profile_compatibility_flag[14]: 0 general_profile_compatibility_flag[15]: 0 general_profile_compatibility_flag[16]: 0 general_profile_compatibility_flag[17]: 0 general_profile_compatibility_flag[18]: 0 general_profile_compatibility_flag[19]: 0 general_profile_compatibility_flag[20]: 0 general_profile_compatibility_flag[21]: 0 general_profile_compatibility_flag[22]: 0 general_profile_compatibility_flag[23]: 0 general_profile_compatibility_flag[24]: 0 general_profile_compatibility_flag[25]: 0 general_profile_compatibility_flag[26]: 0 general_profile_compatibility_flag[27]: 0 general_profile_compatibility_flag[28]: 0 general_profile_compatibility_flag[29]: 0 general_profile_compatibility_flag[30]: 0 general_profile_compatibility_flag[31]: 0 general_progressive_source_flag: 0 general_interlaced_source_flag: 1 general_non_packed_constraint_flag: 0 general_frame_only_constraint_flag: 0 general_reserved_zero_43bits: 0(0X0) general_inbld_flag: 0 general_level_idc: 93(0X5D) // Level 3.1 vps_sub_layer_ordering_info_present_flag: 1 // specifies that vps_max_dec_pic_buffering_minus1[ i ], vps_max_num_r... for(i = ( vps_sub_layer_ordering_info_present_flag ? 0 : vps_max_sub_layers_minus1 ); i <= vps_max_sub_layers_minus1; i+ + ) {: vps_max_dec_pic_buffering_minus1[0]: 7 // plus 1 specifies the maximum required size of the decoded picture b... vps_max_num_reorder_pics[0]: 4 // indicates the maximum allowed number of pictures with PicOutputFlag... vps_max_latency_increase_plus1[0]: 0 // no corresponding limit is expressed vps_max_layer_id: 0(0X0) // specifies the maximum allowed value of nuh_layer_id of all NAL unit... vps_num_layer_sets_minus1: 0(0X0) // plus 1 specifies the number of layer sets that are specified by the... vps_timing_info_present_flag: 0 // specifies that vps_num_units_in_tick, vps_time_scale, vps_poc_propo... vps_extension_flag: 0 rbsp_trailing_bits: rbsp_stop_one_bit: 1 // Should be 1
-
DumpTS 02021_interlaced.hevc --showmse=nu
-
DumpTS 02021_interlaced.hevc --showmse=seipl.seimsg.au.cvs ------------Name-------------------------------|-----len-----|------------URI---------------------- CVS#0 (IDR, closed GOP) | | CVS0 AU#0 (I) | 32,948 B | AU0.CVS0 SEI message#0 | 3 B | SEIMSG0.AU0.CVS0 #0 active_parameter_sets | 1 B | SEIPL0.SEIMSG0.AU0.CVS0 --------------------------------------------------------------------------------------- active_video_parameter_set_id: 0(0X0) // indicates and shall be equal to the value of the vps_video_paramete... self_contained_cvs_flag: 0 // indicates that this property may or may not apply no_parameter_set_update_flag: 0 // indicates that there may or may not be parameter set update in the ... num_sps_ids_minus1: 0(0X0) // plus 1 shall be less than or equal to the number of SPSs that are r... for(i=0; i<=num_sps_ids_minus1;i++): active_seq_parameter_set_id[0]: 0 // a value of the sps_seq_parameter_set_id of the SPS that may be refe... SEI message#1 | 5 B | SEIMSG1.AU0.CVS0 #0 pic_timing | 3 B | SEIPL0.SEIMSG1.AU0.CVS0 --------------------------------------------------------------------------------------- pic_struct: 1(0X1) // top field source_scan_type: 0(0X0) // Interlaced duplicate_flag: 0 // the current picture is not indicated to be a duplicate of a previou... au_cpb_removal_delay_minus1: 0(0X0) // plus 1 is used to calculate the number of clock ticks between the n... pic_dpb_output_delay: 4(0X4) // how many clock ticks to wait after removal of the last decoding uni... SEI message#2 | 3 B | SEIMSG2.AU0.CVS0 #0 recovery_point | 1 B | SEIPL0.SEIMSG2.AU0.CVS0 --------------------------------------------------------------------------------------- recovery_poc_cnt: 0 // the recovery point of decoded pictures in output order exact_match_flag: 1 // the match will be exact broken_link_flag: 0 // no indication is given regarding any potential presence of visual a... payload_bit_equal_to_one: 1 while(!byte_aligned()): payload_bit_equal_to_zero[0]: 0 payload_bit_equal_to_zero[1]: 0 payload_bit_equal_to_zero[2]: 0 payload_bit_equal_to_zero[3]: 0 AU#1 (P) | 20,076 B | AU1.CVS0 SEI message#0 | 5 B | SEIMSG0.AU1.CVS0 #0 pic_timing | 3 B | SEIPL0.SEIMSG0.AU1.CVS0 --------------------------------------------------------------------------------------- pic_struct: 2(0X2) // bottom field source_scan_type: 0(0X0) // Interlaced duplicate_flag: 0 // the current picture is not indicated to be a duplicate of a previou... au_cpb_removal_delay_minus1: 0(0X0) // plus 1 is used to calculate the number of clock ticks between the n... pic_dpb_output_delay: 4(0X4) // how many clock ticks to wait after removal of the last decoding uni... AU#2 (P) | 16,882 B | AU2.CVS0 SEI message#0 | 5 B | SEIMSG0.AU2.CVS0 #0 pic_timing | 3 B | SEIPL0.SEIMSG0.AU2.CVS0 --------------------------------------------------------------------------------------- pic_struct: 1(0X1) // top field source_scan_type: 0(0X0) // Interlaced duplicate_flag: 0 // the current picture is not indicated to be a duplicate of a previou... au_cpb_removal_delay_minus1: 1(0X1) // plus 1 is used to calculate the number of clock ticks between the n... pic_dpb_output_delay: 10(0XA) // how many clock ticks to wait after removal of the last decoding uni... AU#3 (P) | 9,896 B | AU3.CVS0 SEI message#0 | 5 B | SEIMSG0.AU3.CVS0 #0 pic_timing | 3 B | SEIPL0.SEIMSG0.AU3.CVS0 --------------------------------------------------------------------------------------- pic_struct: 2(0X2) // bottom field source_scan_type: 0(0X0) // Interlaced duplicate_flag: 0 // the current picture is not indicated to be a duplicate of a previou... au_cpb_removal_delay_minus1: 2(0X2) // plus 1 is used to calculate the number of clock ticks between the n... pic_dpb_output_delay: 10(0XA) // how many clock ticks to wait after removal of the last decoding uni... AU#4 (B) | 10,829 B | AU4.CVS0 SEI message#0 | 5 B | SEIMSG0.AU4.CVS0 #0 pic_timing | 3 B | SEIPL0.SEIMSG0.AU4.CVS0 --------------------------------------------------------------------------------------- pic_struct: 1(0X1) // top field source_scan_type: 0(0X0) // Interlaced duplicate_flag: 0 // the current picture is not indicated to be a duplicate of a previou... au_cpb_removal_delay_minus1: 3(0X3) // plus 1 is used to calculate the number of clock ticks between the n... pic_dpb_output_delay: 4(0X4) // how many clock ticks to wait after removal of the last decoding uni...
-
At first, list the hierarchy layout of AV1 stream as,
DumpTS Stream3_AV1_720p_3.9mbps.av1 --listmse=~frame.tu | more
And then some non-frame OBU may be displayed as,
Low-Overhead AV1 bitstream... ------------Name-------------------------------|-----len-----|------------URI----------------- TU#0 (Key frame) | 84,891 B | TU0 OBU#0 Temporal delimiter | 2 B | OBU0.TU0 OBU#1 Sequence header | 13 B | OBU1.TU0 TU#1 (Inter frame) | 143,543 B | TU1 OBU#0 Temporal delimiter | 2 B | OBU0.TU1 TU#2 (Inter frame) | 5 B | TU2 OBU#0 Temporal delimiter | 2 B | OBU0.TU2 TU#3 (Inter frame) | 11,076 B | TU3 OBU#0 Temporal delimiter | 2 B | OBU0.TU3 ...
Finally select the sequence header to show with the below command,
DumpTS Stream3_AV1_720p_3.9mbps.av1 --showmse=OBU1.TU0
And then,
Low-Overhead AV1 bitstream... ------------Name-------------------------------|-----len-----|------------URI----------------- TU#0 (Key frame) | 84,891 B | TU0 OBU#1 Sequence header | 13 B | OBU1.TU0 ------------------------------------------------------------------------------------------ obu_header(): obu_forbidden_bit: 0 // must be set to 0 obu_type: 1(0X1) // Sequence header OBU obu_extension_flag: 0 // indicates if the optional obu_extension_header is present obu_has_size_field: 1 // indicates that the obu_size syntax element will be present obu_reserved_1bit: 0 // must be set to 0 obu_size: 11(0XB) // contains the size in bytes of the OBU not including the bytes withi... sequence_header_obu(): seq_profile: 0(0X0) // Main Profile still_picture: 0 // the coded video sequence contains one or more coded frames reduced_still_picture_header: 0 // specifies that the syntax elements not needed by a still picture ar... timing_info_present_flag: 0 // timing info is NOT present in the coded video sequence initial_display_delay_present_flag: 0 // specifies whether initial display delay information is present in t... operating_points_cnt_minus_1: 0(0X0) // plus 1 indicates the number of operating points present in the code... for(i=0;i<=operating_points_cnt_minus_1;i++): operating_point[0]: operating_point_idc: 0(0X0) // contains a bitmask that indicates which spatial and temporal layers... seq_level_idx: 5(0X5) // 3.1 decoder_model_present_for_this_op: 0 frame_width_bits_minus_1: 10(0XA) // the number of bits minus 1 used for transmitting the frame width sy... frame_height_bits_minus_1: 9(0X9) // the number of bits minus 1 used for transmitting the frame height s... max_frame_width_minus_1: 1279(0X4FF) // the maximum frame width minus 1 for the frames represented by this ... max_frame_height_minus_1: 719(0X2CF) // the maximum frame height minus 1 for the frames represented by this... frame_id_numbers_present_flag: 0 // frame id numbers are NOT present in the coded video sequence delta_frame_id_length_minus_2: 6(0X6) // plus 2 used to encode delta_frame_id syntax elements additional_frame_id_length_minus_1: 6(0X6) // is used to calculate the number of bits used to encode the frame_id... use_128x128_superblock: 1 // superblocks contain 128x128 luma samples enable_filter_intra: 1 // the use_filter_intra syntax element may be present enable_intra_edge_filter: 1 // the intra edge filtering process should be enabled enable_interintra_compound: 1 // the mode info for inter blocks may contain the syntax element inter... enable_masked_compound: 1 // the mode info for inter blocks may contain the syntax element compo... enable_warped_motion: 1 // the allow_warped_motion syntax element may be present enable_dual_filter: 1 // the inter prediction filter type may be specified independently in ... enable_order_hint: 1 // tools based on the values of order hints may be used enable_jnt_comp: 1 // the distance weights process may be used for inter prediction enable_ref_frame_mvs: 1 // the use_ref_frame_mvs syntax element may be present seq_choose_screen_content_tools: 1 // seq_force_screen_content_tools should be set equal to SELECT_SCREEN... seq_force_screen_content_tools: 2(0X2) // the allow_screen_content_tools syntax element will be present in th... seq_choose_integer_mv: 1 // seq_force_integer_mv should be set equal to SELECT_INTEGER_MV seq_force_integer_mv: 2(0X2) // Should be SELECT_INTEGER_MV order_hint_bits_minus_1: 6(0X6) // plus 1 specifies the number of bits used for the order_hint syntax ... OrderHintBits: 7 // the number of bits used for the order_hint syntax element enable_superres: 0 // the use_superres syntax element will not be present enable_cdef: 1 // cdef filtering may be enabled enable_restoration: 1 // loop restoration filtering may be enabled color_config(): high_bitdepth: 0 // together with seq_profile, determine the bit depth BitDepth: 8(0X8) // BitDepth = high_bitdepth ? 10 : 8 mono_chrome: 0 // indicates that the video contains Y, U, and V color planes NumPlanes: 3(0X3) // NumPlanes = mono_chrome ? 1 : 3 color_description_present_flag: 0 // specifies that color_primaries, transfer_characteristics and matrix... color_primaries: 2(0X2) // Unspecified transfer_characteristics: 2(0X2) // Unspecified matrix_coefficients: 2(0X2) // Unspecified color_range: 0 // shall be referred to as the studio swing representation subsampling_x: 1(0X1) subsampling_y: 1(0X1) YUV Color-space: // YUV 4:2:0 chroma_sample_position: 0(0X0) // Unknown(in this case the source video transfer function must be sig... film_gain_params_present: 0 // film grain parameters are NOT present in the coded video sequence trailing_bits(): trailing_one_bit: 1 // shall be equal to 1 trailing_zero_bit[0]: 0 trailing_zero_bit[1]: 0
-
Of course, you can show all syntax elements by the below command
DumpTS FILEZ058_enable_restoration.ivf --showmse=OBU.FU.TU.CVS.VSEQ
All syntax elements will be shown according to corresponding hierarchy layout
DumpTS FILEZ058_enable_restoration.ivf --showmse=obu
All OBU syntax view will be shown.
-
At first, list the hierarchy layout of temporal unit#1
DumpTS FILEZ058_enable_restoration.ivf --listmse=obu.fu.tu1 Low-Overhead AV1 bitstream... ------------Name-------------------------------|-----len-----|------------URI----------------- TU#1 (Inter frame) | 172 B | TU1 FU#0 (Inter frame) | 55 B | FU0.TU1 OBU#0 Temporal delimiter | 2 B | OBU0.FU0.TU1 OBU#1 Frame | 41 B | OBU1.FU0.TU1 FU#1 (Inter frame) | 33 B | FU1.TU1 OBU#0 Frame | 33 B | OBU0.FU1.TU1 FU#2 (Inter frame) | 28 B | FU2.TU1 OBU#0 Frame | 28 B | OBU0.FU2.TU1 FU#3 (Inter frame) | 28 B | FU3.TU1 OBU#0 Frame | 28 B | OBU0.FU3.TU1 FU#4 (Inter frame) | 28 B | FU4.TU1 OBU#0 Frame | 28 B | OBU0.FU4.TU1
Second, select the syntax element you want to show, for example,
DumpTS FILEZ058_enable_restoration.ivf --showmse=OBU0.FU1.TU1
And then the first OBU of the second frame-unit of the first temporal unit will be shown as,
------------Name-------------------------------|-----len-----|------------URI----------------- TU#1 (Inter frame) | 172 B | TU1 FU#1 (Inter frame) | 33 B | FU1.TU1 OBU#0 Frame | 33 B | OBU0.FU1.TU1 -------------------------------------------------------------------------------------- obu_header(): obu_forbidden_bit: 0 // must be set to 0 obu_type: 6(0X6) // Frame OBU obu_extension_flag: 0 // indicates if the optional obu_extension_header is present obu_has_size_field: 1 // indicates that the obu_size syntax element will be present obu_reserved_1bit: 0 // must be set to 0 obu_size: 31(0X1F) // contains the size in bytes of the OBU not including the bytes withi... frame_obu(): frame_header_obu(): uncompressed_header(): allFrames: 255(0XFF) // allFrames = (1<<NUM_REF_FRAMES)-1 show_existing_frame: 0 // indicates that further processing is required frame_type: 1(0X1) // Inter frame FrameIsIntra: 0 // FrameIsIntra=(frame_type==INTRA_ONLY_FRAME || frame_type==KEY_FRAME... show_frame: 0 // specifies that this frame should not be immediately output showable_frame: 1 // specifies that the frame may be output using the show_existing_fram... error_resilient_mode: 0 // indicates that error resilient mode is disabled disable_cdf_update: 0 // specifies whether the CDF update in the symbol decoding process sho... allow_screen_content_tools: 0 // indicates that palette encoding is never used force_integer_mv: 0(0X0) current_frame_id: 0(0X0) // Should be 0 frame_size_override_flag: 0 // specifies that the frame size is equal to the size in the sequence ... order_hint: 8(0X8) // is used to compute OrderHint OrderHint: 8(0X8) // specifies OrderHintBits least significant bits of the expected outp... primary_ref_frame: 0(0X0) // specifies which reference frame contains the CDF values and other s... allow_high_precision_mv = 0: // initialize its value to 0, specifies that motion vectors are specif... use_ref_frame_mvs = 0: // initialize its value to 0, specifies that this information will not... allow_intrabc = 0: // initialize its value to 0, indicates that intra block copy is not a... refresh_frame_flags: 8(0X8) // contains a bitmask that specifies which reference frame slots will ... frame_refs_short_signaling: 0 // indicates that all reference frames are explicitly signaled ref_frame_idx: 2,2,2,2,0,0,0 // specifies which reference frames are used by inter frames.It is a r... frame_size(): FrameWidth: 1280(0X500) // FrameWidth = max_frame_width_minus_1 + 1 FrameHeight: 720(0X2D0) // FrameHeight = max_frame_height_minus_1 + 1 superres_params(): use_superres: 0 SuperresDenom: 8(0X8) // SuperresDenom = SUPERRES_NUM UpscaledWidth: 1280(0X500) // UpscaledWidth = FrameWidth FrameWidth: 1280(0X500) // (UpscaledWidth*SUPERRES_NUM+(SuperresDenom/2))/ SuperresDenom compute_image_size(): MiCols: 320(0X140) MiRows: 180(0XB4) render_size(): // The render size is provided as a hint to the application about the ... render_and_frame_size_different: 0 // the render width and height are inferred from the frame width and h... RenderWidth: 1280(0X500) // RenderWidth = UpscaledWidth RenderHeight: 720(0X2D0) // RenderHeight = FrameHeight allow_high_precision_mv: 0 // specifies that motion vectors are specified to quarter pel precisio... read_interpolation_filter(): is_filter_switchable: 1 interpolation_filter: 4(0X4) is_motion_mode_switchable: 1 use_ref_frame_mvs: 1 // specifies that motion vector information from a previous frame can ... OrderHints: 0,0,0,0,16,16,16 // The order hints of ref frame of current frame RefFrameSignBias: 0,0,0,0,1,1,1 // 0, forward reference, 1: backward reference disable_frame_end_update_cdf: 0 // indicates that the end of frame CDF update is enabled load_cdfs(frame context number: 2): // a function call that indicates that the CDF tables are loaded from ... load_previous(): // a function call that indicates that information from a previous fra... motion_field_estimation(): // a function call which indicates that the motion field estimation pr... ...
Show the located media syntax element buffer w/o any modification and parsing, for example,
DumpTS 00023.m2v --showmsehex=slice46.au11.gop15
And then the 46th slice of access-unit #11 of the 16th GOP buffer will be printed as,
------------Name-------------------------------|-----len-----|------------URI-------------
GOP#15 (closed) | | GOP0
AU#11 (B) | 79,321 B | AU11.GOP0
Slice#46 slice47 | 993 B | SLICE46.AU11.GOP0
----------------------------------------------------------------------------------
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
----------------------------------------------------------------
000000 00 00 01 2F 1A 73 0B A1 75 74 E6 AA AA AE 9C 66 | .../.s..ut.....f
000010 88 42 06 8E A1 3E A3 2B 8D 51 FD DC BA 1C 32 18 | .B...>.+.Q....2.
000020 59 3A AA E8 70 68 D9 45 52 28 EB A7 58 C0 75 55 | Y:..ph.ER(..X.uU
000030 D3 99 8B 84 4D D7 22 EE 9C 63 07 AA 8E BA 1C 12 | ....M."..c......
000040 34 7D A4 69 0A 90 4F 1F 43 85 63 05 BD 1D 47 3D | 4}.i..O.C.c...G=
000050 D0 E0 B3 2C 3A A8 2B C8 75 D9 B0 AA 1C 2E E3 2A | ...,:.+.u......*
000060 BD 0E 0B 54 01 CC 51 C3 D7 4B C9 57 D2 0F 35 DE | ...T..Q..K.W..5.
000070 4D 39 A2 E5 F1 4B 14 17 20 BF 86 A4 E5 56 ED 4C | M9...K.. ....V.L
000080 E2 83 D8 0D 5D 39 A2 30 24 D3 24 30 C3 0F 83 07 | ....]9.0$.$0....
000090 85 48 7E FB 66 5B 9F 31 80 03 BA 1C 1F 0A 09 52 | .H~.f[.1.......R
0000A0 C5 B5 0E 19 8D B4 2A 8E A7 10 E8 9D 4E 59 F5 35 | ......*.....NY.5
0000B0 48 F4 E6 33 2A 36 A9 C6 34 0A 9E 11 57 43 83 43 | H..3*6..4...WC.C
0000C0 45 BA E4 09 91 BE 90 E7 EB A1 C3 67 54 CD 4E 77 | E..........gT.Nw
0000D0 50 E0 FE 8A 33 30 7D 71 54 75 29 0E 1C 33 19 F5 | P...30}qTu)..3..
0000E0 53 88 59 3E 7A A5 31 5E 1C 13 16 D0 51 16 46 03 | S.Y>z.1^....Q.F.
0000F0 E9 1E 20 83 46 75 98 B8 30 E0 11 D9 D4 38 54 2C | .. .Fu..0....8T,
000100 BA AA A7 28 82 38 EA 85 DD 0E 0E CF 41 CC 46 AE | ...(.8......A.F.
000110 73 69 B7 CC 46 F2 28 70 B8 25 55 74 38 26 2C 98 | si..F.(p.%Ut8&,.
000120 51 3E 46 09 E6 88 61 D2 0E 0F 16 B8 30 F1 E4 F0 | Q>F...a.....0...
000130 39 77 43 86 42 9C 16 F0 BA 1C 2A 18 DD 43 EE 87 | 9wC.B.....*..C..
000140 0C CD 38 80 BA 7A 71 0B A7 D8 DA A1 C1 FE 90 27 | ..8..zq........'
000150 38 80 3B 4E F2 14 6F 20 D1 43 68 CB F0 17 57 36 | 8.;N..o .Ch...W6
000160 31 EA 87 06 C7 E4 EC A3 FC 19 9D 88 CB 54 81 CE | 1............T..
000170 4F 54 53 12 CE CB 34 FF 45 0C 86 0D E4 DA DE 46 | OTS...4.E......F
000180 3E 33 53 8C 6F A5 1D E9 A9 C4 38 D2 E9 CF D5 54 | >3S.o.....8....T
000190 BA 71 0B A3 35 5D 0E 0E AF 43 6A C0 35 90 66 3A | .q..5]...Cj.5.f:
0001A0 41 B4 E6 EA 80 59 54 38 66 3F 55 0F AA 1C 1E F9 | A....YT8f?U.....
0001B0 DE 28 FA 63 A9 C6 35 1C 3E 3B 9E B8 30 06 53 E1 | .(.c..5.>;..0.S.
0001C0 21 57 43 86 43 EB 97 4D E5 5E 51 03 A2 09 B1 56 | !WC.C..M.^Q....V
0001D0 56 36 5B DD 39 9F 55 39 C2 AA 55 88 A0 ED 11 84 | V6[.9.U9..U.....
0001E0 53 14 51 D3 2C 07 F2 30 31 00 0C 86 5F D7 74 38 | S.Q.,..01..._.t8
0001F0 6A 71 80 67 3D 0E 16 CF 8C 7A AE B0 35 E5 9C 41 | jq.g=....z..5..A
000200 A2 83 EC 98 57 C4 93 43 9A 0C 64 B1 6C 78 9F 9E | ....W..C..d.lx..
000210 42 86 BE 60 A8 B6 47 1A A2 3D DD 0E 1F 75 47 AE | B..`..G..=...uG.
000220 5D 0E 1B 55 50 A9 15 4E 68 AA 42 A4 5D 39 AA A0 | ]..UP..Nh.B.]9..
000230 19 D4 80 19 D5 14 3A 13 21 5E 8C C9 F2 A8 A1 98 | ......:.!^......
000240 BA 42 8C 6D 26 87 06 F5 55 6B 5B 2C 3E 43 FE 06 | .B.m&...Uk[,>C..
000250 AC E4 25 64 0A 77 7B A7 16 BA A8 92 A9 82 24 63 | ..%d.w{.......$c
000260 E2 8B 5A AE 87 0C 84 BC EA F4 38 36 7F 1E 03 FA | ..Z.......86....
000270 36 80 67 42 89 EB A1 C3 21 CE 32 A9 CF D5 55 79 | 6.gB....!.2...Uy
000280 44 C4 17 6F 36 35 80 07 50 BA 71 AD 95 48 A7 12 | D..o65..P.q..H..
000290 AF 3A A9 CB E1 28 91 EA E9 DB 2C AA A8 70 6C FD | .:...(....,..pl.
0002A0 14 6C 53 03 08 00 C5 05 D3 88 60 F4 02 F5 55 D0 | .lS.......`...U.
0002B0 E1 D0 F6 A1 C1 A1 67 AC 7C 87 1A 07 24 2F 35 1A | ......g.|...$/5.
0002C0 06 A8 70 D4 67 55 0E 1D AE 35 50 E1 91 B3 EA A8 | ..p.gU...5P.....
0002D0 8F 43 83 42 8F 44 57 A7 02 5D 11 4F B9 9A 9C 63 | .C.B.DW..].O...c
0002E0 E8 8A DE 28 9E 4E 91 4E 21 67 A2 47 F2 1C E9 14 | ...(.N.N!g.G....
0002F0 E3 15 FD 22 3C 0E 48 0E 7A 72 EF 47 90 7B C8 1F | ..."<.H.zr.G.{..
000300 14 7D 3B 57 A2 54 89 14 E2 37 7D 22 2A A9 C6 EC | .};W.T...7}"*...
000310 F4 1F 22 A9 74 E0 9D 7E 83 4F A2 87 CC B1 74 65 | ..".t..~.O....te
000320 38 C7 E5 C8 86 81 AA A1 C3 5D CA 87 06 86 84 48 | 8........].....H
000330 91 57 4E 02 DE 1F F4 48 1D 22 41 F5 C1 18 1A 60 | .WN....H."A....`
000340 E1 A0 4A 36 2C 75 53 AE 55 63 DD 53 A4 B6 26 EA | ..J6,uS.Uc.S..&.
000350 9D 1D BA 2F DF 81 FC 00 69 D3 38 33 AC 74 EB 91 | .../....i.83.t..
000360 03 FF FF D3 8D 7E 8A 11 22 45 38 87 24 55 38 0F | .....~.."E8.$U8.
000370 E5 EE 3E 9D 6F F5 54 8A 1D 11 3F 94 64 8F 20 F8 | ..>.o.T...?.d. .
000380 99 E9 D7 7E 88 81 15 38 5D 38 DC 12 FD 0F 15 9A | ...~...8]8......
000390 44 D5 C1 38 19 2A 36 A3 7A 6F 40 2E A7 53 D0 88 | D..8.*[email protected]..
0003A0 C8 32 2B AA E9 CF 86 1F 20 93 21 C4 3C 56 23 D7 | .2+..... .!.<V#.
0003B0 02 76 AC 90 E4 18 D0 37 06 99 25 8F 17 67 53 9F | .v.....7..%..gS.
0003C0 A0 C4 26 47 90 68 8A 71 1D 08 89 23 E4 E4 D9 F7 | ..&G.h.q...#....
0003D0 43 83 66 CC 25 D5 3A D5 10 2D 22 AE A9 D4 B8 3D | C.f.%.:..-"....=
0003E0 F8 | .