I see you're doing 848x480 screenshots, do you perhaps need to upscale to that? In that case, you could have better results if you upscaled in avisynth first instead of doing that inside the NLE from the 640x480 video. Just ask if this is the case so I'll try to toss up a decent chain for that.
As for the banding, I can see it's absent from the VOB and it's introduced later on.
As you are encoding 8bit, banding is much more easily introduced than if you were encoding 10bit, so extra bitrate is indeed required (crf 15 should be plenty enough). Generally what causes banding and blocks are indeed flat areas of colours such as the ones we have in anime, and in a particularly dark shot like this, it's asking for trouble.
The easiest way to prevent x264 from introducing heavy banding at 8bit, is to add some static grain on the image. Once you export your lossless from your NLE, try to do something like:
Code: Select all
avisource("lossless.avi")
addgrainc(0.6,constant=true)
Should be plenty enough to help out. Higher values can be used, but do note that heavy grain gets in the way of compression too.
Another thing to do, a very important one, is to use sane quantization values. As far as I know, zarxgui uses the tune animation parameter, which is intended for paint-bucket-like american animation (think Simpsons), NOT for anime. The 0.6 aq-strength is way too low. I suggest you to increase that to 0.8 or so (never go lower than 0.7 unless the source allows it), and that also should help preserving gradients.