Welcome to Doom9's Forum, THE in-place to be for everyone interested in DVD conversion.

Before you start posting please read the forum rules. By posting to this forum you agree to abide by the rules.

 

Go Back   Doom9's Forum > Video Encoding > MPEG-4 AVC / H.264

Reply
 
Thread Tools Search this Thread Display Modes
Old 21st June 2010, 06:16   #1  |  Link
royia
Drazick
 
Join Date: May 2003
Location: Israel
Posts: 139
GPU Accelerated H.264 Encoder

Hello.
I have few video files I want to encode.
As far as I know x.264 would provide the best quality.
Yet, does it have a version which uses the GPU for acceleration?

Which encoder which does utilize the GPU (Open CL / CUDE / Stream) has the best quality?

Thanks.

Last edited by Guest; 21st June 2010 at 13:12. Reason: 12
royia is offline   Reply With Quote
Old 21st June 2010, 06:21   #2  |  Link
Midzuki
Unavailable
 
Midzuki's Avatar
 
Join Date: Mar 2009
Location: offline
Posts: 1,477
Hi there.

Please take a look at these threads:

http://forum.doom9.org/showthread.php?t=151631

&&

http://forum.doom9.org/showthread.php?t=146209

HTH.
Midzuki is offline   Reply With Quote
Old 22nd June 2010, 08:56   #3  |  Link
royia
Drazick
 
Join Date: May 2003
Location: Israel
Posts: 139
Thank You for the references.

I read what's written there and I wonder about 2 things:
1. Is there a way to accelerate some parts (To the least) of x.264 using Open CL / Direct Compute? Will we ever see something like that? That would mean a lot to many users. I read the main developer said I runs solely on the CPU, my question is it some kind of built in limitation of the code or just no effort in this direction ever been made?
2. I see x.264 us much superior to any GPU Accelerated H.264 Encoder. Yet which GPU Accelerated Encoders are considered to produce legitimate quality (Let's something above xVid in the same Bitrate).

Thanks.
royia is offline   Reply With Quote
Old 22nd June 2010, 10:34   #4  |  Link
aegisofrime
Registered User
 
Join Date: Apr 2009
Posts: 460
Quote:
Originally Posted by royia View Post
Thank You for the references.

I read what's written there and I wonder about 2 things:
1. Is there a way to accelerate some parts (To the least) of x.264 using Open CL / Direct Compute? Will we ever see something like that? That would mean a lot to many users. I read the main developer said I runs solely on the CPU, my question is it some kind of built in limitation of the code or just no effort in this direction ever been made?
2. I see x.264 us much superior to any GPU Accelerated H.264 Encoder. Yet which GPU Accelerated Encoders are considered to produce legitimate quality (Let's something above xVid in the same Bitrate).

Thanks.
Rest assured the developers have considered the possibility. In fact, accelerating part of x264 is one of the projects in x264's 2010 summer of code.

Here's the excerpt:

Quote:
GPU motion estimation

While porting x264 entirely to CUDA or OpenCL is an insane task, there are three possible methods that could be used to offload some work to the GPU:

* High-complexity motion search designed to get useful predictors to be used by the main motion search.
* Massively parallelized lookahead motion search, designed to do a lot of the work normally done in the lookahead thread. May also improve B-frame decision and other parts of the lookahead.
* Motion search designed to completely replace x264's main motion search: would require a lot of threading trickery to sync it perfectly with the main encoder threads.

The general algorithm that has been agreed on after a great deal of discussion is the hierarchical search method. If you have a better idea, feel free to propose it, of course. More description of this method is in the Qualification Tasks section.

This project is not recommended unless you have a very significant amount of experience with CUDA or OpenCL.

* Difficulty: Very High
* Amount of work: Medium
* Skill required: Very High
Source:

http://webcache.googleusercontent.co...ient=firefox-a

(google cache link because of 404)

Original link:

http://wiki.videolan.org/SoC_x264_2010
aegisofrime is offline   Reply With Quote
Old 22nd June 2010, 11:46   #5  |  Link
royia
Drazick
 
Join Date: May 2003
Location: Israel
Posts: 139
I hope someone will take it upon himself.
I wish I could help with that.

Has anyone applied for it?
royia is offline   Reply With Quote
Old 28th July 2010, 12:49   #6  |  Link
hust_xcl
Registered User
 
Join Date: Jul 2010
Posts: 11
Quote:
Originally Posted by royia View Post
I hope someone will take it upon himself.
I wish I could help with that.

Has anyone applied for it?
i am trying it now.It is hard, so I can not promise the result
hust_xcl is offline   Reply With Quote
Old 28th July 2010, 13:09   #7  |  Link
royia
Drazick
 
Join Date: May 2003
Location: Israel
Posts: 139
Quote:
Originally Posted by hust_xcl View Post
i am trying it now.It is hard, so I can not promise the result
Crossing my fingers for you.
Just for knowledge, are you aiming for Open CL or CUDA?

I wish I could help :-).
royia is offline   Reply With Quote
Old 28th July 2010, 13:26   #8  |  Link
kemuri-_9
Compiling Encoder
 
kemuri-_9's Avatar
 
Join Date: Jan 2007
Posts: 1,348
Quote:
Originally Posted by hust_xcl View Post
i am trying it now.It is hard, so I can not promise the result
there are a group of people trying to accomplish this, they can often be found talking or conversing in #x264dev on freenode.
if you're not among this group then you're at a serious disadvantage
__________________
custom x264 builds & patches | F@H | My Specs
kemuri-_9 is offline   Reply With Quote
Old 2nd August 2010, 06:13   #9  |  Link
hust_xcl
Registered User
 
Join Date: Jul 2010
Posts: 11
Quote:
Originally Posted by royia View Post
Crossing my fingers for you.
Just for knowledge, are you aiming for Open CL or CUDA?
aim for cuda
I wish I could help :-).
,i will ask for your help when i need.
hust_xcl is offline   Reply With Quote
Old 2nd August 2010, 07:17   #10  |  Link
royia
Drazick
 
