Parallelization of the x264 encoder using OpenCL
来源:互联网 发布:lep s world 2 mac 编辑:程序博客网 时间:2024/06/03 17:07
http://li5.ziti.uni-heidelberg.de/x264gpu/index.shtml.en
The increasing computation power of massive parallel architectures such as modern graphics devices can be used to speed-up the encoding of H.264 video material. Compared to plain hardware solutions, graphics device powered encoders have the advantage of much lower initial costs and at the same time offer the flexibility of boosting the performance with future device upgrades. In addition, computers of today already include high performance graphics devices, which improve encoding times with nearly zero extra costs. While other standalone GPU accelerated encoding solutions exist for H.264, this work shows the first working parallelization of the open source H.264 encoder x264 using OpenCL.
In favor of higher encoding speeds, better device utilization as well as better adaption to the encoder architecture, the serial design was later replaced by a more autonomous OpenCL working thread approach. The new working thread pipeline was optimized by using principles from the RISC architecture. More precisely, the estimation and selection modules were stripped down to a single process, moving the extracted functionality to discrete modules. In a final step, the sub-sequential Motion Estimation, Transformation and Quantization processes were ported to OpenCL and merged into the pipeline as well.
Considering the fact that only a fraction of the motion estimation capabilities have been ported to OpenCL, the OpenCL powered encoding is up to 55% faster than the original Full Search based encoding of the unmodified x264. While other GPU solutions claim up to 20x speedup, independent tests against unmodified x264 shows similar gains as our implementation for FullHD. Furthermore, the current work is the first open-source, working integration into the x264 encoder that enables it to profit from the computing power of high performance graphics devices.
- Parallelization of the x264 encoder using OpenCL
- The using of import
- The using of stack
- The road of x264 setting optimization
- Accelerating Computer Vision Algorithms Using OpenCL on The Mobile GPU
- The example of Using Executors
- the advantages of using frameworks
- The using of parentNode ,previousSibling
- The shortest way of using Hibernate
- Benefits of Using the .NET Framework
- Using the SAX Interface of LibXML
- using multiple versions of the SDK
- The Problem Of Using MessageBox() Of Win32 API
- 运行时决定AAC硬件解码器可用性/Determining the availability of the AAC hardware encoder at runtime
- x264代码详细阅读之x264.c,common.c,encoder.c(转)
- [合集]the road of x264 setting optimization (mostly from doom9)
- [合集]the road of x264 setting optimization (mostly from doom9)
- WS_EX_CONTROLPARENT Allows the user to navigate among the child windows of the window by using the
- mongodb组合索引优化
- 堆排序
- 实现中文字串截取无乱码的方法
- myeclipse设置模板
- 操作系统大型实验进展(14)-----strtok函数在C和C++语言中的使用
- Parallelization of the x264 encoder using OpenCL
- ACIS系统体系
- hdu 1339
- Java面试题(一)
- 库的三种加载方法 显示加载 隐示加载 延迟加载
- const 函数参数
- android进程创建分析
- Flex各类型坐标转换(全局、本地、内容坐标间转换)
- 网络程序设计(C++版) 知识点总结