[x264-devel] threads based encoding not deterministic

Mathieu Monnier manao at melix.net
Mon Jul 16 20:03:50 CEST 2007


Hi,

Vbv buffer forces a per line rate control. Forcing the encoder to be 
deterministic with a per line rate control would imply either :
  - use only "old enough" data to take the rate control decision, which 
actually discard all the interest of a per line rate control
  - force a stronger synchronisation of the different frames, in order 
all rate control calls to happen at the same place.

The first one doesn't work because VBV constraints usually requires too 
much precision for that.

The second one will decrease the threading scalability of x264.

In any case, deterministicity (?) isn't a big deal, except for 
reproducing bugs, of course...

BTW, after reading a bit the code, I wonder whether deterministicity is 
working whenever size / bitrate are targetted. I didn't find a place 
insuring explicitely that calls to rate control happens in a 
deterministic way. Technically, when having three bframes in a row, 
nothing prevents the second one from being encoded before the first one, 
or did I miss something ?

Regards,

Mathieu

_______________________________________________
x264-devel mailing list
x264-devel at videolan.org
http://mailman.videolan.org/listinfo/x264-devel


More information about the x264-devel mailing list