PDA

View Full Version : More detailed info on Elephant's Dream Xbox 360 encode


benwaggoner
7th June 2007, 23:47
Hello all,

Following up on that Elephant's Dream encode I did last month, I made a more detailed blog post about it (http://on10.net/Blogs/benwagg/elephants-dream-sample/). It goes into more detail about why different encoder modes were picked for this content. And it also includes a real download, instead of just a .torrent.

Any feedback appreciated. And now that I've got the big file download process down, I intend to do more encode samples along these lines, so feel free to suggest anything you'd like to see.

diogen
8th June 2007, 00:31
...feel free to suggest anything you'd like to see.How about a 2Mbps VBR encode of Elephant's Dream you mentioned as an interesting case here (http://www.avsforum.com/avs-vb/showthread.php?p=10725588#post10725588)?

Could you also comment about advantages (if any) the commercial tools might have over the free VC1 tools with a project like this.

Thanks.
Diogen.

Sagittaire
8th June 2007, 01:00
I read that on your blog ...

They improve encoding efficiency. 1 B-frame is most optimal in VC-1, unlike MPEG-2, due to our superior I and P-frame encoding. The 1 B-frame is just a hint, though. The codec may insert extra B-frames in some cases (look below) or turn them off for particular sequences like fades to/from black.

... and WMV9 don't use adaptative bframe ... ???!

I made the many ones encoding with ED with many codec (WMV9, XviD, Elecard AVC, x264, Nero AVC, VP7, MPEG2) with many bitrate (6, 12 and 18 Mbps with PAL HDDVD profil) and fade is a particulary big problem for WMV9.

benwaggoner
9th June 2007, 07:33
How about a 2Mbps VBR encode of Elephant's Dream you mentioned as an interesting case here (http://www.avsforum.com/avs-vb/showthread.php?p=10725588#post10725588)?
I've encoded it and it looks pretty good considering. I'll try to get it posted on Monday.

Could you also comment about advantages (if any) the commercial tools might have over the free VC1 tools with a project like this.
Today, everything uses the same codec, so it's really about workflow and preprocessing. In this case, I used After Effects to combine the PNG sequence and then exported to a 709 Lagarith .avi file using 32-bit float rendering. AE doesn't do 5.1 audio, so I mixed that in Adobe Premiere.

The last compression tool that did everything I wanted to do in its era was Media Cleaner Pro 3.2 - it's been downhill since then :).

benwaggoner
9th June 2007, 07:36
I read that on your blog ...

... and WMV9 don't use adaptative bframe ... ???!
You mean adaptive delta QP? Or just adapative placement? Either way, yes we do (although the default delta QP is a pretty basic mechanism based on motion - PEP is much better than the v11 bits here).

I made the many ones encoding with ED with many codec (WMV9, XviD, Elecard AVC, x264, Nero AVC, VP7, MPEG2) with many bitrate (6, 12 and 18 Mbps with PAL HDDVD profil) and fade is a particulary big problem for WMV9.
What settings are you using? If you turn on B-frames and are encoding to 2-pass, or using 1-pass with Lookahead on, it should automatically switch to P-frames for the fade.

There's also been some good developments past v11 for fade detection and compensation in PEP.

Sagittaire
9th June 2007, 15:44
You mean adaptive delta QP? Or just adapative placement? Either way, yes we do (although the default delta QP is a pretty basic mechanism based on motion - PEP is much better than the v11 bits here).


I speak about bframe placement.


What settings are you using? If you turn on B-frames and are encoding to 2-pass, or using 1-pass with Lookahead on, it should automatically switch to P-frames for the fade.

I make and Zambelli make encoding for me and there are not adaptative placement for bframe with wmv9 ... ???

cscript.exe wmcmd.vbs -input HDDVD.avs -output VC1-6Mbps.wmv -videoonly -v_codec WVC1 -v_profile AP -v_mode 4 -v_bitrate 6000000 -v_peakbitrate 20000000 -v_peakbuffer 720 -v_keydist 0.6 -v_performance 100 -v_bframedist 2 -v_loopfilter 1 -v_mmatch 2 -v_mslevel 4 -v_msrange 0 -v_median 0 -v_denoise 0 -v_dquantoption 0 -v_edgeremoval 0 -v_percopt 0 -v_scaling 0 -v_lookahead 16

check
9th June 2007, 16:08
ben, are you saying that WMV9AP produces higher quality streams when only using one 1 frame as compared to more than one?

benwaggoner
9th June 2007, 20:41
I speak about bframe placement.

I make and Zambelli make encoding for
Nope, you're good - if you have 2-pass on, you get some dynamic B-frame placement. Check it out in WMSnoop (http://www.sliq.com/default.asp?view=wmsnoop) and see if you don't have the every-other-frame shorter pattern during fades.

Note you don't need to use Lookahead for this setting, since it's already a 2-pass encode.

benwaggoner
9th June 2007, 20:59
ben, are you saying that WMV9AP produces higher quality streams when only using one 1 frame as compared to more than one?
For most content 1 B-frame is the best default, although the codec can adjust the pattern as neededf.

There's some content, like motion graphics, where higher values can be better. Our PEP encoder lets different B-frames values be used for different segments. There's at least one shipping HD DVD title that goes up to 7 B-frames for the credits.

Inventive Software
9th June 2007, 21:27
See, this part I don't get. B-frames in any codec should improve quality regardless of how many you use. I always thought (yes this may be true in MPEG's case) that more was good, but it had to be adaptive and the codec's choice. Is VC-1 really that efficient in B-frame placement that it only chooses 1 most of the time, and more when it's absolutely not gonna compress P-frames?

