[x264-devel] Encoder questions

BugMaster BugMaster at narod.ru
Wed Nov 21 19:32:06 CET 2018


Hi

On Sat, 3 Nov 2018 20:03:58 +0100 (CET), vpstranger at tutanota.com wrote:

> Several more questions have come up to me.
> -Why don't you have a search on the mailing list contents? I might
> have found answers to some of my questions there, but without search
> the previous months are essentially unavailable to me.

We develop x264 not ML software so we use what videolan (as umbrella
organization) gives us for ML. And even Linux Kernal ML use google
search as was suggested to you by Andreas.

> -With 8*8 DCT active, why does the algorithm choose when to apply
> it? Whatever the blocks partitioning is, it could be applied
> everywhere (except for intra macroblocks), wouldn't it be more efficient?

No, it wouldn't. Larger DCT doesn't mean always better so we still
need to compare 4x4 vs 8x8 DCT.

> -In the list of block partitions for B frames directly predicted
> blocks are listed as a separate block size with its own percentage,
> although they are not a separate size, but may have different sizes. Why?

B_Skip, B_Direct_16x16, and B_Direct_8x8 significantly differ from
others so they have separate % in output. But B_Direct_16x16 and
B_Direct_8x8 was decided to be in one % to not overload output.
I doubt anyone can really make any deduction from this stats other
than it differ between samples and encoding options.

> -How does the algorithm decide, whether to insert IDR or simple I
> frame? Actually, I haven't seen a single IDR frame in my test
> encodes except for the initial one. So maybe it doesn't use them at
> all? And what exactly does the keyint parameter (and scenecut)
> specify? IDR frames only, simple I only or both types?

Already answered by Andreas.

> -What is the choice of frame type based on?

I/IDR-frames by scenecut detection. P- vs B-frames by b-adapt
algorithm which try to search between different sequences of P- and
B-frames and choose one that minimize sum of frame costs.

> -What is the difference between simple RD and RD refinement for the subme parameter?

RD refinement also make RDO for subpartitions and MV qpel decision.

> -How does the algorithm choose reference frames for blocks and what
> part of it makes that decision? I assume this choice is made
> collectively by the motion estimator set by me parameter and the RD optimizer, is this correct?

Search the one that have minimal cost (MV cost + residual cost) i.e.
it is part of ME. IIRC there is no RDO for reference frame selection.




More information about the x264-devel mailing list