Keyword - Microsoft

Entries feed - Comments feed

12 February 2013

Technical update on the WinRT port


So, a few weeks have passed, and I have not spoken a lot about the port on WinRT/Metro/Windows RT/WP8.

Of course, some of you will complain, but the main reason for that, is that I've been very busy on VLC :)

So here is what we did :)

VLC engine

The biggest part of the work resides in the port of the VLC engine to a WinRT compatible runtime.

A lot of the work we've done so far has been on that.

More specifically, we have:

  • ported VLC APIs call to UNICODE (wide chars),
  • allowed VLC to be compiled for Windows 8 API targets,
  • upgraded some VLC Win32 API calls,
  • removed some code-path when compiling for WinRT,
  • fixed some issues on mingw-w64 toolchain for Windows 8,
  • prepared a compatibility library,
  • changed our packaging for WinRT,
  • improved our audio output for Windows.

Winstore compatibility library

A lot of work has been and will be on this library, so let me speak a bit more about it.

Instead of ifdef-ing the VLC code everywhere for WinRT, we decided to reimplement the forbidden calls in a library that would expose the same old Win32 functions, but implemented with the allowed APIs.

The biggest advantage of this approach is that you don't need to modify a lot of your common codebase, and that you don't need to hack all the libraries that are linked to VLC. And this would have been a huge task. Moreover, it allows to adapt to newer versions of Windows more easily. Moreover, this library will be usable by every other project.

But as you can imagine, doing that is quite tricky, since we don't modify VLC, we don't modify the headers, but we insert it at link time...

We have done some of the work, but we still have a huge amount of work to do, notably on threads and Winsock reimplementation.

This library is hosted in the mingw-w64 repository and will be my focus for a bit of time.


Above the VLC engine (libVLC), we have a CX/C++ wrapper, in order to expose VLC functions to the application, since libVLC is plain C, and it is compiled in Visual Studio.

Above the wrapper, we have the main application.

This application is written in C#, compiled in Visual Studio, and uses the wrapper in order to access playback functions.

So far, the application has a basic media library, and playback support using VLC engine. The media library UI follows more or less what we've shown in the KickStarter. The player UI wasn't shown, but it looks a bit like the normal Video application, in order to match the official style.

The video, so far, is rendered into a memory buffer from libVLC and then is displayed using Direct2D in a video surface. This is not yet the best method, but it is good enough for now.

What's next

So, what are we going to work on now:

  • the winstore compat library
  • the winstore compat library (threads) ,
  • the winstore compat library (MSVCRT),
  • the interface, in order to match our promises,
  • the audio and video outputs, to go faster.

A lot of the work is going to go faster now that we have done correctly the beginning and a beta as soon as possible for our backers.

22 March 2008

Création de centres de recherche universitaire avec Microsoft et Intel

Multi-core et programmation

Le ralentissement de l'augmentation des performances pures des processeurs et de leur montée en fréquence a poussé les fabricants de microprocesseurs à utiliser des techniques pour multiplier le parallélisme des machines. Ainsi, la multiplication du nombre de coeurs dans les microprocesseurs et l'utilisation de technologies comme l'HyperThreading (plusieurs tâches simultanées sur un seul coeur), ont augmenté le nombre de tâches que les processeurs pouvaient exécuter en parallèle et concurrentiellement. Cette tendance ne semble pas prête de s'inverser, au vu des prévisions d'Intel.

Malheureusement, les techniques de programmation parallèle, dite de type "multithreadé", restent très complexes et ne se sont pas suffisamment adaptées à ces changements. Tout d'abord, les bibliothèques de programmation parallèle sont assez nombreuses et ne sont pas assez standardisées. En outre, ces nouveaux paradigmes rendent la programmation plus complexe et introduisent de nouvelles sources d'erreurs possibles.

Microsoft & Intel investissent dans les universités.

Afin de travailler sur ce sujet, Microsoft Research et Intel R&D ont annoncé, cette semaine, un partenariat de recherche avec l'université de Berkeley (Université de Californie) et l'université de l'Illinois à Urbana-Champaign (UIUC) afin de créer deux centres nommés "Universal Parallel Computing Research Centers" (UPCRC).

Ces universités ont été choisies parce qu'elles se sont déjà illustrées dans le domaine, notamment le département EECS de Berkeley. Le très renommé professeur David Patterson, spécialiste d'architecture des ordinateurs, de l'université de Berkeley, dirigera un de ces centres. Les professeurs Marc Snir et Wen-Mei Hwu d'UIUC codirigeront l'autre centre.

Microsoft et Intel investiront 20 millions de dollars dans le projet sur 5 ans, et les deux universités financeront 15 autres millions dans le même laps de temps.

Sources et liens

  1. Annonce
  2. White Paper sur la programmation parallèle du département EECS de Berkeley

8 January 2008

CES Inside: Day 0 (Bill Gates Keynote)

Arriving in Las Vegas

I attend the CES 2008 this year, with the French Office for Science and Technology.

We arrived on Sunday, 6th, in the morning after a very nice flight from San Francisco.

We went to our hotel, on the strip and then headed to the Venetian Hotel in order to see Bill Gates' keynote.

After a long wait, we entered and listen/watch to the Gates' keynote.

Bill Gates' keynote

One word is enough: BORING!

I hoped that this visionnaire still had great ideas... It doesn't seem so anymore.

The first half hour was poor jokes and non-surprising and Video-Gag-like humour. Politically correct and marketing... Great. The topic was the fact that B.Gates will leave Microsoft in July, and this was his last keynote in the CES (so this was kind of special). So it was to be fun and more about M.Gates than Microsoft.

Well, there was a part about Microsoft future: HD everywhere, Net/Soft convergence and more games. Hello Mr. obvious!

Then, great innovations: Zune social ( revisited), Zune in your car using wireless (waouw... sigh), Windows Live (webservices on a centralised ID) and Silverlight (flash revisited...).

Great news: Vista is a success, 100 millions sold this year ( how many without computers? how many choose it ?)

Great news 2: XBox made more money than PS3 or Wii! Ok. What about the margins ?

Well, as you can see, this was not the best thing ever, but the CES public is a bit more marketing people than tech, so they didn't really see the problem.


After, I went out and started to visit a few casinos. This was really interesting.