Last thing, has WMV always been a P-frame only codec until the 9 incarnation, when B-frames were added?

benwaggoner
9th June 2007, 22:19
See, this part I don't get. B-frames in any codec should improve quality regardless of how many you use. I always thought (yes this may be true in MPEG's case) that more was good, but it had to be adaptive and the codec's choice. Is VC-1 really that efficient in B-frame placement that it only chooses 1 most of the time, and more when it's absolutely not gonna compress P-frames?
Bear in mind that B-frames are never reference frames, so any bits spent on them aren't available to other frames. So you still need a lot of P-frames in there so you can keep up updating the reference frame other frames are predicted from.

The cases where lots of B-frames are great is when all of the B-frames are in either the previous or next I/P. Like scrolling credits - you can have a whole lot of B-frames in a row, and there isn't any advantage in having those be P-frames since the reference frames contain a 100% accurate version of every pixel on the frame.

Last thing, has WMV always been a P-frame only codec until the 9 incarnation, when B-frames were added?
IIRC. Also, note only Main and Advance have B-frames; Simple doesn't.

benwaggoner
12th June 2007, 01:12
Speaking about that 2 Mbps version, I've finished it, and here's a blog post up about it (http://on10.net/Blogs/benwagg/elephants-dream-720p--2-mbps/). The file itself should be published tonight sometime.

I was able to get it to work, although I had to use significantly different settings.

diogen
12th June 2007, 20:45
...The file itself should be published tonight sometime.How long did this encode take?
What is your encoding PC spec? Vista?

Diogen.

benwaggoner
12th June 2007, 21:13
How long did this encode take?
What is your encoding PC spec? Vista?

I think it took around 6 hours. The machine is a quad AMD 280 system, running XP.

Of course, I ran it in single-thread mode with full chroma search. It would have been more like 90 minutes if I'd used adaptive true chroma search and all 4 threads, and the quality should have been quite similar.

Tarari would have done nearly as well, too, with an encode time more in the ballpark of 20 minutes.

Sagittaire
12th June 2007, 21:42
Well I don't have adaptative placement for bframe. Perhaps a problem with old dll. Possible to have the last dll ... ???

benwaggoner
13th June 2007, 00:54
Well I don't have adaptative placement for bframe. Perhaps a problem with old dll. Possible to have the last dll ... ???
Where are you not seeing B-frames be adaptive? The most common place to see B-frames going of is during fades to/from black.

Sagittaire
14th June 2007, 07:06
Where are you not seeing B-frames be adaptive? The most common place to see B-frames going of is during fades to/from black.

1) I use this Command Line:

