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 10th July 2009, 13:27   #21  |  Link
LoRd_MuldeR
Software Developer
 
LoRd_MuldeR's Avatar
 
Join Date: Jun 2005
Location: Last House on Slunk Street
Posts: 13,248
Quote:
Originally Posted by tph View Post
Any video encoder comparison needs to use raw video as input, otherwise you're benchmarking decoder performance.
Usually the decoder should be orders of magnitude faster than the encoder. So the time for decoding should be negligible.

Reading "raw" data from the HDD may actually become a bottleneck, especially for HD content...
__________________
Go to https://standforukraine.com/ to find legitimate Ukrainian Charities 🇺🇦✊

Last edited by LoRd_MuldeR; 10th July 2009 at 13:34.
LoRd_MuldeR is offline   Reply With Quote
Old 10th July 2009, 13:35   #22  |  Link
CruNcher
Registered User
 
CruNcher's Avatar
 
Join Date: Apr 2002
Location: Germany
Posts: 4,926
as the others already said a lot here is flawed settings wise comparing main vs high then the subme is totally off 0 for x264 is laughable keyint 250 vs 15 is also a good joke also would have been nice if you could add Elemental Technologies Badaboom to the test (Main Profile)

@Lord_Mulder
not entirely true especially when you decode more complex streams +higher resolution (Full HD) on Nvidias Hardware Decoder (VP2/VP3) it can be more beneficial speed wise in a encoding chain (especially if you add other GPU effects additionaly as denoising or deinterlacing to it) it heavily depends on your usage scenario Badaboom for example does this quiet good by decoding all the inputs it supports on the VP2 same scenario can be simulated for x264 with Donald Graft his Nvidia API Decoder

And it depends on a lot more for example you have a older CPU and want to encode faster now buying a complete new system maybe means to make a complete architecture change (you calculate the costs your budget explodes) now you have a old GFX card inside and decide to buy say a 8800 GT you only need to change the GFX card get future OS gimick support , 3D Games support, Video Encoding and Enhancing including a very powerful Hardware HD Decoder all in one (that is a pretty good deal) not to say all the other CUDA/OpenCL able applications that are still to come

you can say what you want but the ION platform shows here what is possible in a very small form factor with this combination putting a i7 quadcore in that case would melt it and every efficiency be wasted

And the extremest case what energy usage is worth you which encoding quality ? (though this one mostly doesn't apply for end consumers as most of the times they don't care about this question)
__________________
all my compares are riddles so please try to decipher them yourselves :)

It is about Time

Join the Revolution NOW before it is to Late !

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

Last edited by CruNcher; 10th July 2009 at 13:57.
CruNcher is offline   Reply With Quote
Old 10th July 2009, 13:56   #23  |  Link
LoRd_MuldeR
Software Developer
 
LoRd_MuldeR's Avatar
 
Join Date: Jun 2005
Location: Last House on Slunk Street
Posts: 13,248
If I get you right, you are saying that we can speed-up the decoding part even more by using GPU-accelerated decoders.

So this supports my point that using "raw" (uncompressed) input may not be the best idea.

I'd rather use a fast lossless compressor, such as HuffYUV, for the source instead of uncompressed YUV/RGB data...
__________________
Go to https://standforukraine.com/ to find legitimate Ukrainian Charities 🇺🇦✊
LoRd_MuldeR is offline   Reply With Quote
Old 10th July 2009, 14:00   #24  |  Link
CruNcher
Registered User
 
CruNcher's Avatar
 
Join Date: Apr 2002
Location: Germany
Posts: 4,926
ah sorry misunderstood you meant decoder in general not CPU Decoding here yep you right then of course raw is problematic in terms of IO and the test should be done on separate harddrives (in/out) and best with separate hardware controllers (to lower CPU utilization on a consumer system) or directly from RAM

Elemental Technologies developed based on all these requirements their own GPU powered Encoder rack http://www.elementaltechnologies.com/products/server
combining all the features of the GPU with the Power of the CPU in a Energy Efficient way (sure not yielding the best quality but for the bitrate target of it a very efficient quality HVS wise with a very good energy output).
__________________
all my compares are riddles so please try to decipher them yourselves :)

It is about Time

Join the Revolution NOW before it is to Late !

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

Last edited by CruNcher; 10th July 2009 at 14:06.
CruNcher is offline   Reply With Quote
Old 10th July 2009, 14:48   #25  |  Link
St Devious
Hardware Aspirin
 
Join Date: Jul 2007
Posts: 461
Thank you for you suggestion guys.

As I said in my OP, that there is more to come with different sources at different resolutions.

