Udo Richter wrote:
Anssi Hannula wrote:
The "Half page" (don't confuse with "zoom") function doesn't do anything here.
Feared that... ;) The new code tries to fit the half-height mode into existing OSD memory, but CanHandleAreas is too optimistic in calculating the memory size. I already calculate using 10 lines backup, but thats not enough obviously...
display.c, line 244: // Add some backup // CanHandleAreas is not accurate enough if (Upper) { Areas[0].y2=Areas[0].y2-10; } else { Areas[0].y1=Areas[0].y1+10; } Try increasing the +/- 10 here...
The problem seems to be that it tries to find the largest mode possible with 3Bpp, and so it ends up using the full size as I have resized the OSD down ;)
The "change background" appears to work with xine, but not in my FF DVB card.
At least works for my card, without re-initializing the osd.
Oops, sorry, works here too. Probably I looked too fast, as the osd blinked when using in earlier version
BTW, normal-height text has always been very flickering, even more when resized to smaller size. Is there anything that could be done to avoid that?
Probably interlaced trouble. With an OSD height of 506 lines, pixels will be same on even and odd frames. Anything with less lines will sometimes have 1-pixel thin lines, appearing only on one frame, causing it to flicker.
Thanks, I now use width 506 and height 358, and the text is much more readable :)
...where another question arises: Why doesn't the setup allow less than 480 height? I edited setup.conf manually.
Another BTW: couldn't it be possible to use multiple 2bpp drawing areas with invidual intelligent palettes to have more colors than 2bpp mode currently has?
:) My thought. There's already an interface for different OSD areas with different color mappings, but no code to calculate best colors. Even better would be some really smart code that calculates optimized zone areas and uses 1bpp, 2bpp and 4bpp to get the maximum out of it. But this is a hard job to calculate...
I thought of that too, but it would indeed be complex to calculate the areas.