cscript.exe wmcmd.vbs -input HDDVD.avs -output VC1-6Mbps.wmv -videoonly -v_codec WVC1 -v_profile AP -v_mode 4 -v_bitrate 6000000 -v_peakbitrate 20000000 -v_peakbuffer 720 -v_keydist 0.6 -v_performance 100 -v_bframedist 2 -v_loopfilter 1 -v_mmatch 2 -v_mslevel 4 -v_msrange 0 -v_median 0 -v_denoise 0 -v_dquantoption 0 -v_edgeremoval 0 -v_percopt 0 -v_scaling 0

2) Well here the scan of Elephant dream at 6 Mbps:


MAX_CODED_WIDTH: 959 (=1920)
MAX_CODED_HEIGHT: 539 (=1080)
PULLDOWN: 1
INTERLACE: 0
TFCNTRFLAG: 0
FINTERPFLAG: 0
RESERVED: 1
PSF: 0
DISPLAY_EXT: 0
-DISP_HORIZ_SIZE: --
-DISP_VERT_SIZE: --
-ASPECT_RATIO_FLAG: --
--ASPECT_RATIO: --
---ASPECT_HORIZ_SIZE: --
---ASPECT_VERT_SIZE: --
-FRAMERATE_FLAG: --
--FRAMERATEIND: --
--FRAMERATENR: --
--FRAMERATEDR: --
--FRAMERATEEXP: --
-COLOR_FORMAT_FLAG: --
--COLOR_PRIM: --
--TRANSFER_CHAR: --
--MATRIX_COEF: --
HRD_PARAM_FLAG: 0
-HRD_NUM_LEAKY_BUCKETS: --
-BIT_RATE_EXPONENT: --
-BUFFER_SIZE_EXPONENT: --

---- Entry Point Header ----
BROKEN_LINK: 0
CLOSED_ENTRY: 0
PANSCAN_FLAG: 0
REFDIST_FLAG: 1
LOOPFILTER: 1
FASTUVMC: 0
EXTENDED_MV: 1
DQUANT: 0
VSTRANSFORM: 1
OVERLAP: 0
QUANTIZER: 0
CODED_SIZE_FLAG: 1
-CODED_WIDTH: 959 (=1920)
-CODED_HEIGHT: 539 (=1080)
EXTENDED_DMV: 0
RANGE_MAPY_FLAG: 0
-RANGE_MAPY: --
RANGE_MAPUV_FLAG: 0
-RANGE_MAPUV: --

Generating modified headers...
-- Inserting Frame Period: 40000 uSecs (25.000 FPS)...
-- Note: PAR not specified in ASF input file- shall remain so in VC-1 output.

Header bytes to be used in output [concatenated Seq and Entry Point Hdrs]:
00 00 01 0f db be 3b f2 1b 8a 3b f8 86 e8 08 48 00 00 01 0e 1a 44 ef c8
6c 40

Interpretation of above VC-1 headers:

---- Sequence Header ----
PROFILE: 3
LEVEL: 3 (AP3@L3)
COLORDIFF_FORMAT: 1 (=4:2:0)
FRMRTQ_POSTPROC: 6
BITRTQ_POSTPROC: 31
POSTPROCFLAG: 0
MAX_CODED_WIDTH: 959 (=1920)
MAX_CODED_HEIGHT: 539 (=1080)
PULLDOWN: 1
INTERLACE: 0
TFCNTRFLAG: 0
FINTERPFLAG: 0
RESERVED: 1
PSF: 0
DISPLAY_EXT: 1
-DISP_HORIZ_SIZE: 1919 (=1920)
-DISP_VERT_SIZE: 1079 (=1080)
-ASPECT_RATIO_FLAG: 0
--ASPECT_RATIO: --
---ASPECT_HORIZ_SIZE: --
---ASPECT_VERT_SIZE: --
-FRAMERATE_FLAG: 1
--FRAMERATEIND: 0
--FRAMERATENR: 2 (=25000/1000, =25.000 FPS)
--FRAMERATEDR: 1 (=25000/1000, =25.000 FPS)
--FRAMERATEEXP: --
-COLOR_FORMAT_FLAG: 0
--COLOR_PRIM: --
--TRANSFER_CHAR: --
--MATRIX_COEF: --
HRD_PARAM_FLAG: 0
-HRD_NUM_LEAKY_BUCKETS: --
-BIT_RATE_EXPONENT: --
-BUFFER_SIZE_EXPONENT: --

