본문 바로가기

DirectShow

Using the Advanced Settings of the Windows Media Video 9 Codec

Using the Advanced Settings of the Windows Media Video 9 Codec

Feedback
E-mail us with your comments and feedback about this article.
 
Abstract
Describes the advanced settings of the Windows Media Video 9 codec.

 

Alex Zambelli
Jay Loomis
Microsoft Corporation
August 2007
 

Applies to:
   Microsoft® Windows Media® Encoder 9 Series
   Microsoft Windows Media Format 11 SDK
   Microsoft Media Foundation SDK
 

Contents


Introduction

The version of Windows Media Video 9 codec introduced in the Windows Media Format 11 SDK and Windows Vista supports a number of advanced settings that can be used to fine tune video encoding. This article describes the advanced settings and provides some background information about the codec.

When developing applications based on the Windows Media Audio and Video Codec APIs, the advanced settings of the Windows Media Video 9 codec can be controlled using APIs. However, all of the advanced settings are also available in the form of registry keys in order to make the advanced codec settings backwards-compatible with legacy applications such as Windows Media Encoder 9 Series, which do not have any API or user interface elements for the new codec settings. This article focuses on the advanced settings that are accessible as registry keys.

For information about accessing the advanced settings via the APIs of the Windows Media Encoder DMO, refer to the Windows Media Audio and Video Codec and DSP APIs documentation.

For more information about the features of the Windows Media Video 9 codec, refer to the Windows Media Format SDK documentation.

Back to the top of this pageBack to Top


Windows Media Video 9 Codec and VC-1

The Society of Motion Picture and Television Engineers (SMPTE) has established a new video codec specification called VC-1. This specification was proposed by Microsoft and is based on the technology developed for the Windows Media Video 9 codecs. The VC-1 standard is published in SMPTE 421M-2006, VC-1 Compressed Video Bitstream Format and Decoding Process. VC-1 has three complexity profiles: simple, main, and advanced. Higher profiles offer more features and more efficient encoding tools, but also increase the required processing power on both the encoding and decoding side.

The original Windows Media Video 9 codec is Microsoft's implementation of both simple and main profiles of VC-1. It uses the FOURCC code WMV3. The Windows Media Video 9 Advanced Profile codec is Microsoft's implementation of the advanced profile of VC-1. Only the versions of the Windows Media Video 9 Advanced Profile codec that use the FOURCC code WVC1 are fully compliant with the SMPTE standard. Due to the nature of product release cycles over the years, the Microsoft implementation of VC-1 is therefore split across two distinct codecs: Windows Media Video 9, and Windows Media Video 9 Advanced Profile. Though Windows Media Video 9 Advanced Profile is commonly referred to as the VC-1 codec, it’s important to note that it is actually both codecs that comply with the standard and form Microsoft’s VC-1 codec implementation.

Back to the top of this pageBack to Top


Windows Media Video 9 Codec Versions

Though all of the registry settings described in this article apply to the version of Windows Media Video 9 codec found in Windows Media Format 11 SDK and Windows Vista, some of the registry settings are also applicable to earlier versions of the Windows Media Video 9 Advanced Profile codec in particular.

The original version of the Advanced Profile codec (included in the 32-bit Windows Media Format 9.5 SDK) used the FOURCC code WMVA. This version of the codec is now considered deprecated. You should not use this version of the codec to encode new content because it is not fully compliant with the published VC-1 standard.

When Windows Media Encoder 9 Series x64 Edition was released, a VC-1 compliant version of the Windows Media Video 9 Advanced Profile codec was created to take advantage of the performance benefits offered by 64-bit operating systems. This version of the codec is only available on 64-bit versions of Windows XP Professional and the Windows Server 2003 operating systems that have Windows Media Encoder 9 Series x64 Edition installed. This version of the codec is referred to in this article as the 64-bit Windows Media Format 9.5 codec. This version, as well as all subsequent Advanced Profile codec versions, use the FOURCC code WVC1.

The most recent versions of Windows Media Video 9 and Windows Media Video 9 Advanced Profile codecs are the ones found in 32-bit and 64-bit versions of the Windows Media Format 11 SDK, and use the FOURCC codes WMV3 and WVC1, respectively.

