adaptation_field_length | 0 | 8 | uimsbf |
if adaptation_field_length >0 |
discontinuity_indicator | 8 | 1 | uimsbf |
random_access_indicator | 9 | 1 | uimsbf |
elementary_stream_priority_indicator | 10 | 1 | bslbf |
PCR_flag | 11 | 1 | bslbf |
OPCR_flag | 12 | 1 | bslbf |
splicing_point_flag | 13 | 1 | bslbf |
transport_private_data_flag | 14 | 1 | bslbf |
adaptation_field_extension_flag | 15 | 1 | bslbf |
if PCR_flag == '1' |
program_clock_reference_base | 16 | 33 | uimsbf |
reserved | 49 | 6 | '111111' |
program_clock_reference_extension | 55 | 9 | uimsbf |
end if |
if OPCR_flag == '1' |
original_program_clock_reference_base | 16 | 33 | uimsbf |
reserved | 49 | 6 | '111111' |
original_program_clock_reference_extension | 55 | 9 | uimsbf |
end if |
if splicing_point_flag == '1' |
splice_countdown | | 8 | tcimsbf |
end if |
if transport_private_data_flag == '1' |
private_data_byte | | var | bslbf |
end if |
if adaptation_field_extension_flag == '1' |
adaptation_field_extension_length | | 8 | bslbf |
ltw_flag | | 1 | bslbf |
piecewise_rate_flag | | 1 | bslbf |
seamless_splice_flag | | 1 | bslbf |
reserved | | 5 | '11111' |
if ltw_flag == '1' |
ltw_valid_flag | | 1 | bslbf |
ltw_offset | | 15 | bslbf |
end if |
if piecewise_rate_flag == '1' |
reserved | | 2 | '11' |
piecewise_rate | | 22 | uimsbf |
end if |
end if |
end if |