H.265/HEVC (High Efficiency Video Coding) Status and How-To Encode Videos to H.265

Now H.264 is the main standard used for video compression, and most devices that can support video playback feature an SoCs capable of H.264 hardware video decoding. Since 2004, however, work has been done to improve H.264, and a new standard called High Efficiency Video Coding (HEVC), also referred to as H.265, will eventually replace H.264, even though this will take a few more years to really gain traction. HEVC will be able to double the data compression ratio compared to H.264 with the same quality, or improve the quality using the same bitrate, and it can support 8K UHD (Ultra High Definition) with a resolution of 7680×4320 (4320p). This new video codec is a big deal for those who pay for video bandwidth (80% of internet traffic according to Ericsson), and it should also be welcomed by consumers, as it will magically double their storage device capacity, and they may say farewell to buffering messages while watching online videos. I …

Support CNX Software – Donate via PayPal or become a Patron on Patreon

Toradex Releases Apalis Computer on Module Architecture Specification

Last month, Toradex released the preliminary specification for Apalis, a Computer on Module (CoM) architecture. Although the Apalis specification has been initially designed with ARM based processors in mind such as the Nvidia Tegra, Freescale i.MX and Texas Instruments OMAP processor families, it aims at being device and chip architecture independent. The Apallis specification defines the following: Interface Specifications: Signal Naming Convention – Rules to name pins (e.g. VCC, PWM1, PWM2, ) which are used for all modules. Signal Definition – Details about the pins named above Physical Pin Definition and Location Mechanical Specifications: Mounting and Fixation Module Size – Standard: 82 x 45mm | Extended: 82 x 56mm Pin Numbering – There is a total of 321 pin numbers (but a few less actually pins) Electrical Specifications: Power Supplies Power Control Back Feed Protection This specifications also defines mounting mechanisms for active cooling (e.g. heat spreaders) in case those are needed. I could not find licensing information, e.g. creative …

Support CNX Software – Donate via PayPal or become a Patron on Patreon

IEEE Updates 802.11 Standard to Support 600Mb/s Wi-Fi and Approves 802.1aq Standard for Large Ethernet Networks

IEEE has recently announced a standard update for WiFi (802.11-2012) which adds support for 3.7 GHz bands, 600Mb/s throughput and mesh networking among other things, and approved 802.1aq Shortest Path Bridging standard, which will streamline the creation and management of large Local and Metropolitan Area networks by using the next-generation VLANs. IEEE Wi-Fi 802.11-2012 Standard IEEE 802.11-2012 is the 4th revision of the Wi-Fi standard. It has been expanded by supporting faster and more secure devices, while offering improved Quality of Service and cellular network hand-off. Key amendments to the standard: IEEE 802.11n now defines MAC and PHY modifications to enable throughput up to a maximum of 600Mb/s Direct-link setup “Fast roam” Radio resource measurement Operation in the 3650-3700MHz band Vehicular environments, mesh networking, security, broadcast/multicast and unicast data delivery Interworking with external networks and network management. IEEE 802.11 is available for purchase for $5 at the IEEE Standards Store. For more information, you can read the press release and/or …

Support CNX Software – Donate via PayPal or become a Patron on Patreon

HbbTV Specification 1.5 Adds MPEG DASH Support

The HbbTV (Hybrid Broadcast Broadband TV) consortium, an European initiative for web-based smart TV applications for TVs and set-top boxes, has recently released version 1.5 of the HbbTV specification. The latest specification adds support for HTTP adaptive streaming based on MPEG-DASH (ISO/IEC 23009-1), improving the perceived quality of video presentation on busy or slow Internet connections. It also enables content providers to protect DASH delivered content with multiple DRM technologies based on the MPEG CENC specification (ISO/IEC 23001-7). Finally, HbbTV Version 1.5 significantly enhances access to broadcast TV schedule information (DVB-SI EIT-Schedule), enabling operators to produce full 7-day electronic program guides (EPG) as HbbTV applications that can be deployed across all HbbTV receivers to provide a consistent user experience. The diagram above show the main improvement of HbbTV 1.5 over HbbTV 1.0 that is, as mentionned above,  EIT-Schedule for EPG, MPEG-DASH for streaming video and MPEG CENC for multiple DRM schemes. The ISO/IEC blue rectangle is the part of the …

Support CNX Software – Donate via PayPal or become a Patron on Patreon

OpenMAX (Open Media Acceleration)

OpenMAX (Open Media Acceleration) is a royalty-free, cross-platform set of C-language programming interfaces that provides abstractions for routines especially useful for audio, video, and still images. OpenMAX standard is managed by the non-profit technology consortium Khronos Group. OpenMAX allows developers to take advantages of hardware media decoding/encoding. For example, If you want to play video using Raspberry Pi hardware (VideoCore IV GPU in Broadcom BCM2835) you’ll have to use OpenMAX IL. OpenMAX provides three layers of interfaces: Application Layer (AL): Open standard for accelerating the capture, and presentation of audio, video, and images in multimedia applications on embedded and mobile devices. Integration Layer (IL) : API defining a standardized media component interface to enable developers and platform providers to integrate and communicate with multimedia codecs implemented in hardware or software. Development Layer (DL): APIs containing a comprehensive set of audio, video and imaging functions that can be implemented and optimized on new CPUs , hardware engines, and DSPs and then …

Support CNX Software – Donate via PayPal or become a Patron on Patreon

Bootloader to OS with Unified Extensible Firmware Interface (UEFI)

Unified Extensible Firmware Interface (UEFI) is a specification detailing an interface that helps hand off control of the system for the pre-boot environment (i.e.: after the system is powered on, but before the operating system starts) to an operating system, such as Windows or Linux. UEFI aims to provides a clean interface between operating systems and platform firmware at boot time, and supports an architecture-independent mechanism for initializing add-in cards. UEFI will overtime replace vendor-specific BIOS. It also allows for fast boot and support for large hard drives (> 2.2 TB). There are several documents fully defining the UEFI Specification, API and testing requirements: The UEFI Specification (version 2.3.1) describes an interface between the operating system (OS) and the platform firmware. It describes the requirements for the following components, services and protocols: Boot Manager Protocols – Compression Algorithm Specification EFI System Table Protocols – ACPI Protocols GUID Partition Table (GPT) Disk Layout EFI Byte Code Virtual Machine Services — Boot …

Support CNX Software – Donate via PayPal or become a Patron on Patreon

What is GENIVI ? A Software Standard for the Automotive Industry

I’ve recently read in the news that a few operating systems had achieved GENIVI compliance. So let’s see what Wikipedia says about the GENIVI Alliance: The GENIVI Alliance was founded on March 2, 2009 by BMW Group, Delphi, GM, Intel, Magneti-Marelli, PSA Peugeot Citroen, Visteon, and Wind River Systems with the goal of establishing a globally competitive, Linux-based operating system, middleware and platform for the automotive in-vehicle infotainment industry. Since then, the alliance has expanded to more than 100 members who are working together to deliver an open and globally consistent software platform based on Linux for use by the whole car industry. So the clear goal here is to have some set of software specifications and standards (Currently GENEVI 1.0)  in the automotive industry in order to speed time to market and reduce the cost of developing Infotainment applications. GENIVI comes from a concatenation of Geneva and IVI (In-Vehicle Infotainment). GENIVI Specifications and Compliance Program As you can see …

Support CNX Software – Donate via PayPal or become a Patron on Patreon

New Revision of C++ Programming Language: C++11

The Final International Draft standard (FCD) was unanimously approved on August 12th, 2011. The standard should be published this year. The draft name of the standard is C++0x, but since it will be published this year, it should probably renamed C++11, and if there are delays in its publication it could well be renamed to C++12. You can download the 1334 pages “Working Draft, Standard for Programming Language C++” to get the full details. If you don’t feel like going thru that massive document, but still want to learn about C++0x, I recommend you check the C++0x FAQ on Bjarne Stroustrup (The creator of C++) homepage. Here are some the new features and improvements: initializer-lists – Initializer lists are not just for arrays any more uniform initialization syntax and semantics template aliases (previously know as template typedef) rvalue references defaulted and deleted functions variadic templates auto – deduction of a type from an initializer inherited constructors – decltype – the type of …

Support CNX Software – Donate via PayPal or become a Patron on Patreon