Log in

View Full Version : New VP6 codec - 6.0.9.2


Pages : [1] 2

On2Tech
22nd December 2003, 21:00
I'm happy to announce that a new version of our VP6 codec is now available for download at www.on2.com. We've made some rather substantial improvements to two pass compression based largely on feedback we received from this forum. I'd like to encourage everyone to download the new codec and give it a try.

Improvements include:

Version 6.0.9.2 12/22/2003
=======================================
- New user's guide added to the installation
- DirectShow Decoder in the installation updated to version 6.0.7.2 (changes to the decoder settings now change the VFW post processing level in addition to the direct show post processing level)


Version 6.0.9.2 12/16/2003
=======================================
- Fixed problem with missed key frames
- Fixed problem with Keyframes that were way too big in 2 pass mode
- Improved two-pass vbr by being more agressive with quantizers
- Improved best quality
- Improved quality in slow moving sharp scenes.

You may want to refer to the new graphs posted in the folloing thread for reference:

http://forum.doom9.org/showthread.php?s=&threadid=64789

Tommy Carrot
23rd December 2003, 00:04
I still don't like the rate-control, or at least the default settings of it. The 2-pass should deliver more or less constant quality, but it still fluctuates strongly. The low motion scenes are usually excellent, but if there are more motion, the quality degrades badly. I think the ratecontrol favors the low motion scenes too much.

What settings do you suggest for more consistent quality? Should i set variability to 100?

Jaques
23rd December 2003, 00:04
Great, thanks!

On2Tech
23rd December 2003, 00:48
Originally posted by Tommy Carrot
I still don't like the rate-control, or at least the default settings of it. The 2-pass should deliver more or less constant quality, but it still fluctuates strongly. The low motion scenes are usually excellent, but if there are more motion, the quality degrades badly. I think the ratecontrol favors the low motion scenes too much.

What settings do you suggest for more consistent quality? Should i set variability to 100?


The new codec should have spent far more bits on tougher sections than the old version. Did you see an improvement at least?

I think the defaults should work.

Can you post an example so we can look into what you are getting?

Tommy Carrot
23rd December 2003, 01:10
I did a short encoding on a 4 min. long clip with xvid and VP6, and i did a frame-by-frame comparing between them. The low motion scenes are better with VP6, but in the high motion scenes the xvid clearly preserves more details (the postprocessing is off, so not it is the cause). The rate-control of the xvid proved in many cases as a rather constant one, so this is why i came to this conclusion.

BTW, i think it's improved from the previous version, but still has some fluctuations.

slavickas
23rd December 2003, 09:51
Hi i got problem with this release every (tested only few) files makes winamp 5 decoder create file badframes.stt (it maybe bug on wa5 side) but previous codec build generated files plays ok

edit: seems the same and for avi vp6 files

Sirber
23rd December 2003, 13:06
Why do you use Winamp 5 for playing movies? :confused:

On2Tech
23rd December 2003, 13:26
Originally posted by slavickas
Hi i got problem with this release every (tested only few) files makes winamp 5 decoder create file badframes.stt (it maybe bug on wa5 side) but previous codec build generated files plays ok

edit: seems the same and for avi vp6 files


