Amber / Jarvis 16.1 - high-res background issues
#1
I know this topic has been mentioned a few times in the past but have found no useful fix yet.

When using high-res pictures (2K or 4K high quality images) as backgrounds in Amber, they get down-sized badly.

I tried setting <imageres> and <fanartres> to 2048 and 4096 in advancesettings (then deleting the textures DB and the entire thumbnail cache), however analyzing the resulting texture database and thumbnail cache I still see for example:

000009|6/68871366.jpg|1080|1626|0001|2016-04-07 22:59:38|2016-04-07 18:59:38|/media/sdb1/HDR/DSC_6304-Villandry.jpg

i.e. it gets downsized to 1080. This image has approx. 6000 x 4000 pixels.
The imageres/fanartres settings produce no log errors in the log so I assume they were taken (I can see in the log Kodi read & parsed advancesettings with no problems)

Is amber using a different "parameter" other than imageres/fanartres to determine the background image resize target?

Better: can Amber offer a different mechanism to manage Background assets and bypass the downsizing altogether? Something like its own image cache (with an option to empty it)

The only way I found to work around this problem is using "texturecache.py" to find out the cached image name and replace it with the original. Not clean.
Reply
#2
Hi,

All textures and caching are managed by internal Kodi controls which Amber just hooks into so it has no control over fanartres or Imageres

It may be worth asking about the resizing in a more general forum as this isn't specific to Amber, but you could check within a different skin to see if the same issues are then to be sure.

Thanks
Reply
#3
(2016-04-08, 16:40)joethepartylion Wrote: Hi,

All textures and caching are managed by internal Kodi controls which Amber just hooks into so it has no control over fanartres or Imageres

It may be worth asking about the resizing in a more general forum as this isn't specific to Amber, but you could check within a different skin to see if the same issues are then to be sure.

Thanks


Question: when amber loads the background, does it load it as a "fanart" item or as a picture/thumbnail?

I noticed also that in Amber, when selecting the custom background, the image is displayed with Amber configuration dialog as "high res" (I can see that clearly), then after selecting a new image and exiting the config dialog, the background image is actually shown in high resolution.

Then after reload the sking ("Reload Skin" function or restarting kodi), the image becomes "low res": the cached thumbnail is used.

So the question is: is there a way you can tell Kodi not to use the Thumbnail when loading the background? Or alternatively, copy the image to some Asset Folder and load it directly from there (as opposed to loading it from the Image libraty) - not sure if this makes sense
Reply
#4
OK, this is what I believe happens, note that I am only an amateur so what I say may be wrong.

When setting an image the Skin just saves either the image path in a string which is then stored within the skin settings.
When a background is displayed this path is passed to a multiimage control which displays the image\images.
Amber itself has no control overt this and there is no way (that I know of) to change it, all caching is done in the background.

I would guess it is loading it as an image not fanart (fanartres only seems to apply to 16x9 images) so the imageres setting should work, it may be worth asking on a more general forum as that is the limit of what I know (or have got wrong :-) )

Sorry I can't be of more help.
Reply
#5
(2016-04-09, 23:23)joethepartylion Wrote: OK, this is what I believe happens, note that I am only an amateur so what I say may be wrong.

When setting an image the Skin just saves either the image path in a string which is then stored within the skin settings.
When a background is displayed this path is passed to a multiimage control which displays the image\images.
Amber itself has no control overt this and there is no way (that I know of) to change it, all caching is done in the background.

I would guess it is loading it as an image not fanart (fanartres only seems to apply to 16x9 images) so the imageres setting should work, it may be worth asking on a more general forum as that is the limit of what I know (or have got wrong :-) )

Sorry I can't be of more help.

Just for reference, I compared with Confluence. I deleted the cache and the texture database, then selected the exact same picture as background in Confluence. Confirmed that Confluence does NOT load the picture from the thumbnail cache; it loads the original and crops it every time - it takes 1920x1080 pixels from the center of the original 6000x4000 image - that's probably why it loads faster, and that's the reason why doesn't look blurry.

Amber, with the workaround described in the first post, loads the 6000x4000 and let's kodi do decent-quality scaling to fit the image on 1920x1080 (same quality as done when browsing pictures). This takes some time but produces a good quality output.

The problem with Amber seems to be that (without the workaround) it lets Kodi's thumbnailer take control: the first time the image is loaded as a background it looks decent (as it does using the workaround of the 1st post) but on subsequent reloads of the skin the image looks very blurry - it is loaded straight out of the low-quality thumbnail cache (100KB cached image, 2.7MB original image - hence the loss of quality).

It would be great if Amber could use a) the same behavior as confluence or b) (better) just load the original image from the Source path every time bypassing the thumbnailer, and let Kodi do real-time high quality scaling.

Uploaded a reference image here: http://filebin.net/du1j89akgo
See what happens when selecting it as default background in Amber: when first selected, it looks OK; then "reload the skin" and see what happens.
Reply
#6
If it looks OK in Confluence then only differences are that Confluence is using an 'Image' control and Amber is using a 'MultiImage' control and also Amber uses the backgorund="true" setting.

Are you able to try the below to see if it helps:

Open skin.amber/1080i/Includes.xml
Find any reference to _Art, e.g. Default_Art (around lines ~688- onwards)
For each imagepath (except Fanart_Art as Confluence does use it here too) remove the background="true" text
save the file and retest.
Reply
#7
(2016-04-11, 11:53)joethepartylion Wrote: If it looks OK in Confluence then only differences are that Confluence is using an 'Image' control and Amber is using a 'MultiImage' control and also Amber uses the backgorund="true" setting.

Are you able to try the below to see if it helps:

Open skin.amber/1080i/Includes.xml
Find any reference to _Art, e.g. Default_Art (around lines ~688- onwards)
For each imagepath (except Fanart_Art as Confluence does use it here too) remove the background="true" text
save the file and retest.


Tested - it fixed the basic problem!
Same behavior as in Confluence as expected. The low-quality down-scaling is gone. Also I need to correct my statement above; Confluence (and Amber with this change) crops the image but only when the aspect ratio requires it in order to fill the screen; it doesn't use the "center 1920x1080 pixels"; there is downscaling but it is of the same high quality as used by Kodi's Picture browser.
It seems that flagging the image as "background" triggers the low quaity thumbnailing engine and when that is not present, the original image is used.

Hope this can be merged, thanks for the fast response!
Reply
#8
No problem, thanks for testing and confirming.

I've sent a pull request to Jester, hopefully it'll be in the next release

https://github.com/jester-xbmc/skin.amber/pull/48
Reply

Logout Mark Read Team Forum Stats Members Help
Amber / Jarvis 16.1 - high-res background issues0