OBS branch with AMD VCE support.

HalGameGuru

New Member
I read that, but i assumed they just meant the Decoding part.
Cause i can't find any information to confirm what's written there.
All i see in mentions of VCE 3.0 is that it only had Decoding of HEVC.

VCE is specifically for ENcoding, UVD is DEcoding. If it's labelled under VCE it is for the encoding and creating of media, not the decoding or display.
 
I know, but basically if you look at all the specifications of the card they clearly say HEVC is for Decoding,
and that they just boosted h264.

So i think wikipedia is just wrong on this part:(
 

HalGameGuru

New Member
The citations give you a lot more info than the wiki does. Nothing direct from AMD or official yet though on specifics.

But in either case, whatever winds up being supported by VCE 3.0/3.1 will be for encoding video, not decoding. I can't say for sure on H265, but if they pay for access to it at all, for supporting decoding, I would assume they would include encoding, otherwise I would expect focus on open alternatives like VP (or even x265). If you're paying the license why not make all the use of it you can?
 
I highly doubt it has HEVC Encoding from there statements.
And they most likely won't do the VP for encodings either, not in VCE 3.0 that's for sure.
(what's 3.1?)

But i do hope that i am wrong in any case.
 

HalGameGuru

New Member
3.1 is what AMD is actually claiming is coming with the newest GCN. HEVC license may not be worth the cost, its apparently way more expensive than AVC, but they could simply use compute, or x265, but with their finally translating CUDA they may go with a compute based expandable solution. Won't know till official releases and the new MediaSDK
 
You mean with Polar, or what it's called?

AS for license, it shouldn't matter if it's HEVC of x265, it's the same thing right?
And i didn't really know you you had to pay a license to sell an encoder,
i thought it only cost if you use an format itself in commercial use, interesting.
 

HalGameGuru

New Member
No, HEVC/h.265 is the official standard from the licensing body, x265, like x264 before it, is an open codec library that produces compatible media streams.

In order to make any use of ACTUAL HEVC, for display OR creation you have to pay.

IP is a hell of a drug.

EDIT: I'm getting way sidetracked with softwares (cuz I keep thinking OBS) when we are really discussing a hardware thing (AMD's VCE and what kind of standards IT will support)
 
Last edited:
I know, but i thought that by using x265 you are using HEVC and is obligated to pay anyway?
So if VCE added x265 it would be the same thing as if they made their own encoder?
Or are you perhaps saying that would do some loophole thingy and have some compute engine to offload x265, but it's not it's own encoder?

Oh wait, that was confusing, they can use there existing license, to continue their work, even if it produces HEVC material?
That doesn't make any sense at all;S
 

HalGameGuru

New Member
HEVC/h.265 is the standard, owned by MPEG-LA, a separate entity from x265, which is an encoder produced by Multicore, a (paid?) license holder of HEVC from MPEG-LA. x265 merely produces HEVC-spec media. x265 has a free GPL license and a commercial license if you wish to use it without making the source code for the software it is a part of available to those who ask.

EDIT: Technically if you create anything that can produce or display HEVC content you are supposed to be licensed.

AMD could let frontends like OBS or XSplit use their compute power to make use of newer tech without incorporating it into the VCE system, (and already can with OpenCL) but it would not work as well as having it in that dedicated system. But they could use compute to produce HEVC video on even older cards using compute rather than VCE.

But, since all we know is they support h.265 DEcode from Carrizo on, it's not without merit to hope for ENcode in VCE 3.1, but there is no confirmation either way. The question I have is does the licensing for a device like a GPU double in cost if it can encode AND decode? Or does one fee cover both?

IP has gotten so bad there are IP Lawyers who call for its being massively cut down if not completely abolished
 
Last edited:
Ah, think i understand it better now, thanks.

But yeah it's a jungle. I am hoping for the Open Video Alliance to make a miracle of some sort.
We can't have licenses and stuff for this, it doesn't work in the world of internet at this stage.
 

BioGenx2b

Member
I've been trying to bug AMD for months now, online and in-person, about allowing us to buy cheaper cards with the encoder tech as video encoding co-processors. If that idea pans out (no idea at this point), a compute-based solution would be totally feasible, I think.
 

AdameK

New Member
Hi, I have a problem recently crash driver after a few minutes of the start of the recording. The most common crash occurs when recording CS:GO (I do not use Razer Synapse). All drivers updated and OBS too. These are my settings and crashlog.

Sett:
http://www110.zippyshare.com/v/oQxLud1u/file.html
http://www110.zippyshare.com/v/OcszhgoP/file.html
1.PNG

2.PNG
CrashLog:
OBS has encountered an unhandled exception and has terminated. If you are able to
reproduce this crash, please submit this crash report on the forums at
https://obsproject.com/ - include the contents of this crash log and the
minidump .dmp file (if available) as well as your regular OBS log files and
a description of what you were doing at the time of the crash.

This crash appears to have occured in the 'c:\windows\syswow64\kernelbase.dll' module.

**** UNHANDLED EXCEPTION: 80000003
Fault address: 761B338E (c:\windows\syswow64\kernelbase.dll)
OBS version: Open Broadcaster Software v0.657b
Windows version: 6.1 (Build 7601) Service Pack 1
CPU: Intel(R) Core(TM) i5-4440 CPU @ 3.10GHz

Crashing thread stack trace:
Stack EIP Arg0 Arg1 Arg2 Arg3 Address
0041ECC8 761B338E 00003760 00007531 0000138A 00BE0800 kernelbase.dll!0x761b338e
0041ECD8 0140A16B 00000001 00000000 0000138A 045204D8 obs.exe!OBS::Stop+0x16b
0041ED20 0140771F 00000000 014336F0 00000000 002C0006 obs.exe!OBS::ToggleRecording+0x6f
0041ED40 0143427F 001606C2 00000111 0000138A 045204D8 obs.exe!OBS::OBSProc+0xb8f
0041EE64 75FF62FA 014336F0 001606C2 00000111 0000138A user32.dll!0x75ff62fa
0041EE90 75FF6D3A 00000000 014336F0 001606C2 00000111 user32.dll!0x75ff6d3a
0041EF08 76000D37 014336F0 001606C2 00000111 0000138A user32.dll!0x76000d37
0041EF40 76000D5D 014336F0 001606C2 00000111 0000138A user32.dll!0x76000d5d
0041EF60 0296C20B 001606C2 00000111 0000138A 045204D8 ammemb.dll!0x296c20b
0041EFEC 75FF62FA 013A0FCC 001606C2 00000111 0000138A user32.dll!0x75ff62fa
0041F018 75FF6D3A 00000000 013A0FCC 001606C2 00000111 user32.dll!0x75ff6d3a
0041F090 75FF6DED 015A9A90 00000000 00000111 0000138A user32.dll!0x75ff6ded
0041F0F0 75FF6E4C 0041F13C 00000000 0041F2F0 774800A0 user32.dll!0x75ff6e4c
0041F12C 7748013A 015A9A90 00000000 013A0FCC 0000138A ntdll.dll!0x7748013a
0041F1A4 75FF96D5 001606C2 00000111 0000138A 045204D8 user32.dll!0x75ff96d5
0041F1C8 6C8F45A1 00251818 00000000 045204D8 00251818 comctl32.dll!0x6c8f45a1
0041F1E8 6C8F4603 5401000C 00000001 00000000 6C87B4A9 comctl32.dll!0x6c8f4603
0041F204 6C8F448D 045204D8 00000202 00000000 000D0033 comctl32.dll!0x6c8f448d
0041F264 75FF62FA 6C87B4A9 045204D8 00000202 00000000 user32.dll!0x75ff62fa
0041F290 75FF6D3A 00000000 6C87B4A9 045204D8 00000202 user32.dll!0x75ff6d3a
0041F308 75FF77D3 6C87B4A9 00000000 0041F3A0 7601C82E user32.dll!0x75ff77d3
0041F36C 75FF789A 0041F454 0023F2C0 122D0767 75FF78F2 user32.dll!0x75ff789a
0041F37C 7601C82E 001606C2 00000000 00000000 00000001 user32.dll!0x7601c82e
0041F3A8 013FB79D 013B0000 00000000 00202E0B 00000001 obs.exe!WinMain+0xabd
0041F888 0145168A FFFDE000 0041F918 774A9A02 FFFDE000 obs.exe!__tmainCRTStartup+0xfd
0041F8D4 7539338A FFFDE000 76F1C30B 00000000 00000000 kernel32.dll!0x7539338a
0041F8E0 774A9A02 01451583 FFFDE000 00000000 00000000 ntdll.dll!0x774a9a02
0041F920 774A99D5 01451583 FFFDE000 00000000 00000000 ntdll.dll!0x774a99d5

Video thread stack trace:
Stack EIP Arg0 Arg1 Arg2 Arg3 Address
1315EF64 7748F971 00000000 00000000 02B4CB88 02B4C8D8 ntdll.dll!0x7748f971
1315EFD0 774AD9F7 02B4C8FC 02E4CF68 02E4CF68 5459ADD0 ntdll.dll!0x774ad9f7
1315EFF8 545ECDFE 02B4CB88 00000001 1315F038 1315F240 atidxx32.dll!0x545ecdfe
1315F01C 545976D5 1315F240 1315F240 02E40E80 02E40C00 atidxx32.dll!0x545976d5
1315F1CC 545972B3 1315F240 06F28440 1315F288 06F28330 atidxx32.dll!0x545972b3
1315F1F4 54A72BA4 1315F240 1315F2A8 1315F2E8 0CFDC8CC atidxx32.dll!0x54a72ba4
1315F22C 545AAB90 1315F288 00000000 00000000 0E3D14C0 atidxx32.dll!0x545aab90
1315F278 649D4CB0 1315F2C8 DF16A852 0E292990 0E3D14C0 atiuxpag.dll!0x649d4cb0
1315F2B0 5F08DEAD 003D14C0 002E45B8 0E464A10 1315F400 d3d11.dll!0x5f08dead
1315F334 64A23B21 00000001 00000000 00000000 00000000 dxgi.dll!0x64a23b21
1315F818 64A21C2E 0E292990 00000000 00000000 00000000 dxgi.dll!0x64a21c2e
1315F874 0140FDC0 7539338A 00000000 1315FC4C 774A9A02 obs.exe!OBS::MainCaptureLoop+0x1700
1315FC04 0140CFF5 00000000 1315FC4C 774A9A02 00000000 obs.exe!OBS::MainCaptureThread+0x5
1315FC08 7539338A 00000000 65A5C65F 00000000 00000000 kernel32.dll!0x7539338a
1315FC14 774A9A02 0140CFF0 00000000 00000000 00000000 ntdll.dll!0x774a9a02
1315FC54 774A99D5 0140CFF0 00000000 00000000 00000000 ntdll.dll!0x774a99d5

Encode thread stack trace:
Stack EIP Arg0 Arg1 Arg2 Arg3 Address
14C4F5B4 7748F971 00000000 00000000 14C4F7C0 00BF5758 ntdll.dll!0x7748f971
14C4F620 774AD9F7 0CFDE998 DD0A7D39 00000002 00BE0A68 ntdll.dll!0x774ad9f7
14C4F648 53417902 14C4F734 0140DCB2 00BF5700 14C4F710 obsvceamf.dll!VCEEncoder::Encode+0x3a2
14C4F6A4 75415AFE 00000000 00000000 00000000 00000000 kernel32.dll!0x75415afe

A minidump was saved to C:\Users\AdameK\AppData\Roaming\OBS\crashDumps\OBSCrashDump2016-02-14_1.dmp.
Please include this file when posting a crash report.

List of loaded modules:
Base Address Module
PC SPEC:
GPU: ASUS Radeon HD 7970 3GB DDR5 384 Bit
CPU: Intel® Core™ i5-4440 3.10 GHz
RAM: 12GB DDR3 GoodRAM 1333MHz CL9 DIMM

//Google Translator
 
Last edited:

WannaBurn

New Member
I can confirm lately AMD drivers crashes during OBS VCE live streaming.
This happens to me after 10 minutes of streaming either after 1,5 hours of streaming; so kinda randomly. OBS crashes totally while my game (Smite) gets restored with the restart of the drivers itself. Therefor i cannot put any crashdumps down here.

Since i was not streaming for a while i cannot say if the crashes started to occure after the latest Crimson driver update or latest Windows 10 updates.

System Settings:
AMD FX 6300
8 GB DDR3 RAM
MSI Radeon R9 270X
Crimson Version 15.12
Radeon Settings version 2015.1204.1216.22046
Driver package version 15.30.1025.1001-151204a-296874C
 
Last edited:

rad96

New Member
I can confirm lately AMD drivers crashes during OBS VCE live streaming.
This happens to me after 10 minutes of streaming either after 1,5 hours of streaming; so kinda randomly. OBS crashes totally while my game (Smite) gets restored with the restart of the drivers itself. Therefor i cannot put any crashdumps down here.

Since i was not streaming for a while i cannot say if the crashes started to occure after the latest Crimson driver update or latest Windows 10 updates.

System Settings:
AMD FX 6300
8 GB DDR3 RAM
MSI Radeon R9 270X
Crimson Version 15.12
Radeon Settings version 2015.1204.1216.22046
Driver package version 15.30.1025.1001-151204a-296874C
I have same problem, but solved it when change DX11 -> DX9 at AMD AMF Settings in OBS. May be it help you
yzW6Y3S.png
 
Okay was able to find a sample.
And from my tests, with that crappy sample, encoding is unaffected by GPU Usage.
I could record 60fps fine even with stress tests.
 
Last edited:
Okay done more testing, it's buggy as hell for me to even get it started.

But well when it works it works well, there are just some issues i seem to have that makes it very limiting.

First is that i can't use anything above 1080p, I "can" but it will make borders and stuff.
Second is that it's not possible to enter a game in full screen for me, so it's not possible to record that way.
However i found a way to bypass that, sadly the way to bypass makes you unable to actually see the game.

Basically the recording works this way, it created a virtual monitor, that monitor gets recorded instantly.
Normally it's set as a clone of the original desktop, meaning you will record your own desktop.
However it breaks if you enters a game.

But if you set the monitor as an Extended one, you can enter full screen of the game in that virtual monitor,
and if you look at the recorded file it's works fine, it enters the game and records it fullscreen.
But as you can guess the only thing you yourself can see it the "Second Monitor", meaning you will stare at your desktop while the game is on the other monitor which you cannot see.

I think it's extremely weird that the Extended work but not Cloned, seems like a software issue.
This however should prove that the limiting factor of VCE encoding isn't VCE itself,
but the overhead cause by GPU->CPU->VCE(GPU), or something.
 

chummy

Member
I just try first time to record BF4 1080p/48fps with GCN1.1 in OBS-studio 13.1 and that worked fine. I will do more tests later.
 

Jack0r

The Helping Squad
@chummy This thread is for the classic OBS and to be more precise for the VCE build you can grab in the first post.
If you use OBS-MP you are using the Media Foundation implementation and not this OBS VCE build.
 
Top