WinAmp includes its own version of VP6 ( ie it doesn't call the vfw codec). Does the problem occur if you try and play it back using virtual dub, windows media player or real etc?

If not I'll point out the bug to our contacts at AOL. In the meantime you might want to let them know

Winamp Forum (http://forums.winamp.com/forumdisplay.php?forumid=152&daysprune=30&sortorder=&sortfield=lastpost&perpage=35&pagenumber=3)

slavickas
23rd December 2003, 13:56
Originally posted by On2Tech
WinAmp includes its own version of VP6 ( ie it doesn't call the vfw codec). Does the problem occur if you try and play it back using virtual dub, windows media player or real etc?

If not I'll point out the bug to our contacts at AOL. In the meantime you might want to let them know

Winamp Forum (http://forums.winamp.com/forumdisplay.php?forumid=152&daysprune=30&sortorder=&sortfield=lastpost&perpage=35&pagenumber=3)

yes problesm persist in *.avi files, if they are played by MPC,
but as i indicated files encoded with eralier codec version don't generate that file

note: quality isn't decreased but it just simply outputs that file always

for some info about troubles You can check this thread
http://forums.winamp.com/showthread.php?s=&postid=1213759#post1213759

SeeMoreDigital
23rd December 2003, 18:58
I've been trying to generate some low bitrate (77KByte/s) 2pass VBR encodes using MPEGmediator.

However, to me they still don't look as good as I would have hoped. They still look about the same as 1pass CBR.

I think I can't be doing it correctly!

Cheers

Tommy Carrot
23rd December 2003, 19:41
Originally posted by SeeMoreDigital
I've been trying to generate some low bitrate (77KByte/s) 2pass VBR encodes using MPEGmediator.

However, to me they still don't look as good as I would have hoped. They still look about the same as 1pass CBR.

I think I can't be doing it correctly!

Cheers

Same here, somehow the RC doesn't work here as it should.

Bulletproof
23rd December 2003, 19:45
As of right now I have XviD winning in my visual tests with post processing off. I think VP6 may still have the keyframe bug because I have at least found 1 major spot where a keyframe was not inserted and looked really bad. What I'm seeing right now is that VP6 is handling gradients and hazes better while XviD is handling motion better.

EDIT: Keyframe bug definitely still exists, its crippling the quality. Either it's bugged or its decisions are bad, because I can find spots where XviD inserted a keyframe and maintains quality and in VP6 it severely blocks up because of that missed keyframe, HOWEVER I can find spots in VP6 where there is a keyframe which is not inserted in the XviD video, but it seems as there is no penalty on XviD's side because it has made a good decision. XviD's P-Frame doesn't look bad at all where a spot where a VP6 I-Frame would be.

SeeMoreDigital
23rd December 2003, 20:06
Yes, well something is still not right.

I've been using Ch41 of StarWars 2 as my source file. Which at 6min and 17sec provides a very good indicator at how well a codec can perform.

I've got a series of encodes generated by different codecs. And different versions of the same codec. Which have all been I generated at 720x576 at around 615kbps using both 1 and 2 pass modes.

But like I say, I still can't get this new version of VP to generate 2pass encodes that look any better than the previous version!

On2Tech
23rd December 2003, 20:10
Originally posted by slavickas
yes problesm persist in *.avi files, if they are played by MPC,
but as i indicated files encoded with eralier codec version don't generate that file

note: quality isn't decreased but it just simply outputs that file always

for some info about troubles You can check this thread
http://forums.winamp.com/showthread.php?s=&postid=1213759#post1213759


We've duplicated and are addressing this problem. THanks for reporting it.

SpaceV
23rd December 2003, 21:02
ok please don't kill me for that, it's just a stupid idea
that I have to ask but is it possible the the codec was not
updated correctly? I have not upgraded since the initial release
and with what I have heard so far there is no need since the keyframe bug still exists.

If I should upgrade to 6.0.9.2, how would I make sure that
the upgrade was successful ?

thanks

slavickas
23rd December 2003, 22:59
Originally posted by On2Tech
We've duplicated and are addressing this problem. THanks for reporting it.

if it not allways happens any workarounds? does it affects vp60 or just vp61 only?

SeeMoreDigital
23rd December 2003, 23:26
Originally posted by On2Tech
We've duplicated and are addressing this problem. THanks for reporting it... What a shame!

slavickas
24th December 2003, 01:07
Originally posted by SeeMoreDigital
What a shame!

i wouldn't say so radical, but if they released, for us hardcore tsters :cool: some prerelease versions before posting it officialy maybe somebody (=i :D ;) :p ) would have spotted it

On2Tech
24th December 2003, 01:21
Originally posted by slavickas
i wouldn't say so radical, but if they released, for us hardcore tsters :cool: some prerelease versions before posting it officialy maybe somebody (=i :D ;) :p ) would have spotted it

The problem happens for both VP60 and VP61. The bug is hard to describe. Basically we read past the end of the buffer past the end of the bitstream ( even though we didn't use those bits). Fix solves the problem.

Incidentally prior to the latest release it would happen much less frequently but could still happen. We are testing a new version that solves it. Badframes.stt was a safety check that printed out only when we tried to read a byte past t end of the buffer.

SeeMoreDigital
24th December 2003, 01:53
Hi On2Tech

Will we have to wait long for the revised release?

Cheers

Jaques
24th December 2003, 02:17
I don't seem to be having any problems. I am now able to back up my LOTR - Extended Edition DVDs into 2CDs with Ogg in an MKV, where xvid couldn't. I don't get this badframes file, I'm using MPC and my settings are here (http://www.chade.net/images1/thesettings.PNG).

DevilsChild
24th December 2003, 03:03
Originally posted by Jaques
I don't seem to be having any problems. I am now able to back up my LOTR - Extended Edition DVDs into 2CDs with Ogg in an MKV, where xvid couldn't. I don't get this badframes file, I'm using MPC and my settings are here (http://www.chade.net/images1/thesettings.PNG).

Interesting. Your min and max quantizers are lower than the recommended values (8 and 48) from the VP6 User's Guide for that bitrate. I might should try lowering the quantizers.

DevilsChild
24th December 2003, 11:01
Well, I just finished my first test with this codec and the results are very impressive! Made a full backup of "The Abyss" at 1054 kbps (2 CD's), resized to 576x240, with 2-pass Best Quality. What really impresses me about VP6 are the lack of artifacts compared to DivX5/XviD. I'll have to do some more tests to be sure, but I noticed very little "mosquito noise". Walls and still textures don't "come alive" like in DivX5.

Maybe VP6 is the Holy Grail of codecs? :devil:

SeeMoreDigital
24th December 2003, 11:44
Originally posted by DevilsChild
...Maybe VP6 is the Holy Grail of codecs? :devil: Did you generate your encode using Jaques settings?

Kb_cruncher
24th December 2003, 11:44
I have just downloaded and taken a look at the codec properties in virtualdub and find them a bit confusing, there is nowhere to set the bitrate or target size.Am i missing something or is it a matter of hoping for the best.At the default settings i get an average of just 37Kbits\sec for a 704x304 avisynth script and the video looks horrible.I then adjusted the quantisers to 2,2 for the first pass and got an average of over 300Kbit\sec(WOW).
Is there a guide anywhere for vp6?

Tommy Carrot
24th December 2003, 13:44
Originally posted by Kb_cruncher
I have just downloaded and taken a look at the codec properties in virtualdub and find them a bit confusing, there is nowhere to set the bitrate or target size.Am i missing something or is it a matter of hoping for the best.At the default settings i get an average of just 37Kbits\sec for a 704x304 avisynth script and the video looks horrible.I then adjusted the quantisers to 2,2 for the first pass and got an average of over 300Kbit\sec(WOW).
Is there a guide anywhere for vp6?

You have to set the bitrate in the external encoding app, like the virtualdub. In the compression window, you'll find the "use target data rate" setting, but here is the twist: it accepts kbyte/s, not kbit/s, so divide the target bitrate with 8.

slavickas
24th December 2003, 15:18
Originally posted by Kb_cruncher
I have just downloaded and taken a look at the codec properties in virtualdub and find them a bit confusing, there is nowhere to set the bitrate or target size...

divx generation :D, don't know there always were possible set bitrate
:p

C0mPr355
24th December 2003, 17:39
if someone is getting good results with Xvid can you please post the settings that you used so that I may compare?

Bulletproof
25th December 2003, 06:03
ON2Tech, were you able to check out the files I sent you?

haibane
25th December 2003, 07:51
Hi On2Tech,
I have some problem during batch encoding with vp6.
When the width is not mod 32, vp6 with pop up a warning
before it starts to encode. It's no problem during normal
encoding, but during batch encoding, i have to click the
ok to continue, so it's impossible to leave the computer
for batch encoding.

I couldn't find any place to disable this function, i have
look into the registry too. Is there anyway to disable this
function for batch encoding?

dimzon
25th December 2003, 17:58
On2Tech Suggesion
Please, move bitrate control into encoder property page (like DivX/XviD)

Latexxx
25th December 2003, 18:50
Originally posted by dimzon
On2Tech Suggesion
Please, move bitrate control into encoder property page (like DivX/XviD)

VP6 does it like it is meant to implemented in codecs, but vfw doesn't even support b frames and therefore I don't care where the bitrate control is.

spyder
25th December 2003, 23:10
A little OT:

@On2Tech: Is there a core interface to this codec. I am interested in calling it directly in an application. Also, what types of frame references are used? I was thinking of working out a the specifics of storing it in Matroska.

On2Tech
26th December 2003, 01:49
Originally posted by haibane
Hi On2Tech,
I have some problem during batch encoding with vp6.
When the width is not mod 32, vp6 with pop up a warning
before it starts to encode. It's no problem during normal
encoding, but during batch encoding, i have to click the
ok to continue, so it's impossible to leave the computer
for batch encoding.

I couldn't find any place to disable this function, i have
look into the registry too. Is there anyway to disable this
function for batch encoding?

Sorry about that. The warning only happens when you are using VP60 not VP61. We added the warning because of our set top box clients on which we decided to avoid non multiples of 32, and they kept finding out about it after compressing 2 hour movies and playing them find on the pc.

Perhaps messagebox that comes up and allows you to save that you don't want to see the warning ever again is in order.....

On2Tech
26th December 2003, 01:53
Originally posted by Bulletproof
ON2Tech, were you able to check out the files I sent you?

Thanks for putting them up. I only looked at them briefly. Unfortunately I had to do a couple of higher priority things before going out on vacation..

The xvid clips looked quite sharp but had more artifacts than the VP61 clips. I think VP6 datarate control allocation was a bit suspect on your clip. I hope to figure out why and get back to you after the new year.

On2Tech
26th December 2003, 01:59
Originally posted by dimzon
On2Tech Suggesion
Please, move bitrate control into encoder property page (like DivX/XviD)

I'm sorry but unfortunately a lot of our internal tools for testing and batch processing etc plus some of our partners tools count on the datarate control being passed in the way it is now.

Changing it is somewhat difficult for us but we'll add it to our wishlist of future changes.

On2Tech
26th December 2003, 02:22
Originally posted by spyder
A little OT:

@On2Tech: Is there a core interface to this codec. I am interested in calling it directly in an application. Also, what types of frame references are used? I was thinking of working out a the specifics of storing it in Matroska.

There is a core library behind the scenes, but I suspect your best bet is to just use the vfw interface and calls. We do a lot of things though the vfw codec that aren't available through the core library ( color space conversions, sizing etc). We also have a nasty habit of changing the core library functions.. Plus we haven't released a freeware static library version for personal use etc. I don't know the ramifications of that..

As to your other questions the VFW codec uses only I / P frames.

haibane
26th December 2003, 05:55
Originally posted by On2Tech
Sorry about that. The warning only happens when you are using VP60 not VP61. We added the warning because of our set top box clients on which we decided to avoid non multiples of 32, and they kept finding out about it after compressing 2 hour movies and playing them find on the pc.

Perhaps messagebox that comes up and allows you to save that you don't want to see the warning ever again is in order.....


Thanks, that would be help.....
I guess now i will stick with VP61 for now.......

dimzon
26th December 2003, 11:35
Originally posted by On2Tech
I'm sorry but unfortunately a lot of our internal tools for testing and batch processing etc plus some of our partners tools count on the datarate control being passed in the way it is now.

Changing it is somewhat difficult for us but we'll add it to our wishlist of future changes.

Is any way to change default bitrate value (maybe some registry key)?
I'm using XMPEG (www.mp3guest.com) to back-up my DVD's and there is no GUI for bitrate setup :(

spyder
26th December 2003, 23:16
Originally posted by On2Tech
As to your other questions the VFW codec uses only I / P frames.

OK, so I assume then that there is no form of prediction in VP6 that uses future frames? If not, I will see if I can add VP6 to the codec ID list. One more question, is there any data that must be supplied to the codec before it can decode from an I frame in the middle of the stream? For example you chop all frames before the I frame at say 30 minutes in a file. I need to know this so I can tell if we need to stick some extra data in the header.

On2Tech
27th December 2003, 01:04
Originally posted by spyder
OK, so I assume then that there is no form of prediction in VP6 that uses future frames? If not, I will see if I can add VP6 to the codec ID list. One more question, is there any data that must be supplied to the codec before it can decode from an I frame in the middle of the stream? For example you chop all frames before the I frame at say 30 minutes in a file. I need to know this so I can tell if we need to stick some extra data in the header.

VP6 has no forward prediction, plus a keyframe is entirely self contained. You need no information outside of the keyframe to decode the keyframe, with one exception:

the desired output width and height which typically come from the avi header...

Taktaal
27th December 2003, 15:47
An oddity of the codec I don't like is that there seems to be some very faint white noise on the image.

Like in this shot from LotR:TTT chapter 9 frame 62
http://taktaal.net/gfx/test.jpg
the camera not moving for a good dozen frames.

If I take screenshot of frame 63, and subtract it from frame 62 in Photoshop and raise the contrast on the resulting image, it looks like this

DivX
http://taktaal.net/gfx/divx-test.png

VP6
http://taktaal.net/gfx/vp6-test.png

DivX shows movement in the grass and along the edges of the clouds as expected, and a typical MPEG block artifact where Legolas' head emerges behind the horizon.

VP6 has white noise all over the image, including on parts where the source frame remained completely constant.

This leads to a flickering all over the image not unlike when you get bad TV reception
http://taktaal.net/gfx/vp6-whitenoise.ogm

Bulletproof
27th December 2003, 18:20
I think this is because VP6 is not related to MPEG in any way, therefore quantization looks different between the two. This is why I said before that VP6 seems to handle gradients better in my previous post, because it doesnt turn them into blocks, but rather a "gaussian" like effect which I think works better. I've been doing more testing with different clips and it seems for every frame that VP6 gets better, there seems to be one in XviD that looks better (even). Though the low bitrate tests I did (50 kilobytes/s) had VP6 always winning, it seems to handle low bitrate better (all postprocessing off). And mid-high bitrate tests they seem even. But when you're using really high bitrates thats when XviD gets an advantage with B-Frames and all the other space saving features. Anyway, this has been my current observation, but it's not written in stone, I would really like to hear other people's observations too.

Tommy Carrot
27th December 2003, 18:34
I agree, at low bitrates VP6 is significantly better, mostly because the artifacts are less annoying. At higher bitrates, where the artifacts don't play that much role, xvid takes the lead because of its better detail preservation.

Atamido
27th December 2003, 18:41
It should be noted though that Xvid will do some funny things with encoding. I created a video made of series of duplicate frames. Each first frame was a key frame, and then the duplicate frame was a P frame, but there was a definate quality difference between the two. The P frame always looked better. Xvid should have devoted more bits to the first frame, and less to the second as it was exactly identical.

On2Tech
27th December 2003, 20:00
Originally posted by Taktaal
An oddity of the codec I don't like is that there seems to be some very faint white noise on the image.

Like in this shot from LotR:TTT chapter 9 frame 62
http://taktaal.net/gfx/test.jpg
the camera not moving for a good dozen frames.

If I take screenshot of frame 63, and subtract it from frame 62 in Photoshop and raise the contrast on the resulting image, it looks like this

DivX
http://taktaal.net/gfx/divx-test.png

VP6
http://taktaal.net/gfx/vp6-test.png

DivX shows movement in the grass and along the edges of the clouds as expected, and a typical MPEG block artifact where Legolas' head emerges behind the horizon.

VP6 has white noise all over the image, including on parts where the source frame remained completely constant.

This leads to a flickering all over the image not unlike when you get bad TV reception
http://taktaal.net/gfx/vp6-whitenoise.ogm


It could be our the filter we have which is an attempt to approximate film grain. Try shutting it off via the control panel settings dialog...

gino25
28th December 2003, 11:19
on2tech wrote that is impossible using b-frames with a vfw codec.

If i use virtualdubmod to encoding i can' t use b-frames?

And with what encoder can i use b-frames?

Sirber
28th December 2003, 15:24
XviD, DivX are VFW and they use B-Frames :)

On2Tech
28th December 2003, 15:47
Originally posted by gino25
on2tech wrote that is impossible using b-frames with a vfw codec.

If i use virtualdubmod to encoding i can' t use b-frames?

And with what encoder can i use b-frames?

Wasn't me. VP6 doesn't use B frames thats all. Its certainly possible to do so within vfw, even if its a bit unnatural.

Sirber
28th December 2003, 19:21
VP6 seems promizimg. I'm gonna have to do some testing ^^