Improving the picture viewing features in XBMC/Kodi. [Helix update]
#61
I don't see double page view on your list anymore, does that mean it's working in Gotham? I can't seem to activate it.
Reply
#62
I believe the thumbnailgeneration currently runs partly multi threaded on the CPU (that is thumbnail generation is handled purely in the texture cache and are cached via jobs (independent threads) - the texture load threads have higher priority, so if you scroll down to the end, those images will be decoded before some of the ones you scrolled past), not utilizing the GPU. Rendering GUI with system FPS (60hz), this is quite an intensive process.
My slideshow (single threaded?) took about 50Mb of memory. Hardware accelaration for pictures and slideshow could also be very usefull. And maybe some post-processing (Lanczos3)? For first time thumbnail generation, some further optimizations can be done (exif decode first, full decode that replaces that second): http://trac.xbmc.org/ticket/12308 & http://forum.xbmc.org/showthread.php?tid=118967

Post-Frodo slideshow behaviour is described in this PR (but should be described in this WIKI-picture-settings-page or in the general picture WIKI).

Some bugs:
1> I noticed a bug when in a picture listing and simultaneously a toast pops-up (Addon update), you'll see a annoying flickr and refresh in the listing. It looks like thumbnails are unneededly repopulated from cache.
2> Another bug is on Windows: Shift-F10 (right mouse-click to activate context menu) doesn't work.
3> When browser through picture folders, it would make sense to see some folder statistics (like audio and video have).
4> Better sorted dialogpictureinfo.xml: Now, the picture information screen (press 'o') is used to show available meta information. Most information is not that interesting. At least move up: Date/time, filedate, Comment, Exif comment, xp comment as those are the most interesting details.
5> For easily finding certain picture in a folder with a lot of pictures, I think a Wallview (large grid) is essential.
6> "Big list"-view has no extra value above "List".
7> "Thumb" and "Pic thumb"-views can be integrated to one.
8> "Image wrap"-view can be removed.
Reply
#63
Default slideshow behaviour is to autofill 20% in attempt to reduce black bars for panorama's (= ratio > 1.9:1). This is a leftover fro the XBOX days with 3:2 CRT screens. To correct this filling/zoom behavior and show the original Jpeg as you intended it for playback, the setting below should be applied to your advancedsettings.xml:

Code:
<slideshow>
  <blackbarcompensation>0</blackbarcompensation>  
</slideshow>

To show your pictures 1:1 as you intended them to be while not wasting any CPU-cycles changing this to be default behavior makes sense. Maybe this should even be promoted to a GUI-setting [Toggle: Blackbar compensation].

The toggle "use pan and zoom effects" alters slideshow behavior in a few different ways: scrolling and cropping for panorama's. Personally, I like the filling to match display resolution but not the cropping and scrolling (which also isn't configurable). So I think it would be better to have more usercontrol for all 3 option. Now it's done via advanced settings.xml, section 3.50.

Code:
<slideshow>
  <!-- Amount to pan images as a percentage of the screen -->
  <panamount>2.5</panamount>
  <!-- Amount to zoom images as a percentage of the screen -->
  <zoomamount>5.0</zoomamount>
  <!-- Amount to compensate (zoom) images to attempt to reduce black bars. -->
  <!-- Results in cropping of the longer length of the image in order to reduce the black bars on the shorter length of the image.  -->
  <!-- Defaults to 20. -->
  <blackbarcompensation>20</blackbarcompensation>  
</slideshow>

It can be a little intensive on first time accessing your sources. A busy-spinner isn't used when starting slideshow/screensaver, so this may be confusing for some users on slow hardware. Next/previous pictures go smooth but could be slow on slower devices. Also, (recursive) slideshows always loops. Should this be an option if someone want it to stop after going through all photos once?

