Field time_base of video stream must be set for some containers,
otherwise avformat_write_header() will set it to default values.
Rendered file in such case won't be played at desired frame rate.
See init_muxer() in mux.c in ffpmeg sources.
So compiler bug was false flag. Done some digging and I found core of the issue, though some details are not crystal clear like why AVI does this and why MPEG not, but seems that fix is working well.