I'm not trying to advertise anyone here. Just feeding my curiosity to see what kind of encoding does the free CUDA encoder do and probably helping others feeling the same way in the process.

The settings in this encode were used to test the pure speed of x264, to see if it could be as fast as GPU encode at similar or better quality. Since that didn't happen, I will try to match the quality and see what is the difference in performance.

As to the hardware used, this is the best thing I have access to right now. Also as others said GTS 250 is a last generation GPU based on the G92 chip used in 8800GTS 512 MB, 9800GTX, 9800 GTX+.

Also I may use Badaboom and MediaShow Espresso in future if time permits.

Also I plan on using this video

1080p VBR Video Quality Test Streams
Sony HDW-F900 footage, 1080p@25, 18 Mbps average, 30 Mbps peak in a 35 Mbps Transport Stream (259,534,064 bytes)

on this page http://www.w6rz.net/ as one of the sources. Please let me know if there is another uncompressed source you would like me to try.

I'm not too sure about the questions regarding the decoder, I only have ffdshow+haali media splitter installed on my system.
I would really appreciate if you let me know If i need to change something with the decoders.

@ ajp_anton - thanks for pointing that out. I'll put the x264 CPU Usage in the next encode. The image that I put up and 95% on all 4 cores is actually the CPU Usage during the GPU encode. And the image shows the usage of all 4 cores. If you look closely, each one of them is color coded and all of them are in there. It just so happens that they are hidden behind the last one as the usage is about the same on all.

Last edited by St Devious; 10th July 2009 at 15:07.
St Devious is offline   Reply With Quote
Old 10th July 2009, 15:04   #26  |  Link
CruNcher
Registered User
 
CruNcher's Avatar
 
Join Date: Apr 2002
Location: Germany
Posts: 4,926
you can leave MediaShow Espresso away it will only let Nvidias Encoder look worse as they don't have any idea of what they doing with Nvidias API in their GUI over there @ Cyberlink i have the feeling
Stans Cli Encoder Interface to cuvidenc.dll is currently the most purest way to make usage of Nvidias Encoder API via cuvidenc.dll the other do to much insane stuff in their input Logic (most of them are optimized for Mobile Encoding and buggy as hell) for advanced usage
You only need to use GPU Decoding in a x264 chain if you compare vs Badaboom and only if the input is VP2 Decodable in your case Stans encoder is only a interface to Nvidias API so no Decoding going on there

Just to make it clear there are only 2 Nvidia Capable Cuda Encoder Cores currently (Nvidia,Elemental Technologies)

Nvidia = cuvidenc.dll coming with Nvidias driver (used by almost all 3rd party Cuda advertised products Mediashow Espresso, Nero MoveIt, Loiloscape, PowerDirector 7, Vreveal HD, Stans Cli Encoder (Mediacoder))

Elemental Technologies = Badaboom (Consumer Main Profile only),Elemental Accelerator (Professional High Profile),Elemental Server (Professional High Profile)
__________________
all my compares are riddles so please try to decipher them yourselves :)

It is about Time

Join the Revolution NOW before it is to Late !

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

Last edited by CruNcher; 10th July 2009 at 15:18.
CruNcher is offline   Reply With Quote
Old 10th July 2009, 15:08   #27  |  Link
St Devious
Hardware Aspirin
 
Join Date: Jul 2007
Posts: 461
Quote:
Originally Posted by CruNcher View Post
you can leave MediaShow Espresso away it will only let Nvidias Encoder look worse as they don't have any idea of what they doing with Nvidias API in their GUI over there @ Cyberlink i have the feeling
Stans Encoder is currently the most purest way to make usage of Nvidias Encoder API via cuvidenc.dll the other do to much insane stuff in their input Logic (most of them are optimized for Mobile Encoding and buggy as hell) for advanced usage
You only need to use GPU Decoding in a x264 chain if you compare vs Badaboom and only if the input is VP2 Decodable in your case Stans encoder is only a interface to Nvidias API so no Decoding going on there
ok, mediashow espresso is out for this round.

So If I use the video I suggested in my previous post, do i need to worry about decoding holding back the encoding ? Do I need to change anything around with the decoders ?
St Devious is offline   Reply With Quote
Old 10th July 2009, 15:20   #28  |  Link
CruNcher
Registered User
 
CruNcher's Avatar
 
Join Date: Apr 2002
Location: Germany
Posts: 4,926
Only if you compare vs Badaboom as it will decode the Mpeg-2 on your GPU best to avoid any IO differences would be decoding from a Ramdisk and additionally as output for the speed estimation into NUL.
__________________
all my compares are riddles so please try to decipher them yourselves :)

It is about Time

