CUDA H.264/AVC Encoder SDK 2.0
Hardware Accelerated Encoding for NVIDIA boards
Talking about encoding, means talking about quality and speed. The MainConcept H.264/AVC Encoder already offers the best quality available on the market. Based on a completely new development, MainConcept now presents the new CUDA H.264/AVC Encoder, offering amazing performance by making use of hardware acceleration on NVIDIA GPUs, while offering excellent quality.
With the rapid progress in GPU technology development and the millions of NVIDIA based graphics boards with CUDA in the market, taking advantage of the GPU’s power for video encoding and transcoding makes sense for both consumers as well as professional markets and industries, such as simulations in science and research, content creation, medical imaging scans, etc. In the consumer segment, CUDA transcoding speeds-up the time consuming task of converting movies into the H.264/AVC format and also reduces CPU utilization so that the computer can be used for other purposes while encoding.
MainConcept is making it even easier by providing software developers with a flexible yet powerful SDK to add CUDA accelerated transcoding to their own solutions. The MainConcept CUDA H.264/AVC Encoder SDK allows transcoding from MPEG-2, VC-1, H.264/AVC elementary streams, and raw frames into the H.264/AVC Baseline and Main Profile formats. It offers many features found in our software H.264/AVC Encoder. Using the MainConcept CUDA H.264/AVC Encoder, the whole H.264/AVC transcoding process is done on the GPUs, except for entropy encoding which is done on the CPU.
Click here, to have a look at the performance and quality test results of the MainConcept Software H.264/AVC Encoder and the CUDA H.264/AVC Encoder carried out in the NVIDIA and MainConcept performance labs.
The MainConcept CUDA H.264/AVC Encoder is compliant with any NVIDIA card supporting up to CUDA architecture 1.3 for transcoding: http://www.nvidia.com/object/cuda_gpus.html
For Windows, Mac OS X and Linux the codec package consists of a Low Level API (in the C programming language). Under Windows it additionally includes a DirectShow filter for encoding.
The Codec Package is available as 32-bit as well as 64-bit version for Windows, Mac OS X and Linux.
- Transcoding from MPEG-2, VC-1 and H.264/AVC elementary streams.
- Baseline, Main and High (with restrictions) Profile support
- I, P and B frames support
- CABAC/CAVLC entropy
- Deblocking filter
- Sub-pel motion estimation
- Intra-blocks in P-frames
- ABR rate control (Average bitrate, HRD is not maintained yet)
- Possible input video formats: YV12, YUV2, BGR2, BGR3, MPEG-2, H.264/AVC, VC-1 (H.264/AVC and VC-1 are supported for video cards with 1.1 and above architecture only – please see hardware requirements below)
- 4x4 intra partitioning
- GPU with Compute Capability less than 1.3 may experience a performance and stability issues.
- Linux 32-bit and 64-bit versions of CUDA Encoder may cause segmentation fault while encoding with GeForce GTX 590 and driver 285.05 on Red Hat 6.1
- Using of Interlace parameter leads to artifacts at non-standard resolution (720x304)
- If you have a board with more than one GPU (e.g. GTX295), there is a possible crash when you run the encoding on the second GPU.
Currently not supported
- No MBAFF support
- No Hadamard transformation
- No intra prediction 8x8
- No adaptive B-frames support
- No weighted prediction
- CUDA AVC/H.264 Encoder
- Windows, XP, Vista, Windows 7 (32-bit/64-bit)
- Apple Mac OS X 10.5 or higher (MAc/Intel), (32-bit/64-bit)
- Linux 32-bit and 64-bit system with proprietary NVIDIA drivers installed for full CUDA support
- NVIDIA graphics card with CUDA support (Professional - Tesla, Quadro 4000-series, FX, CX, NVS, QuadroPlex; Consumer - GeForce 8, 9, 100, 200, 400-series GPUs - with a minimum of 256 MB of local graphics memory card or 512 MB for 1920x1080p encoding). CUDA compute capability support only up to 1.3 (excludes certain GeForce 8800 models - GTS, Ultra. Compute capability 1.0 works in general for encoding, but has known issues. Boards with Kepler architecture are not supported.
We recommend using NVIDIA GPU Driver 260.XX version for Windows, Linux and Mac OS platforms, although other drivers might work with the MainConcept CUDA H.264/AVC Encoder as well. The encoder has not been tested with the latest drivers.
Architecture 1.3-2.X is preferred for better performance.
GPU with Compute Capability less than 1.3 may experience a performance and stability issues. For the details of the supported hardware please refer to: http://developer.nvidia.com/cuda-gpus.
There is a useful tool called CUDA-Z that will quickly analyze whether your graphics board supports CUDA Encoding or not. It can be downloaded here: http://cuda-z.sourceforge.net.
Before registering our CUDA H.264/AVC Encoder you should run this small tool to get the necessary information about CUDA support on your system.
CUDA H.264/AVC Encoder SDK v2.0 contains the following new features and improvements:
- Now also available for Mac OS X and Linux (32-bit and 64-bit).
- General performance improvements on Fermi architecture.
- Corrupted streams when using multiple encoders in one application.
- Encoder output differs from run to run in constQ mode.
- Using h264CudaOutVideoGetParSets causes corruption of bitstream.
- Runtime error after start of graph with resized picture.
- Highly improved CPU utilization on ION-2 chipsets.
- Encoder crashes when num_thread is Auto and more than 16 cores are found on the system.
- Encoder always writes interlaced flag, but interlace is not supported now.
- Memory leaks when running multiple encodes in a row.
- Multi-slice support
- Interlaced coding
- HRD and CBR support
- Low delay support
- Multiple B-frames
- Multi-reference frames
Download Performance Sheets
(pdf-file, 115 KB)
CUDA is a parallel computing architecture that is used on many graphics boards from NVidia, such as Fermi, Quadro and Tesla but is also available on GeForce and ION GPUs. It allows a significant increase in encoding performance by offloading most of the resource-intensive encoding features to the GPUs (Graphics Processing Units).
"MainConcept codecs power many of the market's best professional and consumer software applications, including applications from Adobe and Autodesk," said Andrew Cresci, general manager, vertical market solutions, NVIDIA.
"By supporting NVIDIA CUDA in their new H.264/AVC Encoder SDK, MainConcept is providing software developers around the world with a high quality solution to quickly and easily add the benefit of GPU-based video encoding to their software programs, which can be used by close to 200 million NVIDIA customers worldwide to further leverage the power of the GPU."