Join Date: May 2003
Location: Israel
Posts: 139
Will you be using CUDA or Open CL?
royia is offline   Reply With Quote
Old 2nd August 2010, 15:10   #11  |  Link
hust_xcl
Registered User
 
Join Date: Jul 2010
Posts: 11
Quote:
Originally Posted by royia View Post
Will you be using CUDA or Open CL?
using cuda
hust_xcl is offline   Reply With Quote
Old 2nd August 2010, 15:14   #12  |  Link
hust_xcl
Registered User
 
Join Date: Jul 2010
Posts: 11
Quote:
Originally Posted by kemuri-_9 View Post
there are a group of people trying to accomplish this, they can often be found talking or conversing in #x264dev on freenode.
if you're not among this group then you're at a serious disadvantage
I want to verify my algorithm before joining them.
hust_xcl is offline   Reply With Quote
Old 2nd August 2010, 20:28   #13  |  Link
aegisofrime
Registered User
 
Join Date: Apr 2009
Posts: 460
Quote:
Originally Posted by hust_xcl View Post
I want to verify my algorithm before joining them.
Best of luck! If you succeed you shall become very famous!
aegisofrime is offline   Reply With Quote
Old 2nd August 2010, 21:13   #14  |  Link
mariush
Registered User
 
Join Date: Dec 2008
Posts: 590
I wish you would use Open CL - why limit something only to one platform... it's like designing something to work on 3dfx Voodoo2's Glide system - yes, it may work better but who knows what will happen to nVidia in a few years.
mariush is offline   Reply With Quote
Old 2nd August 2010, 21:59   #15  |  Link
Dark Shikari
x264 developer
 
Dark Shikari's Avatar
 
Join Date: Sep 2005
Posts: 8,689
Quote:
Originally Posted by mariush View Post
I wish you would use Open CL - why limit something only to one platform... it's like designing something to work on 3dfx Voodoo2's Glide system - yes, it may work better but who knows what will happen to nVidia in a few years.
On the other hand, OpenCL is missing critical features, like pointers, that are basically required (as far as we've found) to implement a lot of this...
Dark Shikari is offline   Reply With Quote
Old 3rd August 2010, 00:14   #16  |  Link
kieranrk
Registered User
 
Join Date: Jun 2009
Location: London, United Kingdom
Posts: 713
Quote:
Originally Posted by Dark Shikari View Post
On the other hand, OpenCL is missing critical features, like pointers, that are basically required (as far as we've found) to implement a lot of this...
How do you implement anything substantial without pointers?
kieranrk is offline   Reply With Quote
Old 3rd August 2010, 01:22   #17  |  Link
Dark Shikari
x264 developer
 
Dark Shikari's Avatar
 
Join Date: Sep 2005
Posts: 8,689
Quote:
Originally Posted by kieranrk View Post
How do you implement anything substantial without pointers?
Ask a Java programmer.
Dark Shikari is offline   Reply With Quote
Old 3rd August 2010, 03:40   #18  |  Link
Sharktooth
Mr. Sandman
 
Sharktooth's Avatar
 
Join Date: Sep 2003
Location: Haddonfield, IL
Posts: 11,768
may be useful: http://forums.amd.com/devforum/messa...hreadid=134809
Sharktooth is offline   Reply With Quote
Old 3rd August 2010, 05:51   #19  |  Link
ImmortAlex
Registered User
 
Join Date: Feb 2006
Location: Novosibirsk, Russia
Posts: 36
Quote:
Originally Posted by Dark Shikari View Post
Ask a Java programmer.
A quiet offtopic, but Java has pointers. We just call them 'references' What we, Java programmers, are really lost is pointer arithmetic...
ImmortAlex is offline   Reply With Quote
Old 3rd August 2010, 10:56   #20  |  Link
Reimar
Registered User
 
Join Date: Jun 2005
Posts: 278
Quote:
Originally Posted by Dark Shikari View Post
On the other hand, OpenCL is missing critical features, like pointers, that are basically required (as far as we've found) to implement a lot of this...
Happen to have a reference at hand? I've only used CUDA, but my impression was that you rarely really need completely general pointers, since you have to copy the data to the GPU anyway and transforming it so far that e.g. everything ends up in a single buffer is not really a problem.
Reimar is offline   Reply With Quote
Reply

Tags
encoder, gpu, h.264

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +1. The time now is 10:23.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, vBulletin Solutions Inc.