Join the Revolution NOW before it is to Late !

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

Last edited by CruNcher; 10th July 2009 at 15:26.
CruNcher is offline   Reply With Quote
Old 10th July 2009, 15:26   #29  |  Link
St Devious
Hardware Aspirin
 
Join Date: Jul 2007
Posts: 461
Quote:
Originally Posted by CruNcher View Post
Only if you compare vs Badaboom as it will decode the Mpeg-2 on your GPU
what about x264 vs stan's CUDA H.264 encoder with that mpeg-2 sample ? do i need to change anything ?
St Devious is offline   Reply With Quote
Old 10th July 2009, 15:40   #30  |  Link
CruNcher
Registered User
 
CruNcher's Avatar
 
Join Date: Apr 2002
Location: Germany
Posts: 4,926
CABAC on
Subme 3
partitions default
scenecut 1
bframes 2
8x8dct 1

Stans Cli Encoder
-idrp 250

not quiet sure about the partitioning though but none is definitely not reflecting Nvidias Encoder


PS: I practically have the same card as you 8800 GT (G92) but another CPU also Dual Core Athlon XP 64 Toledo

i would also add my results here your Core 2 Quad should be a lot more efficient at least in the CPU Encoding part
__________________
all my compares are riddles so please try to decipher them yourselves :)

It is about Time

Join the Revolution NOW before it is to Late !

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

Last edited by CruNcher; 10th July 2009 at 16:02.
CruNcher is offline   Reply With Quote
Old 10th July 2009, 16:04   #31  |  Link
LoRd_MuldeR
Software Developer
 
LoRd_MuldeR's Avatar
 
Join Date: Jun 2005
Location: Last House on Slunk Street
Posts: 13,248
Just to make this clear:

It's not Stan's H.264 encoder. It's just Stan's interface to NVIDIA's H.264 encoder. The very same encoder we have seen producing crap quality in other applications

Also that "encoder" was removed from the MediaCoder package due to licensing issues. At least that was the case when I last checked...
__________________
Go to https://standforukraine.com/ to find legitimate Ukrainian Charities 🇺🇦✊

Last edited by LoRd_MuldeR; 10th July 2009 at 16:14.
LoRd_MuldeR is offline   Reply With Quote
Old 10th July 2009, 16:08   #32  |  Link
CruNcher
Registered User
 
CruNcher's Avatar
 
Join Date: Apr 2002
Location: Germany
Posts: 4,926
Yes and it's clear that Nvidia didn't like that especialy the 3rd parties hehe ;D

@Lord_Mulder
anyway it was problematic with those 3rd party apps to get on the spot target results either they where crippled or buggy :P
__________________
all my compares are riddles so please try to decipher them yourselves :)

It is about Time

Join the Revolution NOW before it is to Late !

http://forum.doom9.org/showthread.php?t=168004
CruNcher is offline   Reply With Quote
Old 10th July 2009, 16:15   #33  |  Link
St Devious
Hardware Aspirin
 
Join Date: Jul 2007
Posts: 461
Quote:
Originally Posted by LoRd_MuldeR View Post
Just to make this clear:

It's not Stan's H.264 encoder. It's just Stan's interface to NVIDIA's H.264 encoder. The very same encoder we have seen producing crap quality in other applications

Also that "encoder" was removed from the MediaCoder package due to licensing issues. At least that was the case when I last checked...
Alright, let's call it Mediacoder CUDA encoder ?

And it is back in the latest release.

Quote:
Originally Posted by CruNcher View Post
Yes and it's clear that Nvidia didn't like that especialy the 3rd parties hehe ;D

@Lord_Mulder
anyway it was problematic with those 3rd party apps to get on the spot target results either they where crippled or buggy :P
I think Mediacoder has more options to configure the encoder than Badaboom, unless I'm wrong. Don't recall seeing High profile in Badaboom

@CruNcher - sure, I'll add your results too
St Devious is offline   Reply With Quote
Old 10th July 2009, 16:18   #34  |  Link
CruNcher
Registered User
 
CruNcher's Avatar
 
Join Date: Apr 2002
Location: Germany
Posts: 4,926
But Badaboom is bad to compare it's a unique core compared to the 3rd party apps and yes the consumer version has yet no High Profile support but there are sightings in the last version of High Profile and AQ support which could come soon

Oh its back so Stan payed his royalities
__________________
all my compares are riddles so please try to decipher them yourselves :)

It is about Time

Join the Revolution NOW before it is to Late !

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

Last edited by CruNcher; 10th July 2009 at 16:22.
CruNcher is offline   Reply With Quote
Old 10th July 2009, 17:22   #35  |  Link
dj_tjerk
Registered User
 
