Skip to content

rebel750 - #1

Open
manojacharya750 wants to merge 2671 commits into
bally12345:masterfrom
SIFTeam:master
Open

manojacharya750 wants to merge 2671 commits into
bally12345:masterfrom
SIFTeam:master

Conversation

@manojacharya750

Copy link
Copy Markdown

Hi

Mike Looijmans and others added 30 commits July 31, 2013 20:16
Apparently, surfaces need not be 4k aligned, 64-byte seems to be enough.
Now that we have a halfway decent allocator, we might as well stop wasting
memory, by allocating on 64-byte boundaries.
The UI tends to load the same pixmaps multiple times, thus wasting
memory. Keep a (weak ref) list of pixmaps and their filenames, and
return an existing one if possible. Rely on ePtr refcounting to
manage the pixmap's lifetime.

Good news is that gpixmap didn't suffer, introducing the disposal
callback removed the need for a "must dispose" boolean.
The LoadPixmap cache is not useful for skin pixmaps, the C++ part
is taking care of that now. Using LoadPixmap(.., cache=True) is
just a memory leak - the pixmap will never go away once loaded.
As for some German streams this might be required. As the UI is not
blocked anymore I suggest this may not harm.

See: http://openpli.org/forums/topic/29762-et9000-streaming-timeout-probleme-pli-team/page-4
…e same

This will upgrade e.g. the channel number to the current selected service
When looking for a matching color that is fully transparent, just return
the first fully transparent color.

Also pass gColor without ref, because the object is only 4 bytes.
Instead of shifting, just cast the rgb struct to integer instead.
The C++ loader already caches bitmaps, no need to do this twice. And
LoadPixmap's implementation would never dispose of a bitmap, eating
memory.
Since the software mostly ignores the hardware accelleration for
bitmaps, load pixmaps into videomemory when they look as if worth
the trouble.

Currently, "auto" means any 8-bit image between 800 and 512k pixels.
When picons do have a (8 bit) color map without any transparant colors we
had a white blackfill when the picons are scaled and centered into the
destination. Hopefully backfilling in transparant black will be a better
work-a-round. However for correct displaying it still should be considered
to use non (8-bit) color mapped picons.
Alphablending on (at least) the ET boxes is broken. When one of the
pixels is fully transparent, the resulting pixel is always fully
transparent instead of simply the other pixel's argb values.

This resulted in objects not being rendered at all, when the background
is transparent. It is also the reason why a transparent picon will occur
as a "hole in the UI" instead of just being invisible.

As a workaround, don't use hardware alphablending (even if the hardware
reports it as a capability) except when scaling. Historically, this has
been the only use for hardware accellerated blending anyway, so there's
no loss in performance.
Keep track of physical RGB table, and convert it only once. This
assumes that no one adapts the palette after having rendered it.

This prevents having to process up 1k of data for each hardware
blit.
Andy Blackburn and others added 30 commits September 18, 2013 17:57
Conflicts:

	configure.ac
	lib/python/Makefile.am
…ge ... but now jackal

port of b6f354f102a7362e9f9b873e4007ada5bb61dfb7 commit
Conflicts:

	lib/python/Components/Converter/ClockToText.py
	lib/python/Components/Converter/Makefile.am
Conflicts:

	lib/python/Components/Renderer/Makefile.am
port of 85c4c782265be83172204591a7a3daa0043e2505
Conflicts:

	configure.ac
	data/skin_default/Makefile.am
merge of f0de3cd001a7e9d6db70334bcbf9025d27d64008 +b344f1081c13bfc767b1720589f319d68c0eb0c
19caf5d5f333b68c6f2375c4e0e07e485358daac
Conflicts:

	lib/python/Screens/ChannelSelection.py
a71ab89d7c8991041ebddf85d2857ba6106957d6
Conflicts:

	data/menu.xml
	data/skin_default.xml
Conflicts:

	lib/python/Screens/ScanSetup.py
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

8 participants