---- Entry Point Header ----
BROKEN_LINK: 0
CLOSED_ENTRY: 0
PANSCAN_FLAG: 0
REFDIST_FLAG: 1
LOOPFILTER: 1
FASTUVMC: 0
EXTENDED_MV: 1
DQUANT: 0
VSTRANSFORM: 1
OVERLAP: 0
QUANTIZER: 0
CODED_SIZE_FLAG: 1
-CODED_WIDTH: 959 (=1920)
-CODED_HEIGHT: 539 (=1080)
EXTENDED_DMV: 0
RANGE_MAPY_FLAG: 0
-RANGE_MAPY: --
RANGE_MAPUV_FLAG: 0
-RANGE_MAPUV: --

Found ASF_Data_Object
-- len = 471664050 bytes; contains 29479 data packets
Starting ASF demux / VC-1 write...

|_^^_^^-<<|^<-^^|<<-^<-^<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<
-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-
<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<
<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<
|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-
<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<
<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<
-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|
<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<
<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<
-<<-<<-<<-<<|<<-<<-<<-<<-<<-<<|<<-<<|<<-<<-<<-<<-<<|<<|<<-<<-<<-
<<|<<-<<-<<-<<-<<|<<-<<|<<-<<-<<-<<-<<-<<|<<-<<|<<-<<-<<-<<-<<|<
<-<<-<<-<<-<<-<<-<<|<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<
-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-
<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<
<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<
-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-
<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<
<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<-<<-<<-<<|<<|<<-<<-<<-<<-<<|<<
-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-
<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<
<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<
|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-
<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<-<<|<<-<<-<<-<<|<<-<<-<
<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<
-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<-
<<-<<|<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<
<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<
-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-
<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<-<
<-<<-<<-<<|<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<
-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-
<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<|<<-<<-<<-<
<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<
-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-
<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<
<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<
|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-
<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<
<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<
-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|
<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<|<<-<<-<<|<<-<<-<<-<<-<<|<<-<
<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<
-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-
<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<
<-<<-<<-<<|<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<
-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-
<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<-<<-<<-<<|<<-<<|<<-<<-<<-<<-<
<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<
-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-
<<-<<-<<-<<-<<-<<|<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<
<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<
-<<-<<-<<|<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-
<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<|<<|<<-<<-<<-<<-<<|<<-<<-<
<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<
-<<|<<-<<-<<-<<-<<|<<-<<|<<-<<--<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<
-<<|<<|^^|^^_<<|<<_<<_<<_<<_<<|<<_<<_<<_<<_<<|<<_<<_<<_<<_<<_<<_
<<_<<|<<-^<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<
<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<
-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<|<^|^^-<<-<<-<<-<<|<<-<<-
<<-<<-<<|<<-<<-<<-<<-<<|<^|^^|<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<
<-<<|<<-<<|<^|^<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<
-<<|<^|^<|<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<-<<-<<-<<|<<-<<-<<-
<<-<<-<<|<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<-<<-<<|<<-<<-<<|<<-<<-<
<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<
-<<|<<-<<-<<-<<-<<-<<|<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|
<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<-<<-<<-<<|<<-<<|<<-<
<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<
-<<-<<|<<-<<-<<-<<-<<-<<|<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-
<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<
<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<-<<-<<
-<<-<<|<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-
<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<-<<-<<|<<-<<-<
<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<
-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-
<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<
<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<
|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-
<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<
<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<-<<|<<-<<-<<
-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<-
<<-<<-<<-<<|<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<
<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<-<<|<<-<<
-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<-<<-<<-<<|<<-
<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<
<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<


