Keyword - 1.1

Entries feed - Comments feed

5 December 2011

VLC 1.2.0 features: part 2, formats

VLC 1.2.0

I've spoken already about VLC 1.2.0, especially about video, video again and authoring.

However, I haven't spoken about the format supported in VLC 1.2, even if there were some hints in my last post.

Discs and devices

Blu-Ray

One of the major cool thing of 1.2, will be a (very partial) support for Blu-Rays.

Through the VideoLAN project libbluray, VLC 1.2 should be able to open unencrypted disks and backup folders.

Playback of commercially encrypted disks is also doable, but I won't detail the setup here.

DVDs

The whole stack of DVD playback libraries has been updated for VLC 1.2.0.

The releases of libdvdnav, libdvdread, libdvdcss should help to playback more recent disks and fix quite a few annoying issues.

Capture devices

  • In addition to quite a few fixes on DirectShow and V4L2 capture modules, QTCapture and QTSound capture modules were added for VLC for MacOS X. Requiring QuickTime 7.6.3, it should allow VLC to play, record and stream any QTKit device.
  • Decklink and DVEO/Linsys/ComputerModules SDI and SDI-HD cards are now supported as input.
  • PulseAudio devices are now supported as input too.

File formats and protocols

Adaptive Streaming

VLC 1.2 should support, at least partially:

  • HTTP live streaming, aka HLS, in both live and VOD mode;
  • MPEG DASH, aka Dynamic Adaptive Streaming over HTTP, in at least 2 profiles.

Those are still under heavy work, help is welcome.

File formats

First, we will have a completely rewritten support for still images playback. The removal of the old fake module should help to make simpler diaporamas with VLC.

Of course, VLC supports new formats, like caf, mtv, awb, f4v, amr, vro (DVD-VR), VDR recordings folders, EBU subtitles (stl). It also supports sid files, from Commodore 64.

The most important improvements to our existent formats should concern Matroska and TS.

A lot of work has been spent on our Matroska demuxer, to handle split-segments and correct seeking. There is still some work to do, but it should be light-year ahead of VLC 1.1.x.

For broadcast and professional people, in addition to the STL subtitles, we have now durations in the Mpeg2 TS files.

Metadata

Finally, we've worked quite a bit on the Metadata support for most file formats.

APE tags, Ogg tags, seeking in flv, mxf, amr should be better supported. Also, as frequently requested, embedded cover arts in wmv, asf, wma are now correctly detected. The missing bits for cover art support are mainly for MKV and APE formats.

Styles for various subtitles formats are also better supported, especially for simple file formats.

Codecs

Codecs support has also improved quite a bit, but that's for the next blogpost. :D

5 June 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

11 May 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...

20 March 2010

On the road to VLC 1.1.0 part 2: better

Improvements

Being faster is cool, but let’s not forget that multimedia moves fast.

So here are a few improvements that you can expect in VLC 1.1.0.

Codecs, demuxers and protocols

In addition to than GPU/DSP decoding (see my previous post), VLC 1.1.0 will bring:

  • DVB HD subtitles
  • PGS Subtitles from Blu-Ray dumps
  • sftp protocol
  • Atrac1 audio codec
  • Indeo5 video codec
  • AMR (Narrow Band) audio codec
  • Windows Media Voice/Speech audio codec
  • Improved Flac support (7.1 and 88.2/176.4/192 kHz support)
  • 7.1 Vorbis audio support
  • ADPCM in flv files
  • DVD-Audio files .aob, so you can play your DVD-Audio files on your computer
  • vqf, amv, wpl and zpl file support
  • Midi files on Windows port!

And more features…

  • CDDB support on Windows
  • Podcast images
  • Enhancements to our Ambilight support
  • Extensions in lua script
  • Services in lua script
  • Chorus and Flanger audio filter
  • Visualisation using scripted .milk files
  • Windows 7 taskbar integration

That’s all for the major features, that are visible to the users…

What is important, is that VLC isn’t getting bloated by all this, and I’ll explain that in my next article.

15 March 2010

On the road to VLC 1.1.0 part 1: faster

Let’s go on with the first part of my articles to introduce you to VLC 1.1.0.

Decoding HD

In these days of HD video, speeding of decoding is more and more critical, and VLC has not shine on these aspects lately, especially on H.264.

VLC 1.1 should partly fix those issues, with:

  • faster CPU decoding, especially on Windows,
  • GPU decoding on Windows Vista/7 and on Linux,
  • DSP decoding with OpenMax IL on embedded Linux, like Maemo.

GPU decoding

Using DxVA2 on Windows Vista and 7 and VAAPI on Linux, the decoding stage of VLC framework can now be done by the GPU.

If you have a compatible GPU, especially an nVidia, it should go way faster. VLC should consume less than 10% of your CPU and your CPU shouldn’t be at full speed anymore.

It even works on Ion/Atom machines! This is cool for HTPC.

DSP decoding using OpenMax IL

VLC has a new decoder that can use OpenMax IL codecs for DSP decoding

If this is chinese to you, it means that VLC is almost the same speed and energy consumption than the native player on the N900.

OpenMax IL in VLC can decode and encode most of the codecs: Mpeg2, Mpeg4, H264, H263, WMV1, WMV2, WMV3, RV10, RV20, RV30, RV40 and aac, amr, mp3.

Better audio pipeline

Also, the audio pipeline has been reworked, (and accelerated on ARM devices), so that we less conversion occur and better filtering happen.

Of course, audio is not that critical today, but it just makes VLC a better audio player.

Less Ram and Less threads

VLC 1.1 should use less threads as Rémi wrote.

VLC 1.1 should also use less Ram than 1.0.5, even though, this might not be very visible in all situations.

Conclusion

VLC 1.1.0 should be faster to decode, using less CPU and able to leverage GPU and DSPs; it should use less RAM and less threads. What more do you want ?

Update Part 2: Better

13 March 2010

On the road to VLC 1.1.0: introduction

VLC 1.0.0

The 1.0.0 version of VLC has been very popular, partly due to its stability (compared to 0.9.x) and due to its constant improvements ( revisions were 1.0.1, 1.0.2, 1.0.3, 1.0.4, 1.0.5 and soon 1.0.6).

VLC 1.0.0 was out in last July, 8 month ago. We need to move on.

Articles

VLC 1.1.0 is on its way, and I’ll start a few articles to introduce VLC 1.1.0 features and highlights.

VLC 1.1.0: Codename and statistics

VLC 1.1.0 will be named The Luggage, because of DiscWorld.

This is huge change, since VLC codenames were taken from the Goldeneye movie.

Statistics

  • 6800 commits have been pushed since 1.0.0-rc1, the first release candidate of VLC 1.0.0
  • 2327 files changed, 429662 insertions(+), 346267 deletions(-)
  • 139 different commiters
  • The biggest commiter has 1822 commits, 2 other commiters have around 770 commits, 1 has 650 and 1 has almost 500 commits. Those 5 developers represent 2 thirds of the total of commits.

Highlights

The highlights of VLC 1.1.0 will be…

… at the next articles. :D

Update:

Part 1: Faster

Part 2: Better

- page 1 of 2