You can get the latest Windows Media codecs by installing one of the following products:
  • Windows Media Player 11 for Windows XP or Windows XP Professional x64 Edition. Note that the latter version, despite being intended for a 64-bit operating system, actually contains 32-bit components.
  • Windows Media Format 11 SDK for Windows XP.
  • Windows Vista (32-bit and 64-bit).
  • Windows Media Encoder 9 Series x64 Edition. When installed on Windows XP Professional x64 or Windows Server 2003 x64 operating systems, this version of the encoder application also installs a 64-bit version of the Windows Media Format 9.5 runtime including a VC-1 compliant Windows Media Video 9 Advanced Profile codec. We recommend using the more recent WM Format 11 versions of the codecs whenever possible.

In this article both Windows Media Video 9 and Windows Media Video 9 Advanced Profile codecs are referred to as Windows Media Video 9 unless noted otherwise.

Back to the top of this pageBack to Top


Registry Settings

The registry settings in this section control the advanced settings of the Windows Media Video 9 codecs. These registry settings are not created by default when the codec is installed. You must add the settings that you want to use.

Most of the registry settings involve a tradeoff between image quality and encoding speed. After these settings are added to the registry, all programs that use the Windows Media Video 9 codecs will use them. In some cases, adding a registry setting will override logic that is built into the codec for controlling advanced features based on content analysis. The results of such an override may not be satisfactory, and you can only reactivate the logic by deleting the registry setting.

All settings should be added under the following registry key:

\\HKEY_CURRENT_USER\Software\Microsoft\Scrunch\WMVideo

 Note   If the \\HKEY_CURRENT_USER\Software\Microsoft\Scrunch registry key does not exist on your computer, you can create it manually.

 Note   When running an encoder application in WOW64 mode on 64-bit Windows operating systems, the registry settings will need to be stored in the 32-bit equivalent node \\HKEY_CURRENT_USER\Software\Wow6432Node\Microsoft\Scrunch.

The advanced settings are:

Compression Optimization Type

The Compression Optimization Type registry setting is a preset selection of values for the other registry settings. If you explicitly set one of the affected settings, that set value will override the preset specified by this setting.

Data Type

REG_DWORD

Valid Values

This registry setting must be set to one of the following values.

ValueDescription
0
The codec will not use a preset and will use whatever features are specified in other registry settings. This is the default value.
1
Enables the features that will produce the best visual quality.

Using this value configures the codec as if you had set the following registry settings:
  • Motion Search Level = 1
  • Motion Match Method = -1
  • Dquant Option = 2
  • Motion Search Range = -1
  • NumBFrames = 1
  • Motion Vector Cost Method = 1
  • Force LoopFilter = 1
If any of the settings in the previous list are set in the registry, the value in the registry overrides the values associated with this setting.

Also note that this preset sets the encoder complexity to 3 (on a 0 to 5 scale) regardless of the complexity specified by the encoder application.

Supported Codec Versions

Windows Media Format 11 only

Supported Profiles

Advanced, Main

DenoiseOption

The Denoise Filter is a built-in noise reduction filter. It can improve the quality of noisy video sources, such as film containing lots of grain or video shot in low light. Although denoising is generally performed during the preprocessing step of video production, this filter can be used in live encoding scenarios where external preprocessing is not an option. The filter should be disabled for clean sources.

Data Type

REG_DWORD

Valid Values

This registry setting must be set to 0 or 1. 0 indicates that the codec will not use the noise filter; 1 indicates that it will. The default value is 0 (disabled).

Supported Codec Versions

Windows Media Format 11

64-bit Windows Media Format 9.5

Supported Profiles

Advanced, Main, Simple

Dquant Option

The Dquant Option registry setting specifies the types of frames that dquant perceptual optimization will be applied to.

Dquant, or differential quantization, is a form of perceptual optimization where the amount of compression is varied on different parts of the frame. Dquant allows macroblocks containing smooth or dark areas to be encoded at a quantizer level lower than the rest of the image, yielding more accurate detail encoding in those macroblocks. Dquant can improve video quality in smooth areas containing very fine detail or gradients, or very dark uniform areas because those areas are prone to blocking artifacts at high quantizer levels.

