Log in

View Full Version : What is current status for hardware H.265 encoding.


Pages : [1] 2 3 4 5 6 7 8 9 10 11 12 13 14

pandy
16th September 2015, 12:43
I'm currently aware only of 2 relatively cheap technologies with H.265 HW encoding capabilities.
1. Nvidia NVENC http://developer.download.nvidia.com/compute/nvenc/v5.0_beta/NVENC_DA-06209-001_v06.pdf
2. Intel QuickSync https://software.intel.com/sites/default/files/managed/3b/f2/Intel_HEVCwhitepaper_v1.45_06Apr2015.pdf

My goal is to have real time encoding of H.265 with 4k, 50fps, 10 bit per component.
(but 8 bit depth for component is also acceptable - depends on many factors)

nevcairiel
16th September 2015, 13:27
AFAIK both NVENC and QuickSync are 8-bit only for HEVC encoding, at least on current hardware.

pandy
17th September 2015, 09:38
AFAIK both NVENC and QuickSync are 8-bit only for HEVC encoding, at least on current hardware.

Yep, NVENC seem to be limited to 8 bit, QSV is not clear to me as i have a bit confusing information's from Intel.

----
I will change conditions in my question to 8 and 10 per component.

kolak
17th September 2015, 13:00
There is this:

https://communities.intel.com/community/itpeernetwork/datastack/blog/2015/09/10/new-intel-visual-compute-accelerator-makes-its-debut


which is close to 2x realtime for UHD at decent quality apparently. Ittiam has ready solution which works with it.

stax76
17th September 2015, 16:14
I'm currently aware only of 2 relatively cheap technologies with H.265 HW encoding capabilities.
1. Nvidia NVENC http://developer.download.nvidia.com/compute/nvenc/v5.0_beta/NVENC_DA-06209-001_v06.pdf
2. Intel QuickSync https://software.intel.com/sites/default/files/managed/3b/f2/Intel_HEVCwhitepaper_v1.45_06Apr2015.pdf

My goal is to have real time encoding of H.265 with 4k, 50fps, 10 bit per component.
(but 8 bit depth for component is also acceptable - depends on many factors)

If you are looking for a GUI you can take a look at StaxRip, it supports H.265 hardware encoding using the command line tools QSVEncC and NVEncC.

H.265 encoding with QSVEncC requires Intel Skylake.

H.265 encoding with NVEncC requires NVIDIA Maxwell but I'm not sure if all Maxwell cards support it, it definitely works with GTX 960.

pandy
18th September 2015, 15:21
There is this:

https://communities.intel.com/community/itpeernetwork/datastack/blog/2015/09/10/new-intel-visual-compute-accelerator-makes-its-debut


which is close to 2x realtime for UHD at decent quality apparently. Ittiam has ready solution which works with it.

Thx for this - i saw this at IBC - Intel engineers says "is completely new solution only 2 day old"...
That's why i'm trying to collect all those puzzles - in case of Intel it is extremely difficult as they have different divisions talking about same product group.

If you are looking for a GUI you can take a look at StaxRip, it supports H.265 hardware encoding using the command line tools QSVEncC and NVEncC.

H.265 encoding with QSVEncC requires Intel Skylake.

H.265 encoding with NVEncC requires NVIDIA Maxwell but I'm not sure if all Maxwell cards support it, it definitely works with GTX 960.

GUI not needed if commands are sufficiently documented, from my perspective quality is also not so important - i would have available up to 40 - 50Mbps per stream and it will be used internally (so over 1GbE link).
More important is to accept some sources and provide basic ip streaming capabilities (ffmpeg/gstreamer looks like perfect tools from my perspective).

kolak
21st September 2015, 13:25
Thx for this - i saw this at IBC - Intel engineers says "is completely new solution only 2 day old"...
That's why i'm trying to collect all those puzzles - in case of Intel it is extremely difficult as they have different divisions talking about same product group.




Development was lead by Polish developer, Tomasz Madajczak (I think). It's quite easy to find direct email :)

