View Full Version : trying to author VC-1 clips to spec
anrque
28th November 2007, 20:49
Good day all. This is a bit of a rehash of a problem I had about 9 months ago but stepped away from. I am in the process of rendering VC-1 test clips for some validation and I am finding that when I render the clips out using Windows Media Encoder and the newest version of WMP 11 that my clips are not accurate according to the VC-1 spec. I am using page 433 from the "Final Draft Standard 421M" for VC-1 for a baseline of clips to render.
Here is an example: for a clip that is AP@L2 I should be able to render a clip at 720p-1280x720 and 30fps at a maximum bitrate of 20Mb/s. However, when I render this in WME9 with WM SDK 11 loaded, this combination of settings generates a clip that fills the Stream 1 Attribute metadata field with AP@L3 and using the Tektronix software stream analyzer also reports back AP Level 3. What am I missing here? Since the format comes from MS and there is a SMPTE spec to conform to, shouldn't content created with the SDK be compliant?
I'm attaching a zip file that has some file properties of the WM version and of the file I created.
Thanks.
anrque
29th November 2007, 21:48
The table I am referring to in the spec. is the one reprinted on wikipedia and the Microsoft website and attached here.
http://img147.imageshack.us/img147/9729/table253fc3.jpg
Dark Shikari
29th November 2007, 22:46
Did you limit your MVs correctly? Perhaps that's the problem?
anrque
2nd December 2007, 02:08
How do I control the motion vectors when using Windows Media Encoder?
Dark Shikari
2nd December 2007, 02:59
How do I control the motion vectors when using Windows Media Encoder?WMCMD.vbs adds more options you can use. Or you can try the Powertoy that lets you choose options.
anrque
5th December 2007, 00:11
I'm experimenting with the WMCmd.vbs now and I have found the motion vector controls. It is the parameter called -v_msrange. Since I have not been calling this parameter at all I believe my files are using the default which is +63.75/-64 H, +31.75/32 V which is still well below the threshold for the profile/level I was creating.
I've brought this up with the folks who provided our video analyzer and they have even found that "official" conformance bitstreams are returning incorrect values. AP@L2 clip SA20020.vc1 and SA20023.vc1 should be level 2 but the returned values in the header are level 3.
How is it that even some of the conformance streams are wrong?
Should I just ignore the header information as long as my parameters are within spec? Mpeg2 and h.264 profile/level combinations don't seem to generate these discrepancies.
Here's part of the header on SA20023.vc1:
Standard: VC-1, Advanced Profile / Level 3
Frame size: 1280x720
Filesize: 38135 kBytes
(0x00000000,7) 0000 0000 0000 0000 0000 0001 ---- ---- : STARTCODE_PREFIX
(0x00000000,7) [VSQ] startcode_prefix = '000000000000000000000001'
(0x00000003,7) 0000 1111 ---- ---- ---- ---- ---- ---- : STARTCODE_SUFFIX
(0x00000003,7) [VSQ] startcode_suffix = 0xf: Sequence Header
(0x00000004,7) 11-- ---- ---- ---- ---- ---- ---- ---- : PROFILE
(0x00000004,7) [VSQ] profile = 3: Advanced Profile
(0x00000004,5) 011- ---- ---- ---- ---- ---- ---- ---- : LEVEL
(0x00000004,5) [VSQ] level = '011': Level 3
(0x00000004,2) 01-- ---- ---- ---- ---- ---- ---- ---- : CHROMAFORMAT
(0x00000004,2) [VSQ] chromaformat = 1: Subsampling is 4:2:0
(0x00000004,0) 111- ---- ---- ---- ---- ---- ---- ---- : FRMRTQ_POSTPROC
(0x00000004,0) [VSQ] frmrtq_postproc = 7: Quantised frame rate for post processing is 30 fps
(0x00000005,5) 1111 1--- ---- ---- ---- ---- ---- ---- : BITRQ_POSTPROC
(0x00000005,5) [VSQ] bitrq_postproc = 31: Quantised bit rate for post processing is 2016 kbps or higher
(0x00000005,0) 0--- ---- ---- ---- ---- ---- ---- ---- : POSTPROCFLAG
(0x00000005,0) [VSQ] postprocflag = 0: Frame based post processing is NOT used
(0x00000006,7) 0010 0111 1111 ---- ---- ---- ---- ---- : MAX_CODED_WIDTH
(0x00000006,7) [VSQ] max_coded_width = 639: Maximum horizontal picture size is 1280 samples
(0x00000007,3) 0001 0110 0111 ---- ---- ---- ---- ---- : MAX_CODED_HEIGHT
(0x00000007,3) [VSQ] max_coded_height = 359: Maximum vertical picture size is 720 samples
(0x00000009,7) 1--- ---- ---- ---- ---- ---- ---- ---- : PULLDOWN
(0x00000009,7) [VSQ] pulldown = 1: Interlace syntax element flags RPTFRM, or TFF and RFF are present in picture headers
(0x00000009,6) 0--- ---- ---- ---- ---- ---- ---- ---- : INTERLACE
(0x00000009,6) [VSQ] interlace = 0: Displayed content is progressive
(0x00000009,5) 0--- ---- ---- ---- ---- ---- ---- ---- : TFCNTRFLAG
(0x00000009,5) [VSQ] tfcntrflag = 0: Temporal Reference Frame Counter (TFCNTR) is NOT present in picture headers
vBulletin® v3.8.5, Copyright ©2000-2012, Jelsoft Enterprises Ltd.