I'm one of a privileged few with early access to software that can make use of the newer VCE encoder on AMD's latest GPUs, so I thought I'd post some samples here for you guys to see.
The software I'm using is A's video converter, which can be found on this site. The author does not have a Radeon 4xx GPU to test with yet, though kindly provided me an untested version that implements AMD's recently released Media SDK for H265 acceleration.
Source File - ~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 / 2.5mbps / 2mbps [edit] 3mbps with 150 GOP / 3mbps with 300 GOP
720p: 1.5mbps / 1mbps
Example of settings:
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:
That encoding framerate was achieved using DXVA2 native decoding (via LAV, not app internal), and hardware resize to 960x540 prior to the encode step.
There are some unrelated bugs in the test version, but the output is thereHopefully the new version releases soon. High quality HEVC encoding (for a GPU-based one, at least) was a big selling point in me getting a polaris GPU
![]()
+ Reply to Thread
Results 1 to 30 of 157
-
Last edited by Roph; 20th Aug 2016 at 23:22.
-
Do you have information where to search information's about AMD VCE. Searching info about VCE performance and no luck til this moment (this is opposite in case of NVidia).
-
I only looked at the 3 Mb/s 1080p version. Terrible keyframe pumping and loss of detail. Barely watchable.
-
Yeah I noticed that too. Boosting up the GOP size seems to help a lot with the keyframe issue:
3mbps 150GOP / 3mbps 300 GOP.
I would try encoding with a higher bitrate but this is one of the current bugs with this development version, can't go higher else the bitrate in reality plummets to ridiculously low values. -
Thanks for posting the early tests
You might want to fiddle with max bitrate of 3500. Some encoders require larger peaks if the IDR frame is bitrate starved (sometimes that can lead to the keyframe pumping)
It seems capped ~360fps ? Regardless of resolution ? ie Did the 720p encode get the same FPS as the 1080p ? Or perhaps the bottleneck of the 720p is slow resizing algorithm. In that latter case, you might try as a previously resized 720p as the source
Did you try other decoding ? For example GPU decode? Could decoding be the bottleneck ?
Did you measure CPU and GPU % usage during encode, and did you try multiple simultaneous instances ? e.g. if you only got 25% GPU, you should be able to do 4 streams
I can't recall the Nvenc hevc numbers, but they still don't use b-frames -
Yes, that definitely looks better. Still not as good as x264 (same bitrate, ~60 fps on my i5 2500K), even at the veryfast preset, but much faster, obviously.
Last edited by jagabo; 20th Aug 2016 at 10:53.
-
Framerate lowers as resolution increases, for example 1080p yields about ~120FPS.
As for % GPU usage, VCE is a seperate block on-die, it doesn't use any GPU resources, save for some VRAM. You'll get the same encode performance from a Radeon 460 as you will from a 480. You can run multiple tasks at once but that just means instead of encoding 1 stream at 120FPS you'd be encoding two streams at 60fps each. GPU-Z shows the GPU effectively idle during encoding, save for some light power usage and VRAM increase.
AMD's quoted numbers for HEVC (I forget where I saw the slides) are higher, though this is a very early test build by a developer done in a few hours, without access to a supporting card to try it on
As for GPU decoding, I don't know the inner workings of A's video converter but using its built-in hardware decoding option hurts performance, only ~80fps throughput. Instead I disable HW decode in the program but configure LAV externally to use native DXVA2.
I agree on the max bitrate, though this test build has an issue where going much higher with bitrate (in either field) instead plummets it down to like ~180kbit/s. Surely will be fixed in a later version ready for release
I can try a Fixed QP rate control mode, I have no idea what those numbers mean though. I have a choice of min/max QP, from 0 to 51 for each. I've always preferred using raw bitrate numbers -
ok, so that 360FPS was for 720p ?
As for % GPU usage, VCE is a seperate block on-die, it doesn't use any GPU resources, save for some VRAM. You'll get the same encode performance from a Radeon 460 as you will from a 480. You can run multiple tasks at once but that just means instead of encoding 1 stream at 120FPS you'd be encoding two streams at 60fps each. GPU-Z shows the GPU effectively idle during encoding, save for some light power usage and VRAM increase. -
Said in the first post, 360fps encoding at 960x540
720p yields around 220fps. The FPS values seem to hover right around the same spot for a given resolution regardless of settings like GOP, b or ref frames and so on.
After testing some QP values it seems that part is still very broken in this version of the tool, I can't get anything except a multicoloured abstract art mess out of it. Sticking to specific bitrates for now.
I have the latest GPU-Z with all sensors enabled, there's no video engine load option. Here's the sensor output while doing a longer encode at 720p:
"GPU Load" flutters here and there, but too few and far between to be representative of hardware decoding/encoding I'd guess. I assume it's just housekeeping, managing the data flying around everwhere in and out through PCIe/RAM etc for encoding.
The dedicated memory usage gradually builds up to ~1.5GB then stops increasing during encoding. Here's a newer screenshot now that the 720p encode has finished:
VCE Encoding H.264 uses much less VRAM. I have an old Radeon 7770 in my living room PC, it uses around 100MB VRAM to encode H.264.Last edited by Roph; 20th Aug 2016 at 11:38.
-
Whoops I missed the 960x540
There used to be another tab that measured actual video engine (separate from GPU core used in games), or maybe it's not active with AMD cards
Anyways it' s great to have other offerings from the red team. Competition is great for end user
For reference, I think the NVEnc numbers for 1280x720 were ~400-450FPS for maxwell2 HEVC (should be faster with pascal, but neither has b-frames) -
-
I don't have any UHD content to try, I'll look for some
[edit] Used This sample 4K clip. Whatever I do regarding HW/SW decoding, A's converter goes to 100% cpu usage (all cores) and tops out at around 40FPS. I'm CPU limited here, even though LAV appears happy to hardware decode UHD HEVC (in MPC-HC) with minimal CPU usage.
That said, the bitrate bug in the program still exists so I can't go above ~3.3mbit with VBR.
3.3mbps VBR
5mbps CBR
6mbps CBR
Aside from the blocky start, that looks damn good for ~3.3mbit/s for 4K, albeit letterboxed.Last edited by Roph; 20th Aug 2016 at 13:16.
-
Is the encoding speed for all Polaris cards the same?
users currently on my ignore list: deadrats, Stears555, marcorocchini -
As VCE's a seperate part of the chip, I'd imagine so. The only thing that might limit it on an RX 460 vs a 480 is that the 460 has much less memory bandwidth, but even then this shouldn't affect it as the memory stays at its "idle" 300mhz clock. VCE doesn't need that much bandwidth.
-
ah, okay wasn't sure whether it's a separate encoder chip (like on NVIDIA cards) that does the encoding.
users currently on my ignore list: deadrats, Stears555, marcorocchini -
Maybe you were you decoding speed limited ? How did you test it ? It says ffmpeg in the thread linked below, but how did you configure the decoding setup ?
NikosD says Polaris gets
Polaris 10 (RX 480 & 470) and Polaris 11 (RX 460) offer 4K60fps HEVC HW encoding and 4K120fps HEVC HW decodong.
But that seems like marketing speak, not real benchmarks
You posted in that thread, pandy -
Wonder what the variable frame rate is about.
Code:Frame rate : 23.976 fps Minimum frame rate : 23.809 fps Maximum frame rate : 24.391 fps
-
Heard back from the developer about the ~3.3+mbps bitrate issue, he seems to think it's a problem in AMD's driver or SDK. I've passed it on to an AMD representative on reddit
-
-
Not directly out of A's converter, no. It uses its own internal muxer. You can specify an external muxer, I've never tried it though. VFR isn't an issue to me.
I take an extra step normally to process the audio elsewhere since A's only uses LC-AAC at a minimum of 96kbit/s, and after that (remuxed by mp4box) framerate is constant 28.999 as reported by mediainfo.
-
Answering to myself partially:
https://github.com/GPUOpen-LibrariesAndSDKs/AMF
And how i tested - it is simple - i use internal ffmpeg video generator (lavfi) - this is synthetic test so no decoding problem (albeit those sources are usually single threaded so be careful).
As i have no with me machine on which those tests are performed i can try put ffmpeg command line tomorrow however it will be something like this (Intel QSV):
Code:-f lavfi -i testsrc2=s=uhd2160:r=50 -pix_fmt nv12 -flags +cgop -c:v hevc_qsv -preset:v 7 -profile:v 1 -load_plugin 2 -level:v 5.1 -b:v 38M -maxrate:v 40M-1 -minrate:v 1M -bufsize:v 19M-1 -qmin:v 4 -qmax:v 69 -g:v 250 -bf:v 3 -refs:v 5 -bitrate_limit 1 -async_depth 4
-
StreamEye dont seem to like your files, if i remux them to mkv it almost works (atleast it shows dialog about whats inside)
-
Ok, but this version dont inside the amd vce h265 only h264 on win10 64 bit.
-
-
Roph wrote this version is a development version. Somebody has got a download link for this development version?
-
The developer was quite blunt in stating I'm not to distribute it, sorry
If you view the japanese version of his website there is a contact form link; that is what I used to message him. Just use chrome's built in translation to help you use it. You can write in english, his English seems fine. Don't spam him though, I assume he'd like to get out a stable build just as much as you would.
It's also dependent on AMD; their new SDK still does not officially support H265. -
Only 4th generation GPUs like polaris GPUs (Radeon RX 4xx) Support H265 encoding. Your chip is 2nd-generation GCN, you can only encode H264 on it.
Similar Threads
-
A "budget" Nvidia card for H265 hardware encoding
By agatek in forum Video ConversionReplies: 37Last Post: 16th Oct 2019, 07:12 -
AMD Retires Catalyst Control Center, Introduces Radeon Software Crimson
By mikel in forum Latest Video NewsReplies: 1Last Post: 3rd Nov 2015, 22:47 -
AMD Radeon HD 8650G + 8670M Dual Graphics HDMI 1.4 stereo support?
By TB2XSBW in forum Media Center PC / MediaCentersReplies: 0Last Post: 22nd May 2015, 14:38 -
H265/HEVC samples
By deadrats in forum Latest Video NewsReplies: 51Last Post: 23rd Mar 2015, 01:15 -
H265 encoding on Solaris
By tola5 in forum Video ConversionReplies: 3Last Post: 8th Feb 2015, 20:29