SoC 2011/Assembly optimizations in VLC

From VideoLAN Wiki
Revision as of 22:51, 12 June 2011 by Bizon (talk | contribs)
Jump to navigation Jump to search
This project is part of Google Summer of Code 2011.
Student: Martin Briza
Mentor: Jean-Baptiste Kempf

Repository

http://git.videolan.org/?p=vlc/vlc-bizon.git;a=summary

Abstract

The main goal is to optimize video and audio filters of VLC, add SIMD x86 instruction using functions and clean their C code up. Next step is profiling of main VLC.

Optimization of functions that process huge amount of data with the same algorithm at the same time with SIMD instructions, so better performance can be achieved. Main focus will be on video and audio filters of VLC and after these are done, profiling of other parts of the application will be the next step.

Side effect of the work will be clean up and improvement of algorithms used (same as in sepia.c - change from RGB to YUV, to not lose time converting the format).

Progress

Weeks 1 and 2 (May 23 - June 5)

Exams, no activity on the project

Week 3 (June 6 - 12)

Acclimatization, starting work on YUV to RGB converting function from filter_picture.h to use it in plugins using it. I experienced few minor problems, which unfortunately ended up in me searching for bug where it was not.

At the moment (as of 13th of June), I'm working on posterization filter. As SSE doesn't provide integer division, I have to find solution which will really speed up the computation.

Additional information

May 9 - June 10 are exams on our school, so I won't start coding exactly at the start of the coding period. I'll keep you updated on when I have finished.