I've been experimenting with encoding to VCD from Toy Story 2 (just to see what VCD is capable of).

With the default settings in TMPGEnc the results have been very poor. When there is any movement on the screen (even slight), the image becomes very blocky around those areas.

Here's a neat document on MPEG1
http://bmrc.berkeley.edu/frame/research/mpeg/mpeg_overview.html

The default (looks bad on action scenes): IPBBPBBPBBPBBPBB (I=1, P=5, B=2)

I did some experimenting..

REALLY bad on anything: I (I=1, P=0, B=0) or IP (I=1, P=1, B=0) or IPB (I=1, P=1, B=1)

Better: IBBBBBBBBBB (I=1, P=0, B=10)

still okay but a little worse than above: IBBBBBBBBBBBBBBB (I=1, P=0, B=15)

pretty decent: IPBBBBBPBBBBB (I=1,P=2,B=5)

This is the best I've found so far: IPBBBPBBBPBBB (I=1, P=3, B=3)

This last one is much improved in action sequences, but non-moving frames seemed to suffer a bit of degradation.

So, I've gotten it to look a lot better. It's definitely watchable at this point, but I am still of course hoping for more

VCD has a constant bit rate for video. That may have a lot to do with the results I'm seeing, but I am not sure. Can anyone explain better what is going on here? Is it possible to further optimize my GOP structure to improve the video quality? If there are better settings for certain types of video, that would be great to know too.

Thanks for any info,
calamari