Set H.264 options

You can use the H.264 options in Microsoft Expression Encoder to refine the parameters for your MP4, or H.264, encoding.

Note

H.264 options are available only in Expression Encoder Pro, with the exception of the DreamSpark and MSDN versions of Expression Encoder Pro. If you have either of these versions, you may upgrade to the version of Expression Encoder that includes codecs.

To set H.264 options

  1. Click the Encode tab. If you can't see the Encode tab, on the Window menu, click Encode.

  2. Expand the Video category.

  3. Click Show/Hide advanced properties Ee341432.2f8a79a9-68d2-4878-8b75-c76ceb921b3b(en-us,Expression.40).png to view the H.264 Settings.

  4. Set the H.264 Settings options according to the following guidelines:

    • Entropy Mode   Specifies the type of entropy coding mode to use for encoding. Context-adaptive binary arithmetic coding (CABAC) is a lossless, complex encoding method. This is a good general mode to use for most encoding jobs. It is more complex than context-adaptive variable-length encoding (CAVLC), but it may take longer to encode and decode, especially at higher bit rates, than CAVLC. Although CAVLC is less complex and faster than CABAC, it is still a high-quality alternative, and it is a better choice if you think that your target playback medium may have difficulty decoding your content.

      Note

      CABAC is not available for the H.264 Baseline profile.

    • Reference Frames   Specifies the number of reference frames to create for each frame. In Expression Encoder, you can choose up to 16 reference frames for any frame. Generally, four reference frames are adequate for most digital video content. You may use more for motion graphic content.

    • B-Frame Number   Specifies the number of B-frames to create between I-frames and P-frames. B-frames are predicted frames that contain only the changed information between the previous and next frames. This option is not available for the Baseline profile.

    • Search range   Specifies the size of the area the codec will search for an element of a frame that may have moved from a previous frame. Generally, the more fast motion that your video contains, the larger a range value you should specify.

      Note

      Larger range values require more CPU time.

    • ME Partition Level   Defines the detail of the motion estimation calculation for the inter-predicted frames. The smaller the partition level, the better the compression quality. "ME" stands for Motion Estimation.

    • Multi-Reference Search   Specifies the guideline to follow when searching for motion in multiple frames. Click Speed or Quality to make the respective choice a priority when the codec performs a motion search. Click Balanced to give both speed and quality equal priority.

    • Sub-Block Search   Specifies the guideline to follow when searching for motion in macroblocks. Click Speed or Quality to make the respective choice a priority when the codec performs a sub-block motion search. Click Balanced to give both speed and quality equal priority.

    • RD Optimization   This is also known as rate-distortion optimization. Determines the ideal balance between encoding quality and the bits required to achieve that quality. Selecting this option will help maximize the quality of your final encoded media for the bit rate that you have specified, but will also increase your encoding time.

    • Subpixel mode    Specifies the depth of the pixel search mode. Half and Quarter gives the best results, but is also less efficient.

    • Slice Count   Specifies the number of sequences of macroblocks into which to divide a frame. H.264 compression allows for the video to be divided and encoded in slices. The codec encodes each slice as an independent stream. A motion vector (the calculation that describes the movement of an image) cannot cross the boundaries between slices. Slices can be I, P, or B streams. Generally, if you use slices, set one for every 64 pixels of height in your output, and use the CABAC Entropy Mode to achieve optimum bit-rate efficiency. This option is not available for the Baseline profile.

    • Threads Used   Specifies the number of threads that Expression Encoder will use to encode the media. This helps you take advantage of encoding on multicore machines. Utilizing multiple cores will help decrease your encoding time. Which values are displayed on this menu depends on the number of cores that your machine has. When encoding, Expression Encoder horizontally splits the video into the number of threads that you specify, and subsequently uses a separate core to encode each thread. In general, the larger the height of your video, the more threads you should use. Click Auto to have Expression Encoder set the optimum thread value.

    • Force 16 pixel dimensions   Constrains the width and height values of the video to multiples of 16. Decoders perform better when the video dimensions are a multiple of 16. Clearing this setting constrains the width and height values to multiples of 4.

    • Use Hadamard Transform   Achieves a higher compression ratio and a higher-quality compression. This method can be processor-intensive.

    • Reference B-Frames   Uses B-frames as reference frames. This option is not available for the Baseline profile.

    • Adaptive B-Frames   Places B-frames anywhere the complexity of the sequence requires. This option is active only if you chose the Main or High profile in the Video menu.

    • Scene change detection   Creates a keyframe (I-frame) at every detected scene change.

    • Fast Intra Decisions  Uses fewer calculations when compressing each frame, allowing for faster encoding.

    • Fast Inter Decisions   Uses fewer calculations when compressing all frames, allowing for faster encoding.

Send feedback about this topic to Microsoft. © 2011 Microsoft Corporation. All rights reserved.