Log in

View Full Version : Some questions about H.264 and GPGPU


GaBBa-Gandalf
28th December 2009, 00:34
Hello guys,

Unfortunately I don't have a lot of knowleage about x264 encoder / decoder etc....

Here are some questions i would like answered:

1. ATI and nvidia have quite a few options to use the gpu to calculate task around encoding... ATI = Stream, nvidia = Cuda...
Which technology is easier to use and which would you recommend?

2. You can encode movie files to x264 (or h.264 ?) ... Which method would you recommend (CPU or GPU)?

3. What is the best application (encoder / gui) right now to get good quality?

4. Are there some tutorials that explain all these x264 settings and show which setting should you use for good quality?

4. I read something about for example the newer gpu generation having some options to accelerate HD-Movies (depending on the codec). Which GPU would you recommend for htpc?

I also have tons of other questions - but i guess that should be enough for this moment ;)

Thanks,

GaBBa

Chengbin
28th December 2009, 00:43
1. ATI and nvidia have quite a few options to use the gpu to calculate task around encoding... ATI = Stream, nvidia = Cuda...
Which technology is easier to use and which would you recommend?

Utterly useless if you care the slightest bit about quality

2. You can encode movie files to x264 (or h.264 ?) ... Which method would you recommend (CPU or GPU)?

H.264 is the video format. x264 is the name of the software that takes a video and converts it to H.264.

Always use x264

3. What is the best application (encoder / gui) right now to get the best / "highest" quality?

Read the rules. It is not allowed to ask what's best. Best is subjective.

4. Are there some tutorials that explain all these x264 settings and show which setting should you use for good quality?

http://mewiki.project357.com/wiki/X264_Settings

4. I read something about for example the newer gpu generation having some options to accelerate HD-Movies (depending on the codec). Which GPU would you recommend for htpc?

Price?

Dark Shikari
28th December 2009, 00:46
2. You can encode movie files to x264 (or h.264 ?) ... Which method would you recommend (CPU or GPU)?

3. What is the best application (encoder / gui) right now to get the best / "highest" quality?x264 is a piece of software. It runs on your CPU. There is no "x264 for GPU". And while asking what is "best" is against the rules, one can certainly say that in terms of compression, none of the currently available GPU encoders are competitive.4. Are there some tutorials that explain all these x264 settings and show which setting should you use for good quality?Read the --help and use the presets.

GaBBa-Gandalf
28th December 2009, 00:50
Thanks for the information.
OK. sry.. Then I will ask, which encoder would you use or recommend...?

Price? It doesn't really mather... I thought about an ATI HD 5750 or an GeForce GT 240...

PS Thanks for that link...

Dark Shikari
28th December 2009, 00:52
Thanks for the information.
OK. sry.. Then I will ask, which encoder would you use or recommend...?What, do you think I'd recommend something other than x264? ;)

GaBBa-Gandalf
28th December 2009, 01:09
I guess not ;)

It is so .... I don't have all the knowlage like you guys have... (you have my respect ;) )
I'm just searching for an easy but good application where I can configurate alle important settings....

It is a bummer that the gpu-encoding isn't competitive yet ... I guess to encode videos needs very long time with a normal cpu ..

GaBBa

Dark Shikari
28th December 2009, 01:14
It is a bummer that the gpu-encoding isn't competitive yet ... I guess to encode videos needs very long time with a normal cpu ..Completely unrelated.

GPU encoders are fast and crap because they do very minimal analysis. x264 is also fast and crap if you tell it to do very minimal analysis, with --preset ultrafast or --preset veryfast.

The main difference is that GPU encoders don't have any options other than "fast and crap".I'm just searching for an easy but good application where I can configurate alle important settings....If you're looking for a GUI, there are literally dozens: Handbrake, Staxrip, Ripbot264, ASXGui, HDConvertToX, and many more...

GaBBa-Gandalf
28th December 2009, 01:16
OK thanks for your information so far... I guess i still have to read a lot ;)

cogman
28th December 2009, 04:09
OK thanks for your information so far... I guess i still have to read a lot ;)

Check out the AVC gui forum here. A lot of the options available are listed there.

Staxrip is a common choice, MeGui is also common but not recommended. (it USED to be all right, but it has gone down hill pretty fast)

Personally I prefer straight x264 + avisynth + avs2yuv. You lose the pretty buttons, but gain full control.

BTW. Your question #1
AMD has pretty much abandoned their attempt at a GPGPU language. So now the only choices are CUDA (not for AMD) and OpenCL (Have they implemented it yet at the driver level?).

From what I've experienced, cuda is overly complex to use. I still haven't gotten a working simple program to compile and run with it. OpenCl seams promising, however, I haven't compiled a single program with it yet either.

For inter-card operability, OpenCL is going to be the way to go. It has the support of AMD, Intel, and nVidia. Cuda is only for nVidia cards.

julius666
28th December 2009, 11:16
AMD has pretty much abandoned their attempt at a GPGPU language. So now the only choices are CUDA (not for AMD) and OpenCL (Have they implemented it yet at the driver level?).

Yes, they have:
http://developer.amd.com/GPU/ATISTREAMSDK/Pages/default.aspx

Caroliano
28th December 2009, 22:42
From what I've experienced, cuda is overly complex to use. I still haven't gotten a working simple program to compile and run with it. OpenCl seams promising, however, I haven't compiled a single program with it yet either.
Complex??? Look how small and simple is an Hello World program for cuda:
http://mihirknows.blogspot.com/2008/04/first-hello-world-program-from-cuda_03.html
[/sarcasm]

Ok, jokes aside, an simple program that is probably compilable:
http://mihirknows.blogspot.com/2008/03/hello-world-with-cuda.html

And no, I don't know programming. I'm only sharing some links.

Guest
29th December 2009, 02:08
MeGui is also common but not recommended. (it USED to be all right, but it has gone down hill pretty fast) Zathor is putting out new versions that are just fine and work well with the latest x264.exe.

aegisofrime
29th December 2009, 02:11
Did you see how long that Hello World code was? A C++ program will do it in 5 lines.

Of course, the main problem is that CUDA doesn't support strings, as the article said. I guess x264 mainly deals with numbers so it won't be that big of a problem, but still... CUDA looks like a pain to code for. Not that I'm an expert programmer or anything.