This area is for testing, and not part of the AV1 bitstream document. {:.alert .alert-danger style="margin-top: 120px;"}
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris mollis pretium lectus, pretium aliquet purus consequat quis. Aenean tincidunt sit amet sem sit amet pellentesque. Aliquam bibendum neque ac magna semper, et efficitur lectus consectetur. Mauris sodales risus tincidunt sapien ornare, volutpat cursus ex molestie. Nunc sed aliquam ex, nec ornare sem. Cras vel felis sit amet mauris accumsan ullamcorper. Pellentesque vehicula, ante eu suscipit ultricies, nulla metus ultricies dui, id lacinia metus nibh sed orci.
Heretical Syntax Tables
Below is a syntax table marked up as an HTML <table>
. While a bit awkward to
construct, it's made much less awkward by placing the elementation notation in
the first column -- which leaves the right column free to overflow. This has the
further advantage of breaking gracefully on rows in a print-like presentation.
Sadly, (1) each line of code must be delimited with backticks (`) or the
leading indentation is flattened, and (2) pipe characters within code must be
backslash-escaped so they're not mistaken for cell delimiters.
An alternative post-proc method for preserving indentation might replace each
leading space in table.syntax td:nth-child(2)
with a non-breaking space
(
). This would avoid the need for backticks, but pipes would still need
escaping.
{:.bs-callout .bs-callout-info }
Corner-case kramdown bug
Actually, the table below exposes a kramdown bug. Each line of pseudocode is
delimited with backticks except for line 3 (@@profile_low_bit
). For reasons
unknown, delimiting this string with backticks breaks table transformation.
{:.alert .alert-warning }
{:.no_toc .no_count }
Type | Pseudocode |
---|---|
uncompressed_header( ) { |
|
f(2) | @@frame_marker |
f(1) | @@profile_low_bit |
f(1) | @@profile_high_bit |
Profile = (profile_high_bit << 1) + profile_low_bit |
|
if ( Profile == 3 ) |
|
f(1) | @@reserved_zero |
f(1) | @@show_existing_frame |
if ( show_existing_frame == 1 ) { |
|
f(3) | @@frame_to_show_map_idx |
header_size_in_bytes = 0 |
|
refresh_frame_flags = 0 |
|
loop_filter_level = 0 |
|
return |
|
} |
|
LastFrameType = frame_type |
|
f(1) | @@frame_type |
f(1) | @@show_frame |
if ( frame_type == KEY_FRAME || show_frame ) { |
|
intra_only = 0 |
|
} else { |
|
f(1) | @@intra_only |
} |
|
} |
|
{:.syntax } |
Proin dapibus nisl nec velit feugiat, et volutpat turpis euismod. Nulla suscipit a orci et congue. Suspendisse potenti. Sed vestibulum justo in erat blandit, nec placerat orci dictum. Ut ultricies facilisis arcu ut malesuada. Quisque sapien purus, vestibulum et vulputate eu, vulputate at lacus. Curabitur quam ante, viverra eu molestie id, fermentum sit amet odio. Pellentesque efficitur risus sit amet consectetur dictum. Maecenas ut ultrices velit. Donec eleifend mi ipsum, egestas consectetur magna suscipit at.
Donec ac turpis ligula. Nulla sed lectus nec ex feugiat hendrerit ac in lorem. Etiam tempus, augue vel blandit maximus, velit massa dapibus eros, in semper justo eros nec odio. Aenean vulputate mattis varius. Donec nisi sapien, efficitur a risus at, sollicitudin aliquet leo. Donec commodo mi quis nunc porttitor efficitur. Sed id pulvinar urna, at malesuada ligula. Vestibulum vitae viverra lectus, in accumsan erat. Nulla elit nibh, dapibus vitae dignissim vitae, blandit et nulla. Donec eleifend bibendum tincidunt. Sed convallis risus tincidunt tellus elementum, volutpat egestas ipsum placerat. Phasellus ante massa, elementum vel nunc sit amet, venenatis suscipit justo. Pellentesque eu libero id magna vehicula facilisis. Ut luctus dictum enim quis cursus. Vivamus sem tortor, tristique in justo et, aliquam vehicula ipsum.
Nullam fringilla elit quis diam tristique scelerisque. Vivamus scelerisque eget leo eu maximus. Vestibulum vitae hendrerit turpis. In ornare feugiat odio, id pellentesque lectus convallis et. Integer commodo eros eget mi lacinia, non fringilla metus eleifend. Nam nisl tortor, suscipit ac lorem at, dignissim convallis elit. Proin et dapibus erat. Praesent at nibh pellentesque, dapibus lacus ut, blandit sapien. Sed quis suscipit ante.
Nulla facilisi. Maecenas dictum tristique nunc, vel tempor tellus faucibus in. Maecenas ipsum enim, vehicula id augue at, commodo placerat purus. Praesent condimentum volutpat leo quis porta. Fusce suscipit metus vitae sapien rutrum, quis condimentum enim aliquet. Nullam non turpis blandit, tincidunt dui vitae, varius neque. Suspendisse ac pellentesque felis. Duis pulvinar congue ullamcorper. Aliquam tincidunt dignissim malesuada.