Join Date: Jun 2008
Posts: 15
First of all I have to say it's quite useless testing at your decoding/reading/(bitstream writing?) maximum (In your case, 114fps, in my case it was 118 fps). But I can't make nvidia's encoder go any slower too (as in.. give better quality) so it can't be helped.
Secondly, you're probably showing like one of the first frames for the output files, which is nice but doesn't really work for single pass --bitrate encodes. NVidia's encoder is apparantly better at that though.

If you wanna have x264 encode at the max speed too (as was the case on my system here), you might wanna go for sth like --bframes 0 --subme 5 and remove the --no-cabac. That caused no slowdown for me whatsoever in comparison to ultrafast's defaults.

Also, I looked at the output of the file encoded with mediacoder/cuda, and leaving aside that the colors are totally off, it looks a lot like abusing ttempsmooth(). Surfaces are moving nice and steady, but every couple frames almost the entire frame changes.

Last edited by dj_tjerk; 10th July 2009 at 17:26.
dj_tjerk is offline   Reply With Quote
Old 10th July 2009, 17:32   #36  |  Link
stanleyhuang
MediaCoder author
 
stanleyhuang's Avatar
 
Join Date: Sep 2005
Location: Shanghai
Posts: 65
Quote:
Originally Posted by St Devious View Post
I'm not trying to advertise anyone here. Just feeding my curiosity to see what kind of encoding does the free CUDA encoder do and probably helping others feeling the same way in the process.
Hoping some people can free themselves from prejudices.

Quote:
As to the hardware used, this is the best thing I have access to right now. Also as others said GTS 250 is a last generation GPU based on the G92 chip used in 8800GTS 512 MB, 9800GTX, 9800 GTX+.
What I was thinking is that you are using a more advanced CPU and a less advanced GPU.

BTW: I think you can use MediaCoder to do benchmark for both x264 and CUDA H.264 encoder. This will eliminate the difference in decoding.
__________________
When things work together, things work.
MediaCoder makes audio and video things work.
stanleyhuang is offline   Reply With Quote
Old 10th July 2009, 17:35   #37  |  Link
stanleyhuang
MediaCoder author
 
stanleyhuang's Avatar
 
Join Date: Sep 2005
Location: Shanghai
Posts: 65
Quote:
Originally Posted by LoRd_MuldeR View Post
Also that "encoder" was removed from the MediaCoder package due to licensing issues. At least that was the case when I last checked...
The encoder is re-added (since 0.7.1.4470) now after we signed a formal license with nvidia. We are currently working on our own cuda-based video filtering features including down-scaling, de-interlacing, 3D-denoising and pull-up.
__________________
When things work together, things work.
MediaCoder makes audio and video things work.

Last edited by stanleyhuang; 10th July 2009 at 17:43.
stanleyhuang is offline   Reply With Quote
Old 10th July 2009, 17:42   #38  |  Link
CruNcher
Registered User
 
CruNcher's Avatar
 
Join Date: Apr 2002
Location: Germany
Posts: 4,926
Stanley does Nvidia provide the API for their Cuda Encoder for free in the CUda 2.2 SDK does the usage of it needs to be licensed (payed) i guess so i mean you virtualy a competitor now to all those 3rd party applications (Cyberlink,Nero,Loilo) that make money from selling this
__________________
all my compares are riddles so please try to decipher them yourselves :)

It is about Time

Join the Revolution NOW before it is to Late !

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

Last edited by CruNcher; 10th July 2009 at 17:46.
CruNcher is offline   Reply With Quote
Old 10th July 2009, 17:46   #39  |  Link
stanleyhuang
MediaCoder author
 
stanleyhuang's Avatar
 
Join Date: Sep 2005
Location: Shanghai
Posts: 65
I am sorry I don't think I can disclose this due to the NDA we signed.
__________________
When things work together, things work.
MediaCoder makes audio and video things work.
stanleyhuang is offline   Reply With Quote
Old 10th July 2009, 17:48   #40  |  Link
CruNcher
Registered User
 
CruNcher's Avatar
 
Join Date: Apr 2002
Location: Germany
Posts: 4,926
Hehe Cyberlink and Co will be pissed if that goes around (though they have the nicer GUI) but anyway Nvidia sells their cards and is happy
How you 3rd parties fight against each other is not their thing
Yeah sure understand that confidential stuff highly business critical lol
__________________
all my compares are riddles so please try to decipher them yourselves :)

It is about Time

Join the Revolution NOW before it is to Late !

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

Last edited by CruNcher; 10th July 2009 at 17:54.
CruNcher is offline   Reply With Quote
Reply

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 09:02.


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