(.............ect)


<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<
<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<-<<-<<-<<
-<<|<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-
<<-<<-<<-<<|<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<
<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<
-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<-<<-<<|<<-
<<-<<|<<-<<-<<-<<-<<-<<|<<|^<-^<|<^_<<_<<-<<|^<|<<|<<-<<-<<-<<-<
<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<
-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-
<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<
<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<
|<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-
<<-<<-<<|<<-<<-<<-<<-<<-<<-<<|<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<
<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<
|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<-<<-
<<-<<-<<|<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<
<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<
-<<-<<-<<-<<|<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|
<<-<<-<<-<<-<<|<<-<<-<<-<<-<<-<<-<<-<<|<<|<<|<<-<<-<<-<<-<<-<<-<
<|<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<
-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-
<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<-<<-<<|<<-<<-<<|<
<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<-<<-<<
-<<|<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<-<<-<<-<<-
<<|<<-<<|<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<-<<|<<-<<-<<-<
<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<
-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-
<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<-<<|<<-<<-<<-<<|<<-<<-<<-<
<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<-<<|<<-<<-<<-<<|<<-<<-<<-<<-<<
-<<-<<|<^|<<-|<<|<<-<<-<<-<<-<<-<<-<<-<<|<<-<<|<<-<<-<<-<<-<<|<<
-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-
<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<-<<|<<-<<-<<-<<|<<-<<-<<-<
<-<<-<<|<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<
|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<-<<-
<<-<<|<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<
<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<
-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|
<<-<<-<<-<<-<<|<<-<<-<<-<<-<<-<<|<<-<<-<<-<<|<<-<<-<<-<<-<<-<<|<
<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<
-<<-<<|<<-<<-<<-<<-<<-<<-<<|<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-
<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|^
^|<<-<<-<<-<<|<<-<<-<<-<<-<<-<<-<<|<<|<<-<<|<<-<<-<<-<<-<<|<<-<<
-<<-<<-<<|<<-<<-<<-<<-<<-<<-<<-<<|<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-
<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<
<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<
-<<-<<-<<-<<-<<|<<-<<-<<-<<|<<-<<-<<-<<-<<-<<-<<-<<|<<|<<|<<-<<-
<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<
<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<
|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-
<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<-<<-<<-<
<|<<|<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<
-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|
<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<
<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<
-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-
<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<
<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<
-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-
<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<
<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<
-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-
<<-<<-<<|<<_<<_<<_<<_<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<
<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<
|<<-<<-<<-<<-<<|<<_<<_<<_<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-
<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<
<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<
-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|
<<_<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<
<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<
-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-
<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<
<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<
-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-
<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<
<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<
-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-
<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<
<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<
|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-
<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<
<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<
-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|
<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<
<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<
-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-
<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<
<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<
-<<_<<_<<|<<-<<-<<_<<_<<|<<-<<-<<_<<_<<|<<-<<-<<_<<_<<|<<-<<-<<-
<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<
<|<<-<<_<<_<<_<<|<<-<<_<<_<<_<<|<<-<<_<<_<<-<<|<<-<<-<<-<<-<<|<<
-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-<<-<<-<<|<<-<<-
<<-<<-<<|<

Done.

Summary of Frames Written:

Progressive or Frame Coded Interlaced Frames
--------------------------------------------
'|' [I] Intra-Coded (Keyframe) : 1150
'-' [P] Predictive : 4043
'<' [B] Bidirectionally Predictive : 10379
'^' [BI] Intra-Coded [B]-Like Frames: 73
'_' [D] Skipped ("Duplicated") : 45

Field Coded Interlaced Frames
--------------------------------------------
'!' [I/I] or [I/P] ("Keyframe" Field Pairs): 0
'=' All VC-1 Supported "Non-keyframe" Pairs: 0

Note: ';' includes [P/I], [P/P], [B/B], [B/BI], [BI/B], and [BI/BI].
Use the "-v3" command line option for a specific breakdown.

