From MPEG Video Compression Standard
10.6 MPEG-2 macroblock header
If the macroblock_address_increment is greater than 1, macroblocks are skipped. Except for the macroblock stuffing code, the MPEG-1 codes given in Table 8.6 are used for macroblock_address_increment. Macroblock stuffing is not allowed in MPEG-2, except in MPEG-1 compatibility mode. Zero stuffing is allowed at slice start code boundaries.
The macroblock_modes() function communicates the macroblock_type data element and extra motion vector related information. It is described in more detail later in this section. If the macroblock_quant_flag is 1 as derived from macroblock_type, then quantiser_scale_code is changed.
macroblock() { /* from ISO 13818--2 6.2.5 */ while (nextbits(11)==`00000001000') /* while macroblock escape */ macroblock_escape(11); /* r/w '0000 0001 000' */ macroblock_address_increment(1--11); /* r/w mb address increment */ macroblock_modes(); ...Products & Services
Topics of Interest
10.7 MPEG-2 block(i) function Figure 10.25 gives pseudocode for the block(i) function. The block(i) function only codes coefficients for blocks with pattern_code [i] nonzero. If the block is intra...
10.8 MPEG-2 MP@ML and SP@ML additional restrictions Most of the restrictions for main profile at main level have been identified in the data elements code tables. However, there are some additional...
10.2 MPEG-2 video sequence The pseudocode in Figure 10.1 defines the syntax for an MPEG-2 video sequence. In an MPEG-2 bitstream if the first sequence header is followed immediately by the...
10.9 MPEG-2 MP@ML video data elements Table 10.28 lists all data elements for MPEG-2 main profile at main level in alphabetical order in the form that they appear in the pseudocode. If a data...
Video Bitstream Figure 13.5 illustrates the video bitstream, a hierarchical structure with seven layers. From top to bottom the layers are: Video Sequence Sequence Header Group of...