pandy
22nd September 2015, 11:57
Development was lead by Polish developer, Tomasz Madajczak (I think). It's quite easy to find direct email :)

I've contacted with Fred Fan from Intel - He said that Intel VCA should be available from now on Intel distributors list...
Need to find one...


btw slightly ot but it will be appreciated to hear some opinions about Intel analyzer and conformance/stress bitstream library (and encoder).

pieter3d
22nd September 2015, 18:21
I actually wrote the original Intel Pro Analyzer from scratch when I worked there, so my opinion is of course biased. However I think it's quite good, I designed it to address the issues I've always had with other tools I've had to use before. The competing product Parabola Explorer is quite nice too.

Parabola
22nd September 2015, 19:02
... Parabola Explorer is quite nice too.

Thanks Pieter! We saw the Intel analyzer at IBC and it looked nice on a large 4k screen. In many ways it now seems remarkably similar to our Parabola Explorer but Intel is asking an order of magnitude more $ for a license.

Regarding the conformance streams, consider also those from Argon Design (no connection). Also there is a freely available set of conformance streams on the ITU website. Parabola and others have found gaps in the coverage of the ITU set and contributed our own streams to cover specific corner cases.

I understand Intel's HEVC encoding is reasonably good too although I have not had a chance to try it.

pandy
23rd September 2015, 13:49
Thx guys - my question related to analyzer will be easier to understand when You think MTS4xxx from Tek as a reference point (both capabilities and price) so in other words - searching something similar but more affordable from $$$ perspective.

