I will try to build a test code to reproduce your case. To confirm the problem: you are using difference H.264 decoder instances for different streams, and using non-threaded H.264 decoder (since you threaded at the high level). Right?
Thanks for the detail check. I will forward it to the engineer owner to have verify if it need a fix.
The workaround looks fine (use the static tableInitializer, and only call H264Bitstream::InitTables() once).
Selea noted before, he posted the following code at umc_h264_dec_bitstream.cpp file to resolve the problem.
static TableInitializer tableInitializer;