View Full Version : H.264 Hardware Accelarators Using
Dave1024
1st May 2011, 19:06
Hi,
I would like to know how we can use Hardware Accelarators in H.264 blocks like CAVLC, CABAC, MC and in loop deblock filter.
For getting the knowledge i would like to split the question in to following area's
1. What is the syntax of the hardware accelarators function
2. How it helps in profiling to save MCPS.
3. How the scheduling is done with the hardware accelarators.
Here i want to collect some general initial information so platform is not a problem.
Please share some specific reference spots.
:thanks:
Dave
LoRd_MuldeR
1st May 2011, 19:43
I would like to know how we can use Hardware Accelarators in H.264 blocks like CAVLC, CABAC, MC and in loop deblock filter.
Some info here:
* http://forum.doom9.org/showpost.php?p=1324472&postcount=13
* http://forum.doom9.org/showpost.php?p=1135399&postcount=17
What is the syntax of the hardware accelarators function
The API, and thus the exact syntax, is different for CUDA (Nvidia), Stream (ATI) and OpenCL (both).
And they all have API documentation, programming guides and SDK's available for download, if you need details...
How the scheduling is done with the hardware accelarators
Basically each kernel ("GPU program") is executed as a grid of thread blocks. And each thread block contains a number of threads that can cooperate (via shared memory).
The hardware-scheduler on the GPU takes care of mapping the thread blocks onto the available multi-processors. Again, see the documentation for details...
BTW: If you are not referring to GPU programming ("GPGPU"), but to the hard-wired H.264 decoder chips which most GPU's have built-in: These are basically "black boxes" which take a H.264 bitstream as input and return decoded pictures. They are accessibly through the DXVA API, on Nvidia cards also through the NVCUVID API. The caller doesn't/shouldn't need to deal with the internals and usually the internals aren't exposed to the programmer.
Rumbah
2nd May 2011, 00:49
They are accessibly through the DXVA API, on Nvidia cards also through the NVCUVID API.
Since december you can access the hardware decoder in ATI/AMD chips via OpenCL, too (ATI Stream/AMD APP SDK 2.3).
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.