Login

Important information

This site uses cookies to store information on your computer. By continuing to use our site, you consent to our cookies.

ARM websites use two types of cookie: (1) those that enable the site to function and perform as required; and (2) analytical cookies which anonymously track visitors only while using the site. If you are not happy with this use of these cookies please review our Privacy Policy to learn how they can be disabled. By disabling cookies some features of the site will not work.

ARM Community: x264 on ARM: Bringing a wider application of video conferencing (Part 3) - ARM Community

Jump to content

x264 on ARM: Bringing a wider application of video conferencing (Part 3)

In part one and part two of this blog series, we introduced the video conferencing use case requirements and performed tuning of x264 for optimal tradeoff between bit rate, frame rate and video quality… In this part, we will test and analyze encode performance for optimal execution on the target ARM platform.

1 Test result of on the target ARM platform

Using the results from the previous step, we test the options “default”, “--preset ultrafast”, “--preset superfast” and “--preset very fast” with our optimal settings on the ARM platform and evaluate the performance against our use case requirements for video conferencing.

1). List of Combinations (settings tested)
Attached Image


2). Result

Attached Image
Attached Image
Attached Image


3). Conclusion
According to above information, we can conclude:
Attached Image


2 Summary of the optimal settings
According to the test results above, we might conclude: when rc-lookahead is set to 1, the bit rate is the minimum and the frame rate is the maximum. When ref is set to 1, the frame rate is increased. When subme is set to 1/0, both frame rate and bit rate are increased. When me is set to dia, the frame rate is increased. When partitions is set to none, the frame is split up into 16x16 macro blocks during compression. This helps to decrease operations. No-8x8dct disables adaptive spatial transform size, which helps to decrease operations too. No-mixed-refs means encoder selects refs on a per-macro block, rather than per-8x8 partition basis. This decreases operations.

So we might thus have the most optimal settings to the real-time encoder for video conferencing application.
Attached Image


3 Configuring x264 with optimal settings
Struct “x264_param_t “is defined in file x264.h and contains all the parameters that the encoding process needs. The parameters have default value. If you want to implement the optimal settings as above, set the following parameters as listed below.
Attached Image


Conclusion
Technologies like ARM NEON SIMD instructions are enabling video to become an ever increasing part of the user experience for consumer electronics by supporting a wide range of encode and decode use cases across an array of products powered by ARM Cortex-A processors. x264 is just one example of the capabilities of ARM NEON technology in action.

Blog Series: x264 on ARM: Bringing a wider application of video conferencing
Part 1
Part 2

Yang Zhang, Home Software engineer - Home Software Enabling team, ARM, Yang has several years of experience working on projects related to video codec, including H.264/AVC, H.263, MPEG4, MPEG2, VC-1 and AVS. She has a deep understanding of video codec algorithm. Being Home Software Engineer , she specializes in the digital multimedia system for ARM Home. Yang graduated from Zhejiang University with the degree of Master. She is currently based in Shanghai, China.

张洋(Yang Zhang) 是ARM的家庭软件工程师. 她拥有多年工作经验并致力于视频编解码领域, 曾经参与了H.264/AVC, H.263, MPEG4, MPEG2, VC-1和AVS等相关项目的开发, 深入理解视频编解码算法。作为家庭软件工程师,她专注于和家庭相关的ARM数字多媒体系统架构技术。 Yang 硕士毕业于浙江大学。 她的工作地点在中国上海.
All company and product names appearing in the ARM Blogs are trademarks and/or registered trademarks of ARM Limited per ARM’s official trademark list. All other product or service names mentioned herein are the trademarks of their respective owners.

2 Comments On This Entry

Please log in above to add a comment or register for an account

Page 1 of 1

armv9 

15 December 2011 - 12:19 AM
All this sounds like rationing ( not that I want to be light on you). You might be used to low bandwidth in your utopia but other aliens want more bits shoveled from their silicon squares. There should be more pep in your IP than full HD streaming. Full HD web video conference is not premium but rather norm : please update your network.
0

Yang Zhang 

19 December 2011 - 02:10 AM
Yes, for desktop and commercial video conferencing with hardware accelerator, HD full web video conference is normal. But for mobile video conferencing, HD full is premium. Only high-end smart phone and tablet support HD or qHD. For other devices, they only support up to CIF. Otherwise, the HD software solutions are commercial and use their video collaboration technology. These are not open source. At the other hand, existing HD software solutions need 3G, 4G and Wi-Fi environments. For 3G, I think low bitrate is still important.
0
Page 1 of 1