If using premiere avoid using non 32bit effects. eg. 'curves' being 32bit seem to be better than 'levels' when adjusting contrast. I am unable to explain why this seems to lower the amount of banding but i am sure people here can explain the reasons it seems to work better.

It's in the way filtered values are being computed. There are i.e. operations that multiply the original value (by more or less than "1"). So, if you have the value of 10 of 0-255, and you multply it by 1,32, you won't get 13,2 in 8-bit, you get 13. There are only integer numbers, and every other result is rounded.

This doesn't mean instant banding. But almost. Because every change you make is performed on top of the one before (*the rendering order must not be same in which you applied the filters, another BIG pain in the ass with 8-bit). The next filter takes the not-so-exact 13 and rounds again.

With 32-bit floating point, the 13,2 of the first filter is contemporarily stored. The next filter adds 2,87 to every value, the next divides by 2,51, the last multplies by 0.3.

At the very end, the result is rounded again to fit into 8-bit. Now look at the outcome: The final value with 8-bit is 2, with 32-bit it's 14!

I read (but don't know why), that only one 8-bit filter in the render pipe makes everything 8-bit.