Implementations have evolved from simple Interleaved Multi-Threading (IMT) to more advanced prioritized scheduling to obtain the maximum efficiency to schedule as many execution slots as possible. "All versions of the Hexagon DSP core are hardware multi-threaded to enable superior concurrency needed in mobile applications. Qualcomm's processor is called Hexagon Digital Signal Processor (DSP), and it supports multithreading. The more you say, the more you show your lack of knowledge. SShock, Really? And what is encoding your videos? If you believe it. Stop saying things you have no knowledge of and acting rudely when you get called out on it. All are possible places to parallelize the encoder." Finally, the macroblock can be separated into block and sub-block units. The slice can be further decomposed into a macroblock, which is the unit of motion estimation and entropy coding. Each slice is an encoding unit and is independent of other slices in the same frame. As shown Figure 1 below, the H.264 encoder treats a video sequence as many groups of pictures (GOP). These functions could be explored for opportunities to make these tasks parallel.ĭata domain decomposition. The reference frames also need inverse qualification, inverse integral transformation, and filtering. Each frame should experience a number of functional steps: motion estimation, motion compensation, integral transformation, quantization and entropy coding. You can divide the H.264 encoding process into multiple threads using either functional decomposition or data-domain decomposition.įunctional decomposition. * How the second implementation uses one task queue * How the first implementation uses two slice queues * The criteria of choosing data or task partitions To achieve the greatest speed increases over well-tuned sequential code on a processor with HT Technology, you should consider the following characteristics as you re-design the H.264 encoder for parallel programming: moreBy the way, this old article explains video encoding with multithreading very well: īy exploiting thread-level parallelism at different levels, you can take advantage of potential opportunities to increase performance. SShock, Wow, you can read the brochure! You must be an expert then!.
0 Comments
Leave a Reply. |