Parallelization techniques of the x264 video encoder

Daniel Ruiz Munoz
Universitat Politecnica de Catalunya
Universitat Politecnica de Catalunya, 2014


   title={Parallelization techniques of the x264 video encoder},

   author={Ruiz Mu{~n}oz, Daniel},

   publisher={Universitat Polit{‘e}cnica de Catalunya}


Download Download (PDF)   View View   Source Source   



Higher video quality is demanded by the users of any kind of video stream service, including web applications, High Definition broadcast terrestrial services, etc. All of those video streams are encoded first using a compression format, one of them is H.264/MPEG-4 AVC. The main issue is that the better the quality of the video the larger the encoding time will be, so it is very important to be able to improve the performance of video encoders. In order to do it, those video encoders must be executed in a parallel way, trying to reduce the encoding time as many times as the number of cores available on the computer which performs the encoding of the video stream. One of these video encoders is x264, which already implements a parallel version using POSIX threads. But this version has some scalability issues we want to solve using a different programming model. The chosen one is OmpSs, a task-based parallel programming model. During this document, we are going to explain the process of porting x264 application to OmpSs programming model. Such a task requires doing a planning and monitoring the resources we will need. All the planning and the resources used within the project will be explained within several sections. Afterwards, a bit information about the H.264 compression format and the x264 application which encodes using this format will be provided, as well as information about the working environment set up needed for developing the OmpSs version of the x264 application. Of course, a section of how the porting has been done, which includes the design, the implementation and the evaluation of the OmpSs version, will be provided as well. The obtained version will be compared against current parallel version of the x264 video encoder, in order to prove that OmpSs is also valid for non high performance computing workloads. This comparison will allow us to know if the port we made performs better or worse than the actual implementations of the x264 application.
No votes yet.
Please wait...

* * *

* * *

* * *

HGPU group © 2010-2022 hgpu.org

All rights belong to the respective authors

Contact us: