NaneNare
NaneNare

Reputation: 45

difference between Hybrid and Hardware decoding

For iOS Players (such as AVPlayer or oPlayer) exist Hybrid and Hardware decoding settings. Both are designed for h.264 codec (for normally play HD files with h.264 codec). I don't understand difference between them.

Can someone explain me?

Upvotes: 0

Views: 2202

Answers (2)

Ganesh
Ganesh

Reputation: 5990

When a decoder is labelled as a Hardware decoder, it means that the decoding is completely performed by a hardware block in the platform. When such fixed function hardware blocks are present, one of the main factors to consider is that the functionality would be limited i.e. only those features supported by the hardware decoder will be supported and in case, a new feature is required, you will have to go in for a re-design and re-spin of the same.

The main advantage of a hardware decoder is that it is usually power efficient as the hardware is specifically designed to implement the functionality. In addition to this, the overall system performance is also optimized by matching the formats of the output of the hardware decoder block to the GPU.

When a decoder is labelled as a Software decoder, it is pure software based implementation of the codec running on the CPU. This implementation methodology helps to extend the functionality of the underlying codec as it is just replacing an older version of SW with a newer one.

The main disadvantage of a software decoder is that it will be power intensive. With large memory accesses for larger video resolutions, the power requirement for Software decoder increases heavily and drains battery faster. This is definitely not a good option for large resolutions and for long durations of playback.

Hybrid decoders are another class of decoders which integrate a software module that acts as a pre-processor typically with an underlying hardware engine. For example, if there is an underlying high performance DSP or SIMD engine, then the pre-processor can perform the serial portions of the decoding like CAVLD and other header/bit parsing operations, whereas the more complex mathematical part of operations like Intra Prediction, Motion Compensation would be performed by an underlying hardware block.

Some of the Hybrid decoders are also considered as Hardware decoders, but increasingly there are newer Hardware decoders available in the world today.

Upvotes: 1

Goz
Goz

Reputation: 62333

Hardware uses the GPU (or specific hardware) to do the video decoding. Software uses the CPU to do the decoding. Hybrid is a mixture of the 2.

These days the "hardware" moniker is increasingly becoming a misnomer ...

Upvotes: 0

Related Questions