The drawback to using dquant is that using lower QPs for certain macroblocks can use up too many bits for the entire frame, resulting in a higher general QP for the rest of the macroblocks in the frame. In other words, improved quality in targeted areas might result in reduced quality in the rest of the image. Using more than two levels of quantizers can also add an additional overhead to compressed sample sizes due to the necessity to signal different quantizer levels for each macroblock.

Dquant applied to I and P frames only usually produces the best results.

If this optimization is activated, the strength of optimization is controlled by the Dquant Strength value.

Data Type

REG_DWORD

Valid Values

This registry setting must be set to one of the following values.

ValueDescription
0
Dquant will not be used. This is the default value.
1
Apply dquant to I frames only.
2
Apply dquant to I and P frames.
3
Apply dquant to I, P, and B frames.

Supported Codec Versions

Windows Media Format 11 only

Supported Profiles

Advanced

Dquant Strength

The Dquant Strength registry setting specifies the method and strength of the dquant application.

Regular dquant methods determine the lower macroblock quantizer values relative to the frame quantizer level set by the rate control. Fixed dquant methods use a fixed QP value for all macroblocks that match the target profile (smooth, dark).

This value is used only if the Dquant Option value is set to 1, 2, or 3. The value of Dquant Option specifies the types of frames that dquant will be applied to.

Data Type

REG_DWORD

Valid Values

This registry setting must be set to one of the following values.

ValueDescription
0
Regular dquant. This is the default value.
1
Fixed QP = 2 dquant for smooth areas.
2
Fixed QP = 1 dqaunt for very smooth areas.
3
Fixed QP = 1 dquant for dark areas.
4
Regular dquant for dark areas.

Supported Codec Versions

Windows Media Format 11 only

Supported Profiles

Advanced

Force B Frame Delta QP

Force B Frame Delta QP sets a fixed delta increase between the reference frame's quantizer QP level and the B frame's QP level.

Picture quantizer parameter (QP) is a measurement of how compressed a frame is. Low values mean low compression ratios, and high values mean high compression ratios. QPs can be set in half-point increments. A B-frame is typically compressed at a QP higher than its reference frame's QP. The typical delta increases with higher QP values.

Reducing the QP of B-frames by a fixed delta, perhaps counterintuitively, can actually improve the quality of a B-frame because more bits become available to be used towards reference frames on which the B-frame itself is based.

B-Frame Delta QP can only be set in whole-point increments. Setting the B-Frame Delta QP too high can cause blurring in B-frames and produce a pulsing effect when viewing in sequence with other frames.

Data Type

REG_DWORD

Valid Values

This registry setting must be set to a value from 0 to 31. If it is not set, the encoder will use a variable delta QP based on the QP of the reference frame (default).

Supported Codec Versions

Windows Media Format 11 only

Supported Profiles

Advanced, Main

Force Encoding Height and Force Encoding Width

The Windows Media Format SDK and Windows Media Encoder enable you to specify an output frame size for a video stream. The output size is the frame size that is normally used in the encoded stream. You can use the Force Encoding Height and Force Encoding Width registry settings to specify a different frame size for the encoded bit stream. By using these settings, you can reduce the size of the encoded video stream. However, as with all resizing, the quality of the output image may be affected.

If the Force Encoding Height and Force Encoding Width registry settings are set, the codec will compress the video at the resolution they describe. When the video stream is decoded, the default output frame size is the size that was specified in the profile used during encoding. The codec will resize the frames from their intermediate size as needed.

Data Type

REG_DWORD

Valid Values

Both Force Encoding Height and Force Encoding Width take a value specifying the dimension of the video frame in pixels. The value specified must be less than the corresponding dimension of the input video frame. The minimum size is 32 and the maximum size is 8192. If you set either value to 0, the codec will ignore that value and use the corresponding source size.

The width must be a multiple of 32. Otherwise, the value will be rounded up to the nearest multiple of 32.

Supported Codec Versions

Windows Media Format 11

64-bit Windows Media Format 9.5

Supported Profiles

Advanced

Force LoopFilter

