f_m_b
By the way "zebra blink mode" doesn't work with this changes.
I just tried your zebra_2 patch and even the blink modes work for me. In my tests, the zebra works with all the options I tried with your patch (blink/solid/zebra-mode, with and without restore osd, with and without painting osd onto zebra). However, the flickering of the osd is still there if it is painted onto the zebra, so the flickering is still not solved. Can you be more specific in what way "zebra blink mode doesn't work" in your patch? For me it seems fine.
f_m_b
I have some free time at 24 to 28 August. If you want to share your "Not yet presentable patch" i could help you with this task. 😀
Thank you, it is certainly good to work out a solution together and review each other's work. However, first we must confirm whether the patch zebra_2 really has shortcomings other than the flickering or not. You said it has, but I didn't notice it. If it is working just as good for others as it has for me, my changes for zebra become unnecessary. So please describe what settings did you use when it stopped working and in what way it didn't work.
And about the flickering in the osd, I don't think anyone will be able to solve that unless some double buffering is implemented. In your patch for example, first the zebra is painte onto the screen (overwriting every osd element), and then the osd is painted. So there is a short time frame when only the zebra is visible without the osd, this is where the flickering comes from. You won't be able solve that by tinkering with lib.c.