Log in

View Full Version : x264: 10bit file twice as big as 8bit?


Soukyuu
28th May 2013, 00:50
I normally use the 8bit version for compatibility, but now I tried to experiment a bit with different encoding settings and tried using 10bit to compare.

I have a DVD clip (.d2v->.avs) 5:30@29.97fps which I encode with the following command:
--level 4.1 --crf 16 --keyint 300 --bframes 11 --b-adapt 2 --scenecut 50 --ref 16 --qpmax 51 --vbv-bufsize 78125 --vbv-maxrate 62500 --rc-lookahead 72 --merange 32 --me umh --no-fast-pskip --zones 0,270,q=12/2613,3832,q=14

The resulting file with 8Bit: 100mb
The resulting file with 10bit: 250mb

Why? I thought the 10bit was supposed to save bitrate? Did something change so that the crf values are not "the same" anymore? I think I must be misunderstanding something.

I'm using the build x264 rev.2334 from x264.nl

mandarinka
28th May 2013, 01:16
One thing I can see - You are using zones with quantizer parameter if I look correctly.
Now, the problem is that a QP value X in 10bit equals to QP value (X -12) in 8bit. And thus your zones will be much much bigger (as if you used quants 0 and 2 in 8bit).

Basically, you need to use --zones 0,270,q=24/2613,3832,q=26 for the 10-bit encode. the same goes for --qpmax 51 (to have an equal settings, for 10-bit you would have to use --qpmax 63), but I don't think you have a problem there.

bxyhxyh
28th May 2013, 06:51
And same crf is not meaning of same quality. 10 crf xx has better quality than 8 crf xx (bigger file).

You can increase your crf value on 10 bit encode. Quality will be better than 8 bit at 100 mb, i think.

Sapo84
28th May 2013, 09:09
Basically, you need to use --zones 0,270,q=24/2613,3832,q=26 for the 10-bit encode. the same goes for --qpmax 51 (to have an equal settings, for 10-bit you would have to use --qpmax 63), but I don't think you have a problem there.

Or he can just use crf in the zones instead of relying on quantizer value, which would also save quite a bit of size if in one of the zones there is a fast motion scene.

And, actually, I would first check how the straight crf16 10bit encode looks, I always find that with x264 10bit there's not much need for zones.

Soukyuu
28th May 2013, 12:24
One thing I can see - You are using zones with quantizer parameter if I look correctly.
Now, the problem is that a QP value X in 10bit equals to QP value (X -12) in 8bit. And thus your zones will be much much bigger (as if you used quants 0 and 2 in 8bit).

Basically, you need to use --zones 0,270,q=24/2613,3832,q=26 for the 10-bit encode. the same goes for --qpmax 51 (to have an equal settings, for 10-bit you would have to use --qpmax 63), but I don't think you have a problem there.Thanks, that's what I thought. Now 10bit results in a 9Mb smaller file, as expected.

And same crf is not meaning of same quality. 10 crf xx has better quality than 8 crf xx (bigger file).

You can increase your crf value on 10 bit encode. Quality will be better than 8 bit at 100 mb, i think.Yes, this is why I wrote "the same" in quotes, usually it's like you wrote.

I would first check how the straight crf16 10bit encode looks, I always find that with x264 10bit there's not much need for zones.Sadly no, especially the dark scenes look awful with only crf16 for this particular material. I'm trying to preserve as much quality as possible, directly comparing quality to the source for each scene. That's very slow, yes, but I have all the time in the world as I only want to do this once.

Thanks for the input everyone.

Sapo84
28th May 2013, 17:32
Sadly no, especially the dark scenes look awful with only crf16 for this particular material. I'm trying to preserve as much quality as possible, directly comparing quality to the source for each scene. That's very slow, yes, but I have all the time in the world as I only want to do this once.

I would suggest trying aq3, it's included in some experimental builds and helps greatly in this cases (I think it's biased towards dark scenes).
Raising qcomp could help too, sometime rc-lookahead is a bit too aggressive if you want to preserve even the tiniest details.
I usually use values between 0.7 and 0.75.

Obviously you may still feel the need to use a zone here or there, but generally I find dark scenes a lot less problematic than before (with 8bit and no aq3 it was painful at sane crf values).

mandarinka
28th May 2013, 18:13
And same crf is not meaning of same quality. 10 crf xx has better quality than 8 crf xx (bigger file).

You can increase your crf value on 10 bit encode. Quality will be better than 8 bit at 100 mb, i think.

Don't count on that, IMHO. In my testing it wasn't true...