Overall summary:

Interlaced Content : No
Max Keyframe Distance *: 27
Total Keyframes Written: 1150
Total Frames Written : 15690
Total Bytes Written : 470500137

* "1-based" - i.e. a file composed of 100% keyframes displays "1", not "0".

benwaggoner
14th June 2007, 07:55
Huh. I'll need to take a look at my own encode and see what's going on for me.

Note that you'll normally get the specified number of B-frames, except with the codec does fade or flash detection.

Future implementations of the codec will have further enhancements along these lines. I did find this for example:

<-<<--<<

Valeron
14th June 2007, 13:50
AVC can employee B frames as reference.:)

In others standards, where B frames can't be used as reference, more B frames used will be a story about how many MV and intra code MB should be trade off when coding another P/B frame. it's a stastical problem. so i personally thinks a well implemented encoder decision and more and more test with different material should be the the best way to prove it.

Sagittaire
14th June 2007, 18:11
AVC can employee B frames as reference.:)

Well it's a thread about VC1 and not AVC ...


In others standards, where B frames can't be used as reference, more B frames used will be a story about how many MV and intra code MB should be trade off when coding another P/B frame. it's a stastical problem. so i personally thinks a well implemented encoder decision and more and more test with different material should be the the best way to prove it.

The problem here is not VC1 because PEP MS implementation can use efficient adaptative bframe placement (up to 7 bframes if you scan HDDVD stream). Probleme here is WMV9 AP implementation ...

Valeron
15th June 2007, 06:07
efficiency is the most undefinable matter. i've no idea if PEP was implemented for so good efficiency since i never play with it. but what i'm going to complain is the coding speed. MS always states VC-1 should be far superior in terms of complexity, but they never proved it themselves. both their decoder and encoder have been surpass by good AVC implementation. especially the encoder. i've never seen such damn hell slow encoder before. maybe they're trying to keep on par with JM?

@Ben: any cosideration about encoder speed optimization?

Inventive Software
15th June 2007, 14:25
He did state in his blog post that using more threads speeds up the encoding on multi-core systems, but that because WMV9 AP uses slices for parallelising, there is a slight quality loss. He was after the best quality / compromise for 2 Mbps, for 720p content. ;)

benwaggoner
18th June 2007, 23:07
Sorry it took so long, but here it is.

http://on10.net/Blogs/benwagg/elephants-dream-720p--2-mbps-file-now-posted/.

benwaggoner
18th June 2007, 23:12
efficiency is the most undefinable matter. i've no idea if PEP was implemented for so good efficiency since i never play with it. but what i'm going to complain is the coding speed. MS always states VC-1 should be far superior in terms of complexity, but they never proved it themselves. both their decoder and encoder have been surpass by good AVC implementation. especially the encoder. i've never seen such damn hell slow encoder before. maybe they're trying to keep on par with JM?

@Ben: any cosideration about encoder speed optimization?
Well, our codec is configuriable via the Complexity setting, so if you want to run it faster you can. We certainly have a bunch of addtional speed optimizations internally that will be making its way into products this year.

Sagittaire
20th June 2007, 02:45
Sorry it took so long, but here it is.

http://on10.net/Blogs/benwagg/elephants-dream-720p--2-mbps-file-now-posted/.

1) Your link doesn't work.

2) You use WMA9 AP but possible to see the result with VC1 PEP with segment reencoding and all your advanced compressionnist tweak ... ???

benwaggoner
20th June 2007, 08:13
1) Your link doesn't work.
Yikes! So it didn't. Can you try again now?

And if not, can you try via this page:

http://www.microsoft.com/downloads/thankyou.aspx?familyId=522cde5b-68ad-4d79-a446-a25c2e126e24&displayLang=en

2) You use WMA9 AP but possible to see the result with VC1 PEP with segment reencoding and all your advanced compressionnist tweak ... ???[/QUOTE]
I wanted to do something that was reproducible today. The PEP suggestion is a good one - once CineVision PSE is readily availalble, I'll look at making a demo project from this.