I also noticed there are some cool screensavers nowadays.
- Video screensaver with video's like fireplace, aquarium and any other video as screensaver;
- Multi Slideshow screensaver with all kind of transition effects (AppleTV, tabledrop, grid).
- A screensaver which pulls in data from social networks, newsfeeds and various other sources to create a “river of information” on your screen while XBMC idle.
- Artist slideshow for combination of music and artist fanart.
- Log off: Auto log off profile after period of inactivity.
- Weather screensaver;
- List of all offical Screensaver addons.
If you want to create your own screensaver, there is an Addon template. Go ahead, it's easy!

However, screensavers can't be mannually triggered like slideshows. That would be a playlist (and using slideshow to decode and render) so much of these addonified functionalities (much needed control like transition effects) are missed in slideshows. Likewise, DIM-settings are buried in "screensaver.xbmc.builtin.dim". Those 2 are actually slideshow features in the wrong place of Kodi. Solution to this, would be to make an option/setting: Transition effect. Also, I think current screensaver activation should also be available in the shutdown menu.

As for the DIM-option not available:
I real like Sharp's Wallpaper Mode for Aquos models that essentially turns your TV into a digital picture frame whenever the TV is off. You’ll be able to display your digital pictures on the TV screen at a reduced light level that requires very little power. You can set on-and-off times as well, depending on when you want to take advantage of this option.

Some other important improvements remaining:
  • Better RAW support
  • webp support
  • EXIF writing (esspecially for saving orientation and XMP rating and also for comics reading). An newer version of libexif would suport XMP rating and EXIF writing. See feature request.
  • Settings, context menu and the slideshow-OSD reorganization.
  • The picture database work by garbear can be seen in this PR.
  • Expose pictures and it's metadata to API's (builtins, JSON, Python) and UPNP: is needed to fully leverage XBMC's framework for pictures and thus give addons more possibilities to enhange the picture viewing experience in XBMC.
    - Missing UPNP-server-support for pictures is great loss for XBMC.
    - Builtins to refresh slideshows and listings on sysevents (Or Library watchdog addon. Also see this work-around.).
    - Slideshow-parameters (repeat, random, recursivly) across API's.

I think all of this work can be done independently from the long standing GSOC proposal:
Quote:Improved Picture Player - Medium difficulty - Write a new picture/slideshow engine to be more like a normal player (see DVDPlayer and PAPlayer as examples). Ideal would be to utilize the existing GUIImage code to handle loading of images, and the animation engine for transistion effects (pan/zoom/rotate, etc.)

check:
clicks to change the screensaver, switch sources in slideshow, add and start favorites to playlists, etc.

Another nice feature is to duplicate an image as folder.jpg to let Kodi show this as custom thumbnail.
Reply
#64
First, untangling imagelib.dll into libjpeg and libraw is needed. Architecture is in place and should be similar to gif-decoding support. In the process cximage needs to be ditched all together.

Speed improvements:
Picture thumbnails:
- implemented exif decode first followed by full decode;
- read embedded jpeg from raw instead of population an own thumbnail from full resolution RAW (I saw Plex having "embedded jpegs" support since 0.1.6 (2008).
When starting a slideshow:
- Instead of pre-caching complete source it should be sequentially cached along the slideshow decoding and rendering. Maybe more similar to how buffering is implemented for streaming? Some interaction with the slideshow interval settings can be needed (i.e. precache all remaining time till next interval)
- Disable RAW option

All this with better architecture for DIM and transition effects would greatly enhance picture viewing in Kodi Isengard.
Reply
#65
If I may add an suggestion:

Vertical Pan&Zoom.

I am a fan and user of Kodi and XBMC since the BigFoot releases for the first Xbox.
Portrait photos only use half the width of the screen. Maybe this was valid in the BigFoot days but nowadays it's not.
Let a portrait photo fill the full screen-width and scroll vertically
Reply

Logout Mark Read Team Forum Stats Members Help
Improving the picture viewing features in XBMC/Kodi. [Helix update]4