View Full Version : Post Process & WMV9
Sagittaire
4th September 2003, 15:50
The Post-Process of the WMV9 is not Deblocking/dering like the PP of the MPEG4 but a smoother. The initial seeting for pp of WMV9 is 4 what is much too strong. :Use this reg for PP=1
http://jfl1974.free.fr/Video/PP-WMV9.reg
It's possible to make a PP deblocking/dering on the WMV9 with ffdshow but it will be necessary to choose in this case PP=0. It's also possible with the ffdshow to sharp image for those which want to have more visible details.
The ideal container for the WMV9 is the Matroska container.
http://jfl1974.free.fr/Video/Matroska-WM9.rar
temporance
4th September 2003, 21:50
To my eyes, WMV9 has basic in-loop deblocking enabled all the time (certainly at 'complex' setting). The registry postprocessing setting must control an out-of-loop filter.
Just my theories.
Tommy Carrot
4th September 2003, 22:14
I suppose, the deblocking of wmv9 works exactly the same way as mpeg4. There are some blocks definitely, if the postprocessing is switched off. I'm sure it has no in-loop filtering.
valipod
5th September 2003, 12:37
Can anyone say where one can get WMV9 Professional?
Sagittaire
5th September 2003, 13:16
Main, simple and complexe are hardware profil for decoding compatibility ... complexe is the profil for PC ...
The Post-Process for WMV9 isn't deblocking/dering. For demonstration use PP=0: CPU ressource uses are the same than MPEG4 with no PP ...
guldukat
8th March 2005, 08:05
the download of the .reg files is not working anymore, why didnt you post the reg files in plain text as a posting? that way it wouldnt get lost that easily like it is now
Sagittaire
8th March 2005, 09:31
post-process for WMV9 (http://multimediacom.free.fr/Video/WMVPostpross.exe)
:search:
Koepi
8th March 2005, 11:52
To clear up some misunderstandings about WMV9 seen some posts above:
- WMV9 uses inloop-deblocking. I didn't find "switchable" in the standard though, so it seems that it can only set the weight of the inloop filter.
- always uses PostProcessing - it has i.e. weighted prediction (fade-in/fade-out support) solved in post processing, thus it _must_ be active all the time. Though you might switch off the smoother filter maybe - but then you'll soon visually realize that WMV9 is a quite weak implementation of VC-1-proposal-standard.
This isn't meant as rant or anything, it's meant to be a technical reply.
Cheers
Koepi
RadicalEd
8th March 2005, 22:30
It was my understanding that WMV9AP uses loop filtering, but not the original WMV9.
SeeMoreDigital
8th March 2005, 22:51
Maybe somebody could confirm the post processing, de-blocking, b-frames etc differences between WMV9 streams encoded for use within the .AVI container and the .WMV container?
Cheers
Sagittaire
9th March 2005, 00:34
Introduction
The Windows Mediaź Video 9 Advanced Profile codec was introduced in the Windows Media Format 9.5 SDK and Windows Media Player 10. It 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.
For more information about the features of the Windows Media Video 9 Advanced Profile codec, refer to the Windows Media Format SDK documentation.
The advanced settings are enabled through registry settings. This is because the Windows Media Video 9 Advanced Profile codec must work with Windows Media Encoder, which has not been updated since Windows Media 9 Series and therefore does not have any user interface elements for the new codec.
Registry Settings
The registry settings in this section control the advanced settings of the Windows Mediaź Video 9 Advanced Profile codec. 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 the size of encoded samples. After these settings are added to the registry, all programs that use the Windows Media Video 9 Advanced Profile codec 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
The advanced settings are:
DenoiseOption
Encoding Height and Encoding Width
Encoding Range Reduction Control
Force Num Threads
Force NoiseEdgeRemoval
Force LoopFilter
Force Median
Lookahead
NumBFrames
Perceptual Option
DenoiseOption
The DenoiseOption registry value specifies whether the codec will use the noise filter when encoding. The noise filter attempts to detect and remove noise from the video frames.
Some types of noise are easier than others for the codec to detect. Using this feature may result in degraded video quality.
Data Type
REG_DWORD
Valid Values
This value can be set to 0 or 1. 0 indicates that the codec will not use the noise filter; 1 indicates that it will.
Encoding Height and 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 Encoding Height and Encoding Width registry values to specify a different frame size that will be used in 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 Encoding Height and Encoding Width registry values 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 Encoding Height and 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.
Encoding Range Reduction Control
The Encoding Range Reduction Control registry value specifies the degree to which the codec should reduce the effective color range of the video. Reducing the color range reduces the encoded size of video frames but can introduce blurriness in the decoded frames.
Without this value set in the registry, the codec determines whether to use range reduction at encoding time. Typically this option is selected by the codec only at low bit rates.
Data Type
REG_DWORD
Valid Values
This setting is a combination of four values, separated by zeros, formatted as 0x0M0m0N0n, where:
M is the encoding range reduction factor for the Y component.
m is the decoding range expansion factor for the Y component (usually the same as M).
N is the encoding range reduction factor for the UV component.
n is the decoding range expansion factor for the UV component (usually the same as N).
Each factor is a digit from 0 to 8, where 0 is no reduction/expansion and 8 is the maximum reduction/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.
Force Num Threads
The Force Num Threads registry value specifies the number of threads that the codec will use for encoding. This value is intended to divide encoding into multiple threads to take advantage of computers with multiple processors.
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 value can be set to 1, 2, or 4. Other values will be rounded down.
Force NoiseEdgeRemoval
The Force NoiseEdgeRemoval registry value 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 datathey 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 value can be set to 0 or 1. 0 indicates that the codec will not remove edge noise; 1 indicates that it will.
Force LoopFilter
The Force LoopFilter registry value specifies whether the codec should use the in-loop deblocking filter during encoding.
When the codec uses the in-loop deblocking filter, the edges of the macroblocks in the output video frames will not be as noticeable. However, the filter makes the image softer in appearance.
Data Type
REG_DWORD
Valid Values
This value can be set to 0 or 1. 0 indicates that the codec will not use the loop filter; 1 indicates that it will.
Force Median
The Force Median registry value specifies whether the codec should use median filtering during encoding. Median filtering can reduce the encoded size of the video stream, but can introduce compression artifacts. The artifacts associated with this filter can include motion trails behind moving objects in the image.
By default, the codec uses internal logic to determine whether median filtering should be used. If you add this setting to the registry, that logic will be overridden and the codec will always abide by the registry value.
Data Type
REG_DWORD
Valid Values
This value can be set to 0 or 1. 0 indicates that the codec will not use median filtering; 1 indicates that it will.
Lookahead
The Lookahead registry value specifies the number of frames after the current frame that the codec will evaluate before encoding the current frame. When the codec uses lookahead, it can encode the video more efficiently.
The writer object of the Windows Mediaź Format SDK expects the codec to encode each sample immediately. As a result, this feature does not work properly in software that uses the writer object (including Windows Media Encoder and Windows Media Player). 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 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 lookahead.
NumBFrames
The NumBFrames registry value specifies the number of bidirectional predictive frames (B-frames) that the codec will use between other types of frames. As a default, the codec does not use B-frames. It uses only intraframes (I-frames), which are fully encoded frames, and predictive frames (P-frames), which are encoded as the differences from the previous frame. B-frames, like P-frames, are predictive and store the changes from other frames. B-frames are different from P-frames because they store both the differences from the previous frame and the differences from the following frame.
The primary advantage of using B-frames is that an error in a B-frame will not propagate to subsequent frames as an error in a P-frame will.
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 of the other types. For example, if a sequence of frames without B-frames is IPPPPPPPPPPI, the same sequence using two B-frames might be IBBPBBPBBI. Note that the presence of B-frames can alter the number of delta frames (P-frames or B-frames) between I-frames. In the right circumstances, this could cause the configured key-frame distance to be exceeded by a few frames.
The writer object of the Windows Mediaź Format SDK expects the codec to encode each sample immediately. As a result, this feature does not work properly in software that uses the writer object (including Windows Media Encoder and Windows Media Player). 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.
Perceptual Option
The Perceptual Option registry setting specifies whether the codec should use conservative perceptual optimization when encoding. Conservative perceptual optimization is a process by which the codec attempts to identify "important" and "unimportant" regions in the video frame. After identifying the regions of the frame, the codec will give a higher priority to the quality of important regions, at the expense of the quality of unimportant regions.
The results of this feature will vary considerably depending on the types of video being encoded.
Data Type
REG_DWORD
Valid Values
This value can be set to 0 or 1. 0 indicates that the codec will not use conservative perceptual optimization; 1 indicates that it will.
Using the Windows Media Video 9 Advanced Profile Codec with Windows Media Encoder
Windows Mediaź Encoder was not updated along with Windows Media Player 10 and the other Windows Media components. It is in part because of this that some features of the Windows Media Video 9 Advanced Profile codec were implemented as registry settings.
If you install Windows Media Player 10, the Windows Media Video 9 Advanced Profile codec is installed automatically and will appear in the list of codecs in Windows Media Encoder.
To use the Windows Media Video 9 Advanced Profile codec, you must create a stream in a profile just as with the other codecs. Note that two-pass encoding is not supported for this codec at this time.
Windows Media Video 9 Advanced Profile Codec and VC1
Microsoft is in the process of working with the Society of Motion Picture and Television Engineers (SMPTE) to establish a new video codec specification. This specification does not currently have an official number and is referred to as VC1. VC1 has three distinct modes of operation, or profiles, that each support different features: simple profile, main profile, and advanced profile.
The Windows Mediaź Video 9 codec is Microsoft's implementation of both the simple profile and the main profile of VC1. The Windows Media Video 9 Advanced Profile codec is Microsoft's implementation of the advanced profile of VC1.
For More Information
For general information about Windows Media technologies, see the Windows Media Web page (http://www.microsoft.com/windows/windowsmedia/).
For more information about the Windows Media Format SDK including detailed information about the Windows Media Audio and Video codecs, see the SDK documentation on MSDN (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wmform95/htm/introducingwindowsmediaformat.asp?frame=true).
For information about Windows Media Encoder, see the Windows Media Encoder 9 Series page on the Microsoft Web site (http://www.microsoft.com/windows/windowsmedia/9series/encoder/default.aspx).
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.