41st week of VideoLAN reports

Another week, another weekly report about VideoLAN and VLC development.

Features

VLC

We started the week with fixes to build libVLC for WinRT.

Then, after the work from last week, the DVB scanning was improved again, notably to manage timeouts; and the DTV module was fixed accordingly.

The input core was also simplified, removing muteces, reducing the number of functions to create an input, and fixing some preparsing issues (and adding the related tests). One now should just use input_item_AddOptions and the aliases named input_item_New* instead of the input_item_NewWithType or input_item_NewWithTypeExt functions.

libVLC users can now use libvlc_media_get_parsed_status and the new libvlc_MediaParsedStatus event to monitor the item preparsing.

We've had playback fixes for MPEG-SL AAC streams inside TS (#16809), we now support playback of forced subtitles in MP4 (#16803) and support RTP Reception Hint Tracks inside MP4.

We've extended our AVI muxer to support the A-law and μ-law codecs.

Finally, we improved the bluray, SMB, keystore and Qt modules.

Colorimetry

During the week-end, a small team went to Helsinki to work on the colorimetry support for VLC.

As we're moving to UltraHD (4K), the videos are shifting to new, wider, colorspaces. In the past, we just ignored the small differences and took the sane defaults.

It's not possible to do that anymore with the Rec.2020 and the new HDR colorspaces.

Therefore, during the week-end, we laid out the base to support those colorspaces inside the core.

Android

On Android, we started by fixing the navigation with the keyboards and keypads, for the classic android version.

We also added a next and a previous button in the video player, when playing a video playlist.

Then, we added support for subtitles download, from internet subtitle databases.

Finally, we fixed a few bugs, notably on focus and and metadata.

All those changes will be pushed on the store in the version 1.9.8.

iOS

This week, we pushed VLC 2.7.4 for iOS and VLC 1.0.3 for tvOS.

The tvOS release adds notably S/PDIF pass-through and support for finding subtitles over network shares.

The iOS release adds:

  • 3D Touch Quick actions
  • "play all" features for OneDrive and network shares
  • finding subtitles over network shares,
  • stability improvements for SMB shares,
  • numerous fixes notably for video filters, downloads and interface issues.

WinRT

The WinRT code was quite active last week.

A lot of work is not visible, but is done on the libVLC backend, so that the VLC/WinRT code is closer to the Win32 code. We expect that to give us quite a boost in performances.

Another large part of the work on the interface is also not very visible, but is done to improving the medialibrary code, and clean the split between interface and the backend. This should reduce the number of crashes we are seeing.

Finally, last week, we've spent time on the design and look of the application. Here is a screenshot of the current code. AlbumsLight.png

x264

Last week, just before the NAB show, we pushed some new code in the x264 codebase.

The most visible changes are:

  • SSE2 and AVX optimizations for dct, notably for 4:2:2 encoding
  • SSSE3 and AVX2 optimizations for mbtree fixed point conversions
  • improvements pf the b-adapt 1 algorithm, giving better quality without changing the speed,
  • improvements for Windows and Visual Studio compatibility

libbluray

The work on libbluray this week was mostly going on improving the BD-J menus.

This work was visible in the javax.tv namespace, but also in general where many errors were denoted to warnings, and should improve compatibility with more disks.

Finally, there is now a seek event for BD-J.

We'll have a release soon with all these improvements.

That's quite a bit for this week! Thanks a lot and see you next!