The Force LoopFilter registry setting specifies the usage of an in-loop filter at encoding time. In-loop filtering is a deblocking method that is applied at both encoding and decoding time. Blocking artifacts are reduced at encoding time ("in the loop") so that future P and B frames don't carry forward the blocking artifacts.

Although the in-loop filter can lead to reduced image detail in some frames, the overall video quality benefits noticeably. The biggest downside to using in-loop filtering is the additional decoding performance cost, which can be a problem for low-end playback configurations.

Data Type

REG_DWORD

Valid Values

This registry setting must be set to 0 or 1. 0 indicates that the codec will not use the loop filter; 1 indicates that it will. The default value is 0 (disabled).

Supported Codec Versions

Windows Media Format 11

64-bit Windows Media Format 9.5

Supported Profiles

Advanced, Main

Force Median

The Force Median registry setting specifies indicates that the codec should ignore noise and grain when calculating motion between frames. This can improve the quality of very noisy video, but can lead to "trailing" artifacts when applied to clean source video.

Note that this filter is not the same as median blur filters found in many video editing and post-processing applications.

Data Type

REG_DWORD

Valid Values

This registry setting must be set to 0 or 1. 0 indicates that the codec will not use median filtering; 1 indicates that it will. The default value is 0 (disabled).

Supported Codec Versions

Windows Media Format 11

64-bit Windows Media Format 9.5

Supported Profiles

Advanced, Main, Simple

Force NoiseEdgeRemoval

The Force NoiseEdgeRemoval registry setting specifies whether the codec should attempt to detect noisy frame edges and remove them.

A noisy frame edge is usually the vertical blanking interval (VBI) data from a frame of broadcast television. The VBI is the first 21 scan lines of the television frame. These scan lines do not contain video data—they contain data about the broadcast. When a television signal is recorded by a capture card, the VBI is usually removed from the frame. The noisy edge detection and correction performed by the codec can only correct an edge that has three or fewer lines of noise. If captured video contains more than three noisy lines, there is a problem with the hardware used to capture the video.

If the codec is set to remove noisy edges, it duplicates lines adjacent to the noisy edge to fill in the frame.

Data Type

REG_DWORD

Valid Values

This registry setting must be set to 0 or 1. 0 indicates that the codec will not remove edge noise; 1 indicates that it will. The default value is 0 (disabled).

Supported Codec Versions

Windows Media Format 11

64-bit Windows Media Format 9.5

Supported Profiles

Advanced, Main, Simple

Force NumThreads

The Force NumThreads registry setting specifies the number of threads to be used for video encoding.

Computers with multiple processor cores can take advantage of multithreaded encoding to shorten encoding times. Windows Media Format 11 version of the codec supports up to 4 parallel encoding threads. The codec will automatically detect the number of CPUs available to the operating system and select the highest number of threads that matches the number of available cores.

Splitting encoding tasks into multiple threads can cause a slight decrease in quality as compared to a single thread.

Data Type

REG_DWORD

Valid Values

This registry setting should be set to 1, 2, or 4. Other values will be rounded down. The default value is to automatically detect the number of cores present.

Supported Codec Versions

Windows Media Format 11

64-bit Windows Media Format 9.5

Supported Profiles

Advanced, Main, Simple

Force Range Reduction

The Force Range Reduction registry setting specifies the degree to which the codec should reduce luma and chroma range of the video. Reducing range reduces the size of encoded video frames but also reduces the luma and chroma detail of the video.

Range reduction actually consists of reduction during encoding and expansion during decoding. It is possible to make the expansion factors different than the reduction factors, but this is not recommended in most scenarios where range remapping is useful.

Range reduction and expansion is performed separately on luma (Y) and chroma (UV) channels. Reducing range can be an efficient way to reduce the complexity of low bit rate video without sacrificing image detail. Setting all four values to 8 reduces the amount of luma and chroma information by half, leaving more bits to be directed at preserving image detail.

The codec can automatically use range reduction when encoding video at very low bit rates. Setting all four values to 0 completely disables range reduction, even in low bit rate scenarios.

Data Type

REG_DWORD

Valid Values

