jb, 28y

Sunday, June 5 2011

VLC 1.2.0 features: part 1, video output

Introduction

As promised in my last major post, I will try to discuss about features that are getting shaped for VLC 1.2.0.

This post is therefore the first of the series.

Be careful, this post is a bit technical.

tl;dr version: VLC 1.2.0 will be awesome, faster and have better display quality.

Video Output Rework

When I joined the VideoLAN project and the VLC development team, something like 5 years ago, people were already speaking about the Video Output rework.

This Arlésienne was, to me, a bit like our DNF.

However, during the development of VLC 1.1, VLC guru Laurent Aimar, aka 'fenrir' started to work on it. The VLC 1.1.x series has had part of this work in it, but most of the nice features were hidden to the users.

Vout Rework features

VLC 1.2.0 has seen enormous amount of work to go on this project and this work is almost finished.

This means:

  1. Most of the Video Outputs have been rewritten in a way or another, and their priority revised;
  2. Other Video Outputs were just dropped, like gapi, omapfb, hd1000v;
  3. OpenGL output has now got shaders to do YUV->RGB conversions in the GPU,
  4. Most video filters were ported to the new API, and most of them should be transcodable and streamable now.

New features

But this also means new features, like:

  1. Sharper subtitles rendering,
  2. New Video Outputs were written, notably for Direct2D, for iOS and Android,
  3. Important changes for the deinterlacers,
  4. New filter for debanding videos,
  5. New filter for anti-flickering of videos,
  6. New posterize and sepia filters for more fun.

I would like to speak about 2 of those features, in the following parts of this post.

Subtitles rendering in VLC

Definitions

  • What we call source size is the original size in pixels of the video in the file. It is often what people call video definition, like 480x640, 576x720, 720x1280, 1080x1920.
  • What we call window size is the display size in pixels of the video in the file. It is often what people call window resolution. It depends on the size of your VLC window, whether you resize it or not or if you are in full-screen mode or not.
  • What we call text OSD are text subtitles and OSD were the text is rendered on the screen. Using a renderer, like Freetype, it converts the text into an image.
  • What we call blending of 2 images, if what people would call merging.

How does VLC display subtitles

Those days, to display subtitles, we have the following steps:

  1. the text OSD is rendered to the source size,
  2. the rendered OSD is blended into the source image,
  3. the resulting image is passed to the video output, that scales to the window size and does it usually in your hardware GPU.

As you can imagine, if your source is 640x480 and your monitor is full HD, the text will be badly scaled.

However, doing this that way is better for your resources, because the most costly operation (scaling) is done in your hardware.

How will VLC display subtitles

But those days, with very powerful GPUs, can't we do differently?

Yes, we can. Using Direct3D or OpenGL.

To display subtitles, we will have the following steps:

  1. the text OSD is rendered to the window size,
  2. the rendered OSD passed to the video output in a texture,
  3. the source image is passed to the video output in a texture,
  4. the video output scales the source texture from source size to window size,
  5. the video output blends both textures.

You can see quickly that the new way is sharper (you might need to click on the images) VLC 1.1 Subtitle display VLC 1.2 Subtitle display

Before people scream, yes, it isn't exactly the same frame which is why the colors are different and yes, white on white isn't very readable. But this is beyond the point. The point is the difference in sharpness. I'll do better screenshots, when I got time (never :D).

Compatible Video Outputs

At the time of this writing, the video outputs that can do this blending are:

  • Direct3D, default on Vista and 7
  • OpenGL,
  • x11.

However, notable video outputs like DirectDraw and Xv are not able to work in this mode.

Deinterlacers

In addition to this work, an important amount of work was done on the VLC deinterlacers by Juha.

Notably, he has written new deinterlacer modes, fixed bugs, cleaned the code and written an impressive documentation.

The most notable parts of the work include:

  • a complete InVerse TeleCine deinterlacer, very useful for old NTSC anime,
  • a framerate doubling CRT TV simulator mode, named Phosphor.

And all of them are properly documented on our .

Moreover, as previously told, all modes of deinterlacing should be transcodable or streamable.

Thanks for the support. To be continued...

Read: Update of this article

Tuesday, May 17 2011

Dotclear 2.3 upgrade

Blog and dotclear

As you might know, I am still running a dotclear core for the blog part of this website...

The rest of the website is still some custom code written by me.

Dotclear

For some reasons, I have never moved from dotclear to Wordpress, like everyone advised me to do.

The biggest reason is probably that this blog using dotclear just works fine for me and I haven't had major issues...

If it ain't broken, don't fix it!

So, I thought that the Dotclear team was 100% dead, until this morning when I saw that there was an upgrade available. Unbelievable!

The upgrade process was hyper-simple and easy, like usual, and everything is working like before. The new administration panel is quite better looking and more clear to use.

If you see any issue, please tell me.

Sunday, May 15 2011

VLC on Gnome3

Just a couple of small screenshots of VLC on Gnome3...

VLC on Gnome3

VLC on Gnome3 without bar

Wednesday, May 11 2011

State of VideoLAN

It's been a long time

It's been a long time since the last time I wrote something long enough around here.
But the cool thing is that it is due to being working quite a lot on VLC and different projects...

So, how well is VideoLAN? How well is VLC?

In this post, I will come back on a few points that happened in our last year.

Continue reading...

Wednesday, April 6 2011

Interview Vidéo sur Nolife TV

J'ai été interviewé, dernièrement, par l'équipe de Nolife, dans le cadre de VideoLAN et de VLC, à l'occasion des 10 ans du passage en GPL de VideoLAN.

Cette interview a été diffusée dans l'émission 101%, pendant la grille horaire TV classique.

Vous trouverez gratuitement l'interview, en ligne pour écouter ce que j'ai à dire...

Si vous êtes abonnés Nolife, vous pouvez retrouver aussi, l'interview complète.

Merci pour le soutien!

Wednesday, March 30 2011

28

p_person *jb; jb->age++;

or

Person *jb = new Person( 27 ); jb->setAge(28);

- page 2 of 36 -


Jean-Baptiste KEMPF | jean-baptiste.kempf _(at)_ via.ecp.fr | Powered by Chaussure | xHtml et CSS valide