VideoLAN

VLC media player development and general info on VideoLAN.

Entries feed - Comments feed

22 June 2020

dav1d 0.7.1

Release 0.7.1

We just did a small release of dav1d called 0.7.1, just one month after 0.7.0.

It is a quick release that fixes a couple of bugs and that does more optimizations on ARM32 and SSE2.

ARM 32-bit

After spending a lot of time on ARM64 during 0.5.0 and 0.7.0, we're spending some times for the people who are stuck with older phones, still running on 32-bit platforms.

With these new optimizations, we're 28% faster than before when decoding the Chimera sample on a Snapdragon 835.

The result is that we're only 20%-25% slower in 32bit compared to 64bit, which is quite a feast.

Compared to gav1, we're now 2x-2.4x faster, in 32bit mode.

dav1d vs gav1 ARM32

When comparing with numerous threading options, on a Galaxy S5, from 2014, we can see the following:

dav1d vs gav1 ARM32

With dav1d 0.7.1, we're able to decode the AV1 Chimera 1080p sample at more than 24 fps on a Galaxy S5 from 2014 on Android (32-bit)! Reaching 24fps does not even use the full CPU!
Once again, we see that the gav1 library has issues with threading.

Desktop

On the desktop, we did some SSE2 optimizations, for the people who don't have SSSE3 CPU, which should see quite a bump in decoding.

We also did optimizations for the scaled mode, in AVX2. (This is used only by bitstreams that use the spatial scalability feature).

Conclusion

See you soon, for more speed improvements!

PS: thanks again to Nathan for the graphs.

21 May 2020

dav1d 0.7.0: mobile focus

tl;dr

Dav1d new release:

  • 10% faster on Intel CPUs with 25% less RAM, assembly finished for 8bit
  • ARM64 assembly mostly done for 10/12bit in addition to 8bit
  • dav1d is twice as fast as gav1 on ARM CPU and 4 times faster for 10b
  • 1080p AV1 decodable real-time with 2 little-core on Pixel 1

Continue reading...

29 October 2019

dav1d 0.5.1: more speed!

A few reminders about dav1d

If you follow this blog, you should know everything about dav1d.

The VideoLAN, VLC and FFmpeg communities have been working on a new AV1 decoder, dav1d, to be the best and fastest decoder.

0.5.1

2 weeks ago, we released dav1d 0.5.0.

With 0.5.0, we showed that we were between 3x and 5x faster than aomdec on desktop CPUs, including 32bit CPUs, and between 2.5x and 3x faster on Android and iOS 64bit phones.

We even showed we were a lot faster than the new gav1 decoder on Android 64bit.

However, there were 2 cases where dav1d was not the best:

  • desktop without SSSE3 capabilities, aka very old CPUs, in single-thread,
  • Android phones in 32bits, in single-thread.

0.5.1 is a small release focused on those cases.

0.5.1 gets up to 50% speed improvements on SSE2 CPUs, which should make dav1d faster than aomdec in all desktop cases, from C to AVX-2.

At the same time, 0.5.1 gets up to 41% speed improvements on ARMv7 CPUs, which makes dav1d at least as fast as gav1.

Of course, in multi-thread, we were already faster :)

So, yes, dav1d is now faster than all the other decoders in all cases.

14 October 2019

dav1d 0.5.0 release: fastest!

tl;dr: dav1d is getting even faster

If you want a quick summary of this post, about our AV1 decoder:

  • dav1d is still ready for production, and getting used more and more,
  • dav1d has a speed gain of 12% on ARM64 mobile CPUs,
  • a gain of 22%-40% on SSSE3 processors
  • and another gain of 4-7% on AVX-2 processors, which was already quite fast.

Read the following for more details...

Continue reading...

19 September 2019

VLC for iOS 3.2: a new hope

A new release: 3.2!

VLC for iOS is our port of VLC on the iDevices and has been around for quite some time, and is quite popular.

However, lately, the application development had a bit slowed-down and the interface was outdated. So, we decided to do a massive refresh on the code and on the interface.

Here comes VLC for iOS 3.2!

Interface

This release gives the first part of the interface refresh, focusing notably on the audio and video collection views.

iOS video collection

The audio view features a full audio media library, similar to the Android version of VLC, sorting by Artists, Albums, Genres and so on.

iOS audio collection

As you can see, this is more fitting for modern version of iOS. In addition, you can see that the main menu has moved to a bottom tabbar, instead of the side menu.

The playlists have their own entry on the tab, with network (NAS, URLs, Cloud) and settings.

Dark/Light

Whether you prefer the dark or the light path of the force, we added both modes to VLC:

iOS video collection in dark mode

iOS video collection in dark mode

After?

There are still a lot of changes to be done in the interface, notably for the network section and the video player.
But we couldn't wait to have everything fixed in a single version. Therefore, those views will be refreshed in the version 3.3.

Also, missing features will be added, depending on the user reports.

Under the hood

We focus on the interface, but in this release, a lot of the work was not visible, and was done to improve the code and simplify the future evolutions of the application.

First, as the name indicates, this release is based on libVLC 3, like the current desktop version.
It is not based yet on VLC 4.0, the development version of VLC, as VLC 4.0 is not ready yet.

However, a very large number of bugs have been fixed specifically for the iOS port of VLC, in the VLC 3.0 branch

Swift

The biggest change in the codebase is the move to Swift for all the new code added to the project, in addition to some migration from Obj-C to Swift for some internal classes.

You should look at the changes on the gitlab project.

MediaLibrary

The media management for this version of VLC has moved to the medialibrary project, written in C++, common to Android and iOS, and soon the desktop version of VLC.
This new library replaces the medialibrarykit project.

As it is written in C++, a wrapper for the medialibrary was created, in Obj-C, to be able to use it in our application.

Test it

Because of the large amount of changes, there are probably numerous bugs in this release, so please test and report, so we can fix it quickly!

7 June 2019

VLC 3.0.7 and security

VLC 3.0.7 release and EU-FOSSA

We just released VLC 3.0.7, a minor update of VLC branch 3.0.x. This release is a bit special, because it has more security issues fixed than any other version of VLC.

This high number of security issues is due to the sponsoring of a bug bounty program funded by the European Commission, during the FOSSA program.

Continue reading...

- page 1 of 40