That is actually solved the problem. But there is another one with those HD mp4 appeared.
I'm capturing at equal intervals e.g. one frame from every N-th second using Splitter::SetTimePosition() and until Splitter::GetNextData() puts to in MediaDataEx::GetTime() frame after desired seek operation I keep extracting the frames.
With mts encoding of those files seeking is precise but with mp4 it is similar to ordinary low resolution videos. E.g. seeking to 10th second returns first frame from 7th or 8th second,then further seeking to 20th second returns first frame from 16th second, that is several seconds before target position, and it needs to extract all frames to arrive to desired seek position.
Can this be solved or otherwise with small N=1,2 seconds it is much faster to keep extracting all frames one by one and pull only those at a desired N interval step.
Compared to non-HD videos those kinds of capture is very costly, cpu usage is 100% consuming all cores equally.