This registry setting is a combination of four values, separated by zeros, formatted as 0x0Y0y0C0c, where:
  • Y is the encoding range reduction factor for the Y component.
  • y is the decoding range expansion factor for the Y component (usually the same as Y).
  • C is the encoding range reduction factor for the UV component.
  • c is the decoding range expansion factor for the UV component (usually the same as C).

Each factor is a digit from 0 to 8, where 0 is no reduction or expansion and 8 is the maximum reduction or expansion.

If you set the value to 0x00000000, range reduction is completely disabled.

If you set the value to 0xFFFFFFFF, the codec ignores the registry setting and uses its internal logic to determine whether range reduction should be used. This is the default.

Supported Codec Versions

Windows Media Format 11

64-bit Windows Media Format 9.5

Supported Profiles

Advanced

Force Overlap

The Force Overlap registry setting controls the overlap smoothing filter function which can reduce blocking in video by smoothing borders of adjacent macroblocks.

Overlap smoothing tends to make the image softer, but can reduce artifacts in low bit rate video that would otherwise exhibit a lot of blocking artifacts.

Data Type

REG_DWORD

Valid Values

This registry setting must be set to 0 or 1. 0 indicates that overlap smoothing will not be used, 1 indicates that it will. The default value is 0 (disabled).

Supported Codec Versions

Windows Media Format 11 only

Supported Profiles

Advanced, Main, Simple

Force Video Scaling

The Force Video Scaling registry setting specifies whether the codec will can compress the luma range before encoding in order to improve encoding efficiency and reduce blocking artifacts at high quantizer levels. This scaled luma range is not expanded back to its original range in decoding, unlike it is with the Range Reduction feature.

Data Type

REG_DWORD

Valid Values

This registry setting must be set to one of the following values.

Value Description
0
Video scaling will not be used. This is the default value.
1
Conservative option compresses the luma range to [26..229].
2
Aggressive option compresses the luma range to [31..224].

Supported Codec Versions

Windows Media Format 11 only

Supported Profiles

Advanced, Main, Simple

Lookahead

The Lookahead registry setting specifies the number of future frames that the codec will evaluate before encoding the current frame. When the codec uses lookahead, it can encode the video more efficiently.

Lookahead is only used in 1-pass encoding modes. With the maximum value of 16, the codec is able to know what the next 16 frames look like before deciding what type of coding to use for the current frame. It is able to detect flashes, scene changes, fades and dark frames. Flashes are most effectively encoded as B-frames. Scene changes can force an I-frame insertion. Fades can trigger special intensity compensation encoding.