Streams - this is slightly more complex than just $$$ (but reference is of course Allegro where company i work is close to buy - i'm not convinced if with this kind of money this most optimal solution - don't get me wrong - i know that this is very niche product and due of this high price) as i need fit inside particular distribution chain where short streams looping very bad (have no clue why - i have no access to system, can't verify or change anything) - that's why Intel configurable encoder where i can generate long time sequence with particular stress will be very nice to have - stress not only to decoder but also to remain part of system, also to measure power consumption and thermal signature...

iwod
23rd December 2015, 10:07
I'm currently aware only of 2 relatively cheap technologies with H.265 HW encoding capabilities.
1. Nvidia NVENC http://developer.download.nvidia.com/compute/nvenc/v5.0_beta/NVENC_DA-06209-001_v06.pdf
2. Intel QuickSync https://software.intel.com/sites/default/files/managed/3b/f2/Intel_HEVCwhitepaper_v1.45_06Apr2015.pdf

My goal is to have real time encoding of H.265 with 4k, 50fps, 10 bit per component.
(but 8 bit depth for component is also acceptable - depends on many factors)

From the Intel PDF the SDK is not available on Apple OSX AGAIN!

Any one could take a guess why Intel / Apple are disallowing the use of 3rd party QuickSync on OSX.

XMonarchY
30th December 2015, 03:02
So even if my HDTV is using 12bit output and the game I am recording uses deep color, like Alien: Isolation (10bit+), then will I still only get 8bit with NVENC?

pandy
4th January 2016, 11:46
So even if my HDTV is using 12bit output and the game I am recording uses deep color, like Alien: Isolation (10bit+), then will I still only get 8bit with NVENC?

Seem that yes - also QSV is 8 bit limited, for 10 bit seem CPU work in kind of hybrid mode...

From the Intel PDF the SDK is not available on Apple OSX AGAIN!

Any one could take a guess why Intel / Apple are disallowing the use of 3rd party QuickSync on OSX.

Isn't this tightly coupled with Apple business model?

Blue_MiSfit
13th April 2016, 01:46
I'm surprised with how good NVENC HEVC is! I encoded my usual 1080p24 test clip in 4 Mbps VBR (15 Mbps peak) and it looked surprisingly good.

The encode ran at 150 fps on my GTX 960 / 4 Ghz quad core Skylake.

JohnLai
13th April 2016, 04:48
I'm surprised with how good NVENC HEVC is! I encoded my usual 1080p24 test clip in 4 Mbps VBR (15 Mbps peak) and it looked surprisingly good.

The encode ran at 150 fps on my GTX 960 / 4 Ghz quad core Skylake.

......Be ready to cry with Nvenc HEVC lack of b-frame, SAO, 64 CTU size.

4Mbps FOR 1080P24? Use adaptive quantization and use twopass mode (VBR2Pass is really slow)

Note: I am not sure about skylake hevc encoding standard support because I don't have one.

benwaggoner
14th April 2016, 18:46
Note: I am not sure about skylake hevc encoding standard support because I don't have one.
I believe that Skylake is the first chipset to support 10-bit HEVC decode, so perhaps it's the first that might support 10-bit encode. But I don't actually know if it does.

I don't see any near-term change in the fundamental rule that HW and GPU based encoding can be great to get decent quality quickly or with low power, but that high-quality/efficiency encoding is primarily going to be done on CPU. There are some things about HEVC that may make GPU accelerated encoding more feasible than with H.264, but there are also lots more logical choices between the many more different ways to do things that need to be made, which happen on the CPU.

I'm more excited about AVX-512 to improve encoding speed (and thus allow higher quality with the same performance). It won't do much for H.264, but should be quite helpful with HEVC.

sneaker_ger
14th April 2016, 18:55
Skylake only does hybrid 10 bit HEVC decoding. Kaby Lake will bring fixed function 10 bit decoding. Don't know about encoding.

AVX-512 is really complicated. Some chips will have it but only partially. It seems we won't get widespread AVX-512 for end users until Cannonlake.

nevcairiel
14th April 2016, 23:23
Only high-end Skylake Xeons will have it (2017), Cannonlake will be the first consumer generation with AVX-512, at least thats rumored so far.

JohnLai
15th April 2016, 04:07
I believe that Skylake is the first chipset to support 10-bit HEVC decode, so perhaps it's the first that might support 10-bit encode. But I don't actually know if it does.

I don't see any near-term change in the fundamental rule that HW and GPU based encoding can be great to get decent quality quickly or with low power, but that high-quality/efficiency encoding is primarily going to be done on CPU. There are some things about HEVC that may make GPU accelerated encoding more feasible than with H.264, but there are also lots more logical choices between the many more different ways to do things that need to be made, which happen on the CPU.

I'm more excited about AVX-512 to improve encoding speed (and thus allow higher quality with the same performance). It won't do much for H.264, but should be quite helpful with HEVC.

Well, for some, it is all speed and quality regardless of file size (how much does 4TB HDD cost anyway?)

The only problem I have with hardware based encoder is the standard support. I was planning to buy new budget Skylake CPU to replace my old Pentium Dual Core E5700. But after reading Intel response about B-frame.......I kinda hesitate...

https://software.intel.com/en-us/forums/intel-media-sdk/topic/623600

So, what is Low Delay B-frames (LDB) or Generalized P/B (GPB) ???

hyongmin
1st June 2016, 04:51
Sorry, I didn't see the 2x number in this blog.
Would you please point it out for me? Thanks


There is this:

https://communities.intel.com/community/itpeernetwork/datastack/blog/2015/09/10/new-intel-visual-compute-accelerator-makes-its-debut


which is close to 2x realtime for UHD at decent quality apparently. Ittiam has ready solution which works with it.

kolak
1st June 2016, 20:50
??

I know people who have access to it.

FancyMouse
5th June 2016, 00:48
So, what is Low Delay B-frames (LDB) or Generalized P/B (GPB) ???
I have seen somewhere that the term low-delay B-frames means B frame referencing only previous frames (i.e. IPPB where B refers to P1P2, but not traditional IPBPI hierarchy). This is low-latency because such B frames only rely on already-output frames which don't increase latency.
Not sure it's the same thing in your context, though.

bajarwas
14th July 2016, 04:57
has anyone tested the encoding capabilities of the new graphics cars from Nvidia and AMD ?

GTX 10s series (1070/1080)
RX480

pandy
17th July 2016, 10:55
has anyone tested the encoding capabilities of the new graphics cars from Nvidia and AMD ?

GTX 10s series (1070/1080)
RX480

Nope... but AMD seem to be out of area of my interests (checked VCE specification and all information's available and it looks like no match to even current available consumer solutions i.e. Intel and NVidia - this is sad as nowadays even FPGA receive H.265 encoder as a part of SoC e.g. Xilinx Zynq) - i will try to buy 1060 (all i need is HW encoding) - currently use 980 and IMHO NVenc functionality is better than QSV - Intel is somehow less stable and more vague also less fps produced - my comment is not about quality but easy to use and how stable it is - big plus for NVidia on this (my goal is to create real time video services for testing - this don't need to be hq video and as i have almost 40Mbps available then it will be hq video).

IMHO 1060 (or 1070) should be first consumer HW encoder capable to provide 60 fps on H.265 (HEVC) - i observe in my setup that 980 is not capable to provide more than 30 fps on H.265 - QSV is slower than NVidia.

NikosD
19th July 2016, 21:21
Nope... but AMD seem to be out of area of my interests (checked VCE specification and all information's available and it looks like no match to even current available consumer solutions i.e. Intel and NVidia - this is sad as nowadays even FPGA receive H.265 encoder as a part of SoC e.g. Xilinx Zynq)



Polaris 10 (RX 480 & 470) and Polaris 11 (RX 460) offer 4K60fps HEVC HW encoding and 4K120fps HEVC HW decodong.


i will try to buy 1060 (all i need is HW encoding) - currently use 980 and IMHO NVenc functionality is better than QSV - Intel is somehow less stable and more vague also less fps produced - my comment is not about quality but easy to use and how stable it is - big plus for NVidia on this (my goal is to create real time video services for testing - this don't need to be hq video and as i have almost 40Mbps available then it will be hq video).


Skylake's HW HEVC encoder and Haswell and onwards HW H.264 encoder are far more flexible and with more encoding options than Nvidia or AMD.

Better quality and better speed using smaller files.


IMHO 1060 (or 1070) should be first consumer HW encoder capable to provide 60 fps on H.265 (HEVC) - i observe in my setup that 980 is not capable to provide more than 30 fps on H.265 - QSV is slower than NVidia.

Do you have a skylake to compare HW H.265 encoding with Nvidia HW H.265 encoding ?

Which app do you use ?

You should try QSVEncC in order to find out that Skylake has faster and better quality HW H.265 encoding than Nvidia.

Also as I wrote on my first post Polaris 10 and 11 have already brought us 4K60 fps HW H.265 encoding.

easyfab
19th July 2016, 22:14
Polaris 10 (RX 480 & 470) and Polaris 11 (RX 460)



Skylake's HW HEVC encoder and Haswell and onwards HW H.264 encoder are far more flexible and with more encoding options than Nvidia or AMD.

Better quality and better speed using smaller files.



And Skylake HEVC vs nvidia pascal with new NVENC SDK 7.0 ?
Which has the best quality ?
I see in Encoder Application Note -> https://developer.nvidia.com/nvidia-video-codec-sdk
new features for pascal cards like SAO ( with this comment : Significantly improves encoded video quality for HEVC. )
But no B-frames with HEVC :(

If someone can do tests It would be very interseting to see if it really give some nice quality boost. rigaya has new NVEnc 2.08 for that.

JohnLai
20th July 2016, 03:59
And Skylake HEVC vs nvidia pascal with new NVENC SDK 7.0 ?
Which has the best quality ?
I see in Encoder Application Note -> https://developer.nvidia.com/nvidia-video-codec-sdk
new features for pascal cards like SAO ( with this comment : Significantly improves encoded video quality for HEVC. )
But no B-frames with HEVC :(

If someone can do tests It would be very interseting to see if it really give some nice quality boost. rigaya has new NVEnc 2.08 for that.

~.~ and no 64x64 CU size too. Larger CU size is critical for 4K video.
Implemented look-ahead function is just being used to determine where to place I (HEVC and H264) and B (H264) frames optimally. Something like 'scenecut', it does its job well.....I-Frames are inserted during every scenechange from what I can check using HEVC bitstream analyser.

At least there is quality improvement from using look-ahead and Long-Term Reference pictures.

The only weird option from the SDK is ;
uint16_t targetQuality; /**< [in]: Target CQ (Constant Quality) level for VBR mode (range 0-51 with 0-automatic) */

It said, CQ for VBR, does this mean there is no need to specify vbr bitrate value anymore? How about the Initial QP value? Or QP min and Max?
Constant Quality VBR? --> Does this vary bitrate or quantizer for nvenc case? Documentation mentions Enables Constant Quality Mode where in video quality can be chosen by a quality factor.

pandy
23rd July 2016, 17:07
Polaris 10 (RX 480 & 470) and Polaris 11 (RX 460) offer 4K60fps HEVC HW encoding and 4K120fps HEVC HW decodong.

Source please as AMD is quite silent and only some bits where decoding is mentioned but encoding for 3840x2160@Main10 60fps is not mentioned at all.


Skylake's HW HEVC encoder and Haswell and onwards HW H.264 encoder are far more flexible and with more encoding options than Nvidia or AMD.

Better quality and better speed using smaller files.

Maybe yes but it is less stable than NVenc side to this seem performance is lower.



Do you have a skylake to compare HW H.265 encoding with Nvidia HW H.265 encoding ?

Yes, Intel Core i7-6700K

Which app do you use ?

ffmpeg


You should try QSVEncC in order to find out that Skylake has faster and better quality HW H.265 encoding than Nvidia.

I need to generate in real time transport stream and ffmpeg seem to be best for my needs - side to this i assume ffmpeg i just wrap-app around Intel plugin that need to be anyway explicitly loaded.


Also as I wrote on my first post Polaris 10 and 11 have already brought us 4K60 fps HW H.265 encoding.

And once again please provide me some reliable source for this information - for today NVidia provide best developer support, later Intel and AMD... well - silence.

Roph
27th August 2016, 08:44
Just thought I'd share this stuff here too since I don't see anyone else encoding H.265 on their AMD Polaris GPU yet.

Source Sample (http://dump.roph.eu/vce/hevc/Source%20(1080p).mkv) - ~15mbps H.264 1080p, bluray rip.

AMD HEVC VCE Encodes: (You will have to save these files and view them locally most likely, only Microsoft Edge seems to be able to play HEVC in-browser)

1080p: 3mbps (http://dump.roph.eu/vce/hevc/3mbit%20(1080p).mp4) / 2.5mbps (http://dump.roph.eu/vce/hevc/2.5mbit%20(1080p).mp4) / 2mbps (http://dump.roph.eu/vce/hevc/2mbit%20(1080p).mp4) [edit] 3mbps with 150 GOP (http://dump.roph.eu/vce/hevc/3mbit%20(1080p)%20(150%20GOP).mp4) / 3mbps with 300 GOP (http://dump.roph.eu/vce/hevc/3mbit%20(1080p)%20(300%20GOP).mp4)

720p: 1.5mbps (http://dump.roph.eu/vce/hevc/1.5mbit%20(720p).mp4) / 1mbps (http://dump.roph.eu/vce/hevc/1mbit%20(720p).mp4)

Example of settings:
http://dump.roph.eu/vce/hevc/Settings.png

What's also incredible is the encoding speed. Sure, GPU H265 won't match software x265, but at ~5-10fps on my CPU there is no comparison to getting 360fps on the GPU:

https://i.imgur.com/l2CJTAh.png

Encoding speed varies with resolution, over 500fps for low resolution stuff like DVD resolution. The 360fps I achieved in the screenshot was encoding 960x540. 720p yields about 220fps, 1080p about 120, 4K about ~40. However I think I'm software/CPU limited on some of these.

The Tool I'm using is called A's video converter, officially it only supports H.264 via AMD's VCE though the developer kindly provided a test build with H.265 support for polaris - they don't own a polaris GPU yet.

I assumed they used AMD's recently released Media SDK though apparently it doesn't support HEVC yet. Another developer did some poking and assumes they're querying the GPU through media foundation - which may be another encoding speed bottleneck factor.

Overall I'm very impressed with the quality. This also isn't the best quality that an AMD GPU can encode HEVC with, there is no use of the 2-Pass functionality which would greatly improve quality further.

This will probably be my only post here as the doom9 forum post requirements with these questions are ridiculous. Instead I'm happy to post more at videohelp: http://forum.videohelp.com/threads/380081-AMD-Polaris-(Radeon-RX-4xx)-H265-Encoding-Samples

NikosD
27th August 2016, 09:02
Indeed AMD has recently moved from its Media SDK to AMF (Advanced Media Framework) SDK which is part of GPUOPEN and it is open source.

It's OS and Framework agnostic and provides access to decoding UVD and encoding VCE fixed-function units along with pre/post processing.

From MediaSDK v1.1 we now have AMF v1.3 with HEVC support.

The runtime is inside the drivers for easy update and maintenance.

BTW the developer of A's converter is the same of the DXVA Checker.

Doom9 I think asks questions only the first time, then you could post freely.

Thanks for your post anyway.

JohnLai
27th August 2016, 11:58
Just thought I'd share this stuff here too since I don't see anyone else encoding H.265 on their AMD Polaris GPU yet.



So...if you ever return here........The sample:
No B-Frame.
No SAO.
Okay....., full PU 4x4 until 32x32 for Intra PU. As for Inter PU, 64x64 LCU available. But it is not complete.
Inter Frame PU sizes:
8x8
8x16
16x8
16x16
16x32
32x16
32x32
32x64
64x32
64x64

P-Frame still refers to 1 previous frame instead of multiple preceding frames. (Nvidia Nvenc also have similar problem/bug/feature)

Yups
29th August 2016, 19:37
IMHO 1060 (or 1070) should be first consumer HW encoder capable to provide 60 fps on H.265 (HEVC) - i observe in my setup that 980 is not capable to provide more than 30 fps on H.265 - QSV is slower than NVidia.


QSV HEVC with TU7 is easily faster than NVENC comparing 6700k and GTX 970. With Pascal may be Nvidia is the faster one.

And Skylake HEVC vs nvidia pascal with new NVENC SDK 7.0 ?
Which has the best quality ?


Pascal has better quality because even Maxwell has with the newest SDK. Intel needs Kabylake and a new Media SDK update with Lookahead support to regain the lead.

Yups
29th August 2016, 19:48
Encoding speed varies with resolution, over 500fps for low resolution stuff like DVD resolution. The 360fps I achieved in the screenshot was encoding 960x540. 720p yields about 220fps, 1080p about 120, 4K about ~40. However I think I'm software/CPU limited on some of these.



Pretty slow compared to Intel, i7-6700k @HD530 gets over 250 fps with TU7 there. GTX 970 over 160 fps. I didn't check quality.

pandy
29th August 2016, 20:30
QSV HEVC with TU7 is easily faster than NVENC comparing 6700k and GTX 970. With Pascal may be Nvidia is the faster one.

As i struggle still on HW encoding (still some options are not work as described or work completely opposite) perhaps you can share command line (ffmpeg) to compare NVenc vs QSV - for today my observations are rather solid that QSV is somehow slightl slower than NVEnc and also QSV seem to be less robust (NVEnc work like a charm - just start and almost imeediately encoding session started, Intel is somehow slow in starting and need some time between starting session - i assume to close previous session - not sure how this is related to ffmpeg itself).

NikosD
29th August 2016, 20:34
We never use ffmpeg for HW encoding.

Only rigaya's CLI tools usually via a nice GUI like StaxRip.

Rigaya and StaxRip provide the interface for the best HW encoding in terms of quality, speed and robustness for all platforms - AMD, Intel, Nvidia

ilovejedd
30th August 2016, 00:57
Well, for some, it is all speed and quality regardless of file size (how much does 4TB HDD cost anyway?)
In which case, probably best to stick to original source. I've yet to make a transparent encode at fast speed that wasn't the same size or even larger than the original file (1080p Blu-ray source).

I'm currently testing StaxRip/QSVEncC (ICQ at default settings) on my new Skylake laptop (i7-6500U). I'm using ICQ 20 and comparing frame by frame, there's noticeable smoothing on the encode. Of course, it's not really something I actually notice when watching the film.

It's not what I'd consider fast either. It encodes at ~1.5-2x real-time, sure, but I've been spoiled by the ~200FPS I get with Handbrake/Intel QSV H.264 (High@L4.0, Balanced CQ 20). On the upside, ICQ 20 on H.265 QSV seems closer in quality to ICQ 18 on H.264 QSV at just ~70% file size so that's definitely good.

Mind, my only reason for encoding is playback on mobile devices so speed and small file size at OK quality is my primary objective.

Roph
30th August 2016, 09:20
So...if you ever return here........The sample:
No B-Frame.
No SAO.
Okay....., full PU 4x4 until 32x32 for Intra PU. As for Inter PU, 64x64 LCU available. But it is not complete.
Inter Frame PU sizes:
8x8
8x16
16x8
16x16
16x32
32x16
32x32
32x64
64x32
64x64

P-Frame still refers to 1 previous frame instead of multiple preceding frames. (Nvidia Nvenc also have similar problem/bug/feature)

How were you able to anaylze the file? Mediainfo / streameye don't show such info, I'd like to poke around some more.


Pretty slow compared to Intel, i7-6700k @HD530 gets over 250 fps with TU7 there. GTX 970 over 160 fps. I didn't check quality.

The author is making the GPU encode HEVC somewhat of a hack job via the outdated Media Foundation interface which predates polaris/H.265. True HEVC support will come soon in AMD's recently released media SDK, which I assume would run at the full performance. Media foundation has performance issues even with H264, which is why the built-in VCE support of OBS Studio is derided due to its poor performance.

In some cases, I'm also CPUlimited rather than GPU limited. FX-8320 :(

(Still the ridiculous post question limit, come on - this isn't 1998 :/ )

pandy
30th August 2016, 10:21
We never use ffmpeg for HW encoding.

Only rigaya's CLI tools usually via a nice GUI like StaxRip.

Rigaya and StaxRip provide the interface for the best HW encoding in terms of quality, speed and robustness for all platforms - AMD, Intel, Nvidia


Ok, i use synthetic video - internal ffmpeg source as such files can't provide required functionality, also i don't need gui.

hajj_3
30th August 2016, 10:51
Have any of you guys tried comparing the best quality h265 hardware encode settings with the best quality software encoded x264 settings to see which offers the best quality and filesize? If hardware h265 looks better then i think a lot of people would want to switch as they would save a lot of time.

JohnLai
30th August 2016, 15:10
How were you able to anaylze the file? Mediainfo / streameye don't show such info, I'd like to poke around some more.



https://software.intel.com/en-us/intel-video-pro-analyzer
Just use the trial version to find out everything.....

hajj_3
30th August 2016, 15:25
Intel just announced the Kaby Lake media capabilities: http://www.anandtech.com/show/10610/intel-announces-7th-gen-kaby-lake-14nm-plus-six-notebook-skus-desktop-coming-in-january/3

It supports full fixed function 8-bit encode and 8/10-bit decode for VP9 codec and 8/10bit encode and decode for h265.

Yups
30th August 2016, 16:42
As i struggle still on HW encoding (still some options are not work as described or work completely opposite) perhaps you can share command line (ffmpeg) to compare NVenc vs QSV - for today my observations are rather solid that QSV is somehow slightl slower than NVEnc and also QSV seem to be less robust (NVEnc work like a charm - just start and almost imeediately encoding session started, Intel is somehow slow in starting and need some time between starting session - i assume to close previous session - not sure how this is related to ffmpeg itself).


ffmpeg is slow, no wonder. Make sure you are using the fixed function decoder for encoding and QSVEnc is the best.


Intel just announced the Kaby Lake media capabilities: http://www.anandtech.com/show/10610/intel-announces-7th-gen-kaby-lake-14nm-plus-six-notebook-skus-desktop-coming-in-january/3

It supports full fixed function 8-bit encode and 8/10-bit decode for VP9 codec and 8/10bit encode and decode for h265.


Intel also said that the HEVC Encoding quality is more than 10% improved over Skylake. The hardware is fine, they only have to add Lookahead.

JohnLai
30th August 2016, 16:51
Intel also said that the HEVC Encoding quality is more than 10% improved over Skylake. The hardware is fine, they only have to add Lookahead.

Hardware is not fine.
Aside from Lookahead, Intel should add P-Frame support, SAO and all PU sizes. ~.~

For some unknown reason, all big 3 (Intel, Nvidia and AMD) hardware encoders have problem encoding dark / black scene properly. I can see those big dark blocky artifacts on dark scene even with 15Mbps on 1080p. Bright scene is perfect though.....

Yups
30th August 2016, 17:04
Hardware is fine imho. It will never support the same features as a software encoder. I'm only interested in the end result and Intels biggest problem with HEVC is scene change. H264 is better in this regard because there is Lookahead for VBR or ICQ. Especially with low bitrate videos this is a big problem. Lookahead is just a software thing. Aside from this HEVC is very much better than H264 from Intel.

ilovejedd
31st August 2016, 00:17
For some unknown reason, all big 3 (Intel, Nvidia and AMD) hardware encoders have problem encoding dark / black scene properly. I can see those big dark blocky artifacts on dark scene even with 15Mbps on 1080p.
That's not limited to HEVC though. My QSVEncC and Handbrake H.264 QuickSync encodes exhibit the same issue. At similar bitrates, blocking on QSV HEVC actually isn't as bad as on QSV H.264.

Yups
10th September 2016, 11:49
I changed my GTX 970 for a GTX 1080. One thing I can say is that the performance of 8 bit HEVC video encoding is much improved.

GTX 970
Video 1: 163 fps
Video 2: 175 fps

GTX 1080
Video 1: 288 fps +76,7%
Video 2: 308 fps +76%


The super high clock rate of Pascal is the main reason in order to speed up the video engine. 1962 Mhz for my GTX 1080 and 1291 Mhz for GTX 970.

NikosD
10th September 2016, 11:58
GTX 970 has a hybrid HEVC decoder and it's a lot slower than 960 GTX fixed-fuction decoder.

You should compare Pascal against 960 GTX Maxwell.

JohnLai
10th September 2016, 13:21
I changed my GTX 970 for a GTX 1080. One thing I can say is that the performance of 8 bit HEVC video encoding is much improved.

GTX 970
Video 1: 163 fps
Video 2: 175 fps

GTX 1080
Video 1: 288 fps +76,7%
Video 2: 308 fps +76%


The super high clock rate of Pascal is the main reason in order to speed up the video engine. 1962 Mhz for my GTX 1080 and 1291 Mhz for GTX 970.

Hmm? Something isn't right with your gtx 970 figures.
Did you use CUVID to decode the source video? Or CPU to decode?
CUVID ---> Zero-copy to NVENC for encoding assuming if the video is DXVA-decodable.
You could easily get 200 - 220 fps on 1920x1080p source video to 1920x1080p encoded video.

Simplified:
CPU decoding = HDD--->cpu--->RAM--->GPU--->HDD
Pure hardware GPU decode + encode = HDD ---> GPU--->HDD

Yups
10th September 2016, 15:00
I have been using NVEncC (avcuvid native) in Staxrip which is the fastest alongside QSVEnC (Intel). I don't think there is something wrong.