Working on transcoding acceleration with GPU/CUDA

Discussing about advanced video encoding techniques including GPU encoding, distributive encoding and segmental encoding. Topics are not limited to MediaCoder.
Post Reply
stanley
Site Admin
Site Admin
Posts: 4135
Joined: Mon May 15, 2006 7:43 pm
Location: Sydney

Working on transcoding acceleration with GPU/CUDA

Post by stanley » Fri May 08, 2009 7:04 pm

Recently I and several fellows are working on transcoding acceleration with GPU. We first start working with CUDA as it's the most mature framework for GPGPU programming today. We first attempt to optimize some simpler spatial transforms in the whole transcoding process, for example, frame scaling, equalization and denoising. At this moment, we don't dare to expect a speed-up of several times because GPGPU programming is a really new thing to us. Our first goal is just to off-load CPU with as much (not that much) as possible. If you are interested in this or have any helpful information, please discuss the topic here.
When things work together, things work.

stanley
Site Admin
Site Admin
Posts: 4135
Joined: Mon May 15, 2006 7:43 pm
Location: Sydney

Re: Working on transcoding acceleration with GPU/CUDA

Post by stanley » Sat May 23, 2009 4:05 am

Some status update:
We have successfully implemented a CUDA-based resolution down-sampler filter, which works with very little load on CPU. At the moment, down-sampling is done by CPU and is single-threaded. When converting an HD movie with resolution of 1920x1080 to iPod/PSP format, the CPU load for down-sampling is quite noticeable. During my tests, the single-threaded decoding and video filtering procedure has already become a bottleneck on a quad-core (or more cores) processor. As some load will be off-loaded to GPU, the overall transcoding speed will be improved even though we haven't yet worked on the improvement of encoders. There will be a CUDA-enabled version of MediaCoder soon (regardless of how much speed boost it will have). Later we will work out different CUDA-based video filters, like spatial/3D denoiser, pull-up/pull-down and various deinterlacer. If you are excited about this just like us, please stay tuned.
When things work together, things work.

2121
Amateur
Amateur
Posts: 36
Joined: Mon May 19, 2008 10:11 am

great

Post by 2121 » Sun May 24, 2009 10:59 am

very good use GPU but and ATI Streaming Computing SDK or Open CL?

stanley
Site Admin
Site Admin
Posts: 4135
Joined: Mon May 15, 2006 7:43 pm
Location: Sydney

Re: Working on transcoding acceleration with GPU/CUDA

Post by stanley » Sun May 24, 2009 2:27 pm

As far as I know OpenCL 1.0 is not yet finalized. We will move to OpenCL when it's finalized.
When things work together, things work.

vmmnsa
Beginner
Beginner
Posts: 7
Joined: Sun Mar 08, 2009 10:09 am
Location: Brazil

Re: Working on transcoding acceleration with GPU/CUDA

Post by vmmnsa » Fri Jun 26, 2009 5:09 am

Very nice! This will make my live so much better! I've tested one media converter that uses CUDA and I love it! It was very fast and didnt use my CPU too much! Do you have an idea of a beta release date with CUDA?
tks!

FirtY
Beginner
Beginner
Posts: 1
Joined: Tue Jun 30, 2009 8:40 am

Re: Working on transcoding acceleration with GPU/CUDA

Post by FirtY » Tue Jun 30, 2009 9:01 am

Kudos to you stan. Im happy to hear somone in the open source community is working on this, the potential is huge. iv used the only (that I know of) CUDA enabled video transcoder Badaboom & was genuinely dumbfounded at it's blistering pace! 100fps and up. Some caveat's though, i found the quality somewhat lacking & your very restricted when it comes to options, although i'd wager the folks at elemental are working steadily $$$ to remedy the problems. Having discovered mencoder/MediaCoder only recently im impressed with it's multitude and formats & containers & options as well as the quality encodes. Simple and advanced interfaces help any user up the learning curve steadily. Keep up the good work, you definetely have many thankfull users out there.
Any help i can give by the way of testing, just let me know...

pianoman6954
Beginner
Beginner
Posts: 1
Joined: Tue Jun 30, 2009 4:42 pm

Re: Working on transcoding acceleration with GPU/CUDA

Post by pianoman6954 » Tue Jun 30, 2009 5:22 pm

Even when CUDA is well implemented it lacks the precision of an on board CPU based FPUs and it effects the resulting video quality. I would like to see half of the stream processor usage to extend computational precision. Utilizing massive parallelism is a great step in encoding performance but owning a fairly powerful processor makes it hard for me to trade raw speed that is only slight better than CPU transcoding. Perhaps using the CPU to encode keyframes and the gpu to encode none motion frames.

grexe
Beginner
Beginner
Posts: 1
Joined: Sat Jul 11, 2009 5:05 am

Re: Working on transcoding acceleration with GPU/CUDA

Post by grexe » Sat Jul 11, 2009 5:17 am

tested with 2 recently purchased Bluray-discs, converted successfully and very quickly into H.264 video, worked perfectly and even faster (and more stable!) than Badaboom. Thanks very much for providing a free CUDA-enabled media-transcoder!
My system: Core i7 + 6GB RAM + Win7 x64 RC1 + NVidia GeForce 275 (Zotac) + WD 640ALS

Post Reply