If B-frame number is greater than 0, using Lookahead will also cause the codec to adaptively insert B-frames in certain scenarios (for example, flash detection). To avoid problems with Simple Profile encoding (which doesn't support B-frames), you should explicitly set NumBFrames to 0 when Lookahead is used with Simple Profile.

Note that the writer object of the Windows Media Format SDK expects the codec to encode each sample immediately. Any data unit extensions associated with video frames will be attached to the wrong output frame. The number of frames by which the data unit extensions are misplaced is equal to the number of frames of lookahead that are used.

Data Type

REG_DWORD

Valid Values

This registry setting value is the number of frames of lookahead to use. It can be set to 0 to disable lookahead, or to any integer from 1 to 16 to enable that many frames of lookahead. The default value is 0.

Supported Codec Versions

Windows Media Format 11

64-bit Windows Media Format 9.5

Supported Profiles

Advanced, Main, Simple

Macroblock Mode Cost Method

The Macroblock Mode Cost Method registry setting specifies the cost method used by the codec to determine which macroblock mode to use.

Data Type

REG_DWORD

Valid Values

This registry setting must be set to one of the following values.

ValueMethod used
0
SAD/Hadamard. This option uses only distortion when computing cost and uses the same cost method as the one selected in Motion Match Method option. The default for complexities 3 and higher.
1
RD cost. This option configures the codec to account for both rate and distortion when computing cost. The default for complexities 2 and lower.

Supported Codec Versions

Windows Media Format 11 only

Supported Profiles

Advanced, Main, Simple

Motion Match Method

The Motion Match Method registry setting specifies the transform method used for motion matching.

SAD (Sum of Absolute Differences) is a faster but less accurate method than the Hadamard transform. Because Hadamard transforms are very computationally intensive, an automatic (macroblock-adaptive) mode exists which can dynamically choose between the two methods, providing a reasonable compromise between Hadamard quality and SAD performance.

Data Type

REG_DWORD

Valid Values

This registry setting must be set to one of the following values.

ValueMethod used
0
SAD (default)
1
Hadamard
-1
Macroblock-adaptive. This option configures the codec to make decisions about which method to use on each macroblock. This can potentially reduce overall computation required for encoding by performing the computationally intensive Hadamard transform only when appropriate.

Supported Codec Versions

Windows Media Format 11 only

Supported Profiles

Advanced, Main, Simple

Motion Search Level

The Motion Search Level registry setting controls whether and how color is used in motion searches.

By default the codec performs motion search only in the luma channel. Including chroma in motion estimation can significantly improve the quality of encoded video. Motion search with luma and true chroma will yield the best quality, but at the highest performance cost. The nearest-integer chroma mode provides reasonable compromise between quality and performance.

Data Type

REG_DWORD

Valid Values

This registry setting must be set to one of the following values.

ValueVideo information used
0
Luma only. This is the default value.
1
Luma with nearest-integer chroma.
2
Luma with true chroma.

Supported Codec Versions

Windows Media Format 11 only

Supported Profiles

Advanced, Main, Simple

Motion Search Range

The Motion Search Range registry setting controls the size of the area the codec will search for an element of a frame that may have moved from a previous frame. A larger search window will help find faster motion, but will require more CPU time. The CPU requirements roughly double at each level. Setting the search range too high can also lead to false positives so it's important to set the motion search window to a range adequate for the video.

The frame adaptive mode will dynamically select the most efficient mode, with maximum range never exceeding ±512.0 H, ±128.0 V.

Data Type

REG_DWORD

Valid Values

This registry setting must be set to one of the following values. H denotes horizontal range and V denotes vertical range. All ranges are given in pixels.

ValueRange
0
+63.75/-64.0 H, +31.75/-32.0 V (default)
1
+127.75/-128.0 H, +63.75/-64.0 V
2
+511.75/-512.0 H, +127.75/-128.0 V
3
+1023.75/-1024.0 H, +255.75/-256.0 V
-1
Frame-adaptive

Supported Codec Versions

Windows Media Format 11 only

Supported Profiles

Advanced, Main

Motion Vector Coding Method

The Motion Vector Coding Method registry setting specifies the bin sizes used to code delta motion vector distributions in field pictures. Larger bins are more efficient at storing wider distributions of delta motion vectors. Wide delta MV distributions are typical of videos containing lots of random motion.

Field pictures are only used in interlaced video encoding.

Data Type

REG_DWORD

Valid Values

This registry setting must be set to one of the following values.

Value Description
0
Default bin size.
1
Double horizontal bin size.
2
Double vertical bin size.
3
Double bin size in both directions.

Supported Codec Versions

Windows Media Format 11 only

Supported Profiles

Advanced

Motion Vector Cost Method

The Motion Vector Cost Method registry setting specifies the method used to estimate the cost of motion vector coding. The cost is a measure of the amount of processing needed to encode the content. The codec uses the cost to determine which features will be used in encoding.

Data Type

REG_DWORD

Valid Values

This registry setting must be set to one of the following values.

ValueDescription
0
Static. The encoder will use the same motion vector cost estimate for all macroblocks.
1
Adaptive. The encoder will vary the motion vector cost between macroblocks to achieve optimal visual quality.

Supported Codec Versions

Windows Media Format 11 only

Supported Profiles

Advanced, Main, Simple

NumBFrames

The NumBFrames registry setting specifies the number of bidirectional predictive frames (B-frames) that the codec will use between other types of frames.

By default, the codec only uses intraframes (I-frames, keyframes), which are fully encoded frames, and predictive frames (P-frames), which are encoded as the differences from the previous reference frame. B-frames are different from P-frames because they store both the differences from the previous frame and the differences from the following frame.

An advantage of using B-frames is that an error in a B-frame will not propagate to subsequent frames because the encoder does not use B-frames as reference frames.

When you configure the codec to use B-frames, it will use the specified number of B-frames between each pair of frames of either I or P types. For example, if a sequence of frames without B-frames is IPPPPPPPPI, the same sequence using two B-frames might be IBBPBBPBBI.

For most content, one or two B-frames are appropriate. At higher data rates, one B-frame is normally the optimal choice. Three or more are rarely useful.

Note that the writer object of the Windows Media Format SDK expects the codec to encode each sample immediately. Any data unit extensions associated with video frames will be attached to the wrong output frame. The number of frames by which the data unit extensions are misplaced is equal to the number of B-frames that are used.

Data Type

REG_DWORD

Valid Values

This value is the number of B-frames to use between other types of frames. It can range from 0 to 7, with 0 indicating that B-frames will not be used. The default value is 0 (no B-frames used).

Supported Codec Versions

Windows Media Format 11

64-bit Windows Media Format 9.5

Supported Profiles

Advanced, Main

Perceptual Option

The Perceptual Option registry setting specifies whether the codec should use perceptual optimizations when encoding. Perceptual optimization are encoding methods that emphasize preserving fine details at the expense of losing sharpness in less subtle, highly textured areas. The key perceptual optimization method supported is the adaptive dead zone.

Unlike dquant encoding which uses different quantizer levels for macroblocks within the image, adaptive dead zone methods use the same quantizer level for the entire image but vary the width of the quantizer dead zone depending on the level of textures in the image.

The dead zone is the DCT coefficient area below the lowest quantizer level where values get discarded during the quantization process. Lowering the width of the dead zone allows subtle details to get quantized at the expense of richer textures being more coarsely quantized.

The main two adaptive dead zone methods are able to dynamically reduce the width of the dead zone, thus allowing subtle details such as film grain or smooth areas to be encoded more accurately. The remaining adaptive dead zone methods define a minimum dead zone width for the quantization. Higher values will increase the dead zone width and lose more fine detail in the encoded image.

Adaptive dead zone can also be used with Dquant Option and Dquant Strength for an even more aggressive approach to perceptual optimization. While usually effective on film sources, these methods are not "one size fits all" encoding enhancements and should be used with caution on unfamiliar source content.

Data Type

REG_DWORD

Valid Values

This registry setting must be set to one of the following values.

ValueDescription
0
No perceptual optimization.
1
Legacy dquant method for I and P frames. This method is deprecated in favor of Dquant Option.
2, 3
Adaptive dead zone.
4 - 18
Adaptive dead zone of custom width. Higher values will increase the minimum dead zone and lose more fine detail.

Supported Codec Versions

Windows Media Format 11

64-bit Windows Media Format 9.5

Supported Profiles

Advanced, Main, Simple (all except value 1)

VideoType

The VideoType registry setting specifies the picture encoding method used for progressive or interlaced video encoding.

Setting VideoType alone is not enough to produce interlaced output—interlaced encoding must be enabled in the encoder application too. The overall video encoding mode (progressive or interlaced) can be set when you create the encoding session in the encoder application. If interlaced encoding mode is not enabled, VideoType will have no effect.

When interlaced video is being encoded, it's possible to specify several picture encoding methods. Typically the most efficient and fastest way to encode interlaced video is using the interlaced field method. If the source video contains very little motion, interlaced frame or adaptive interlaced modes might be more suitable. When encoding mixed content (containing both progressive and interlaced frames), it's best to use the fully adaptive method for highest encoding efficiency.

Data Type

REG_DWORD

Valid Values

This registry setting must be set to one of the following values.

ValueDescription
0
The codec will encode all pictures as progressive frames.
1
The codec will encode all pictures as interlaced pairs of fields.
2
The codec will encode all pictures as interlaced frames.
3
The codec will automatically choose the most efficient method to encode each picture: as either interlaced frames or interlaced fields.
4
The codec will automatically choose the most efficient method to encode each picture: as interlaced frames, interlaced fields, or progressive frames.

Supported Codec Versions

Windows Media Format 11 only

Supported Profiles

Advanced

Back to the top of this pageBack to Top


For More Information


Back to the top of this pageBack to Top