OBS branch with AMD VCE support.

audiohacked

New Member
Did you get it to work? One thing is GetPts() seemed to be returning some VCE's internal PTS and it differed from OBS' pts causing video to play green blobs. So probably pass obs' pts with AMFSurface::SetProperty(). I'll commit my try at this then too :-P Nah, GetPts() is fine, may have forgotten to convert 100th-nanoseconds back to millis.

I'm still figuring out how to pass the native OBS frame data without using the DX11 interface. And I'm still working on getting the DX11 Device context from OBS instead of creating a new DX11 Device.
 

Beasway

New Member
Ok, i just did some benchmarking with amd vce. Im running HD 7850. Benchmarked Hitman absolution on high preset, without recording its 56.69 and 55.25 fps, recording with amd vce 60fps 1080p 20k bitrate its 53.955 and 53.251 fps. Can i increase quality even more? Is bitrate the problem, should i increase it? Any tips? https://www.youtube.com/watch?v=Gx0FiDoZ2XY

My settings are pretty default - http://imgur.com/a/907bm


Some more fast paced footage - https://www.youtube.com/watch?v=5_l3Mn3E7tE


Thanks.
 
Last edited:

jackun

Developer
I'm still figuring out how to pass the native OBS frame data without using the DX11 interface. And I'm still working on getting the DX11 Device context from OBS instead of creating a new DX11 Device.
Well, use either CreateSurfaceFrom* or when using AllocSurface, get the surface's plane (GetPlaneAt(0) etc) and get pointer with plane->GetNative():
  • Host -> void*, just memcpy to it, duh
  • Dx11 -> ID3DTexture2D*
  • Dx9 -> looks like IDirect3DSurface9*
  • OpenCL -> 2 images of CL_R, CL_RG format and with type CL_UNSIGNED_INT8 if using NV12.
 
Last edited:

halsoy

New Member
The good news is that the 280 and 290 are groovy together :) I believe the only difference is that the 280 will need the crossfire cable while if I used 2 290's then I wouldn't need a cable.
Yeah, if the card has a crossfire connector, you need to use it. If you can set them up in crossfire somehow, I'm sure you'll get the same deal as I have.
 

Smear__

New Member
Alright this looks really interesting. However I am not that good with this stuff as you are.

Could you please explain exactly what I have to do in order to get this to work? Is it basicly just to download a dll file and throw it into the folder for obs?

I have a Clevo P150EM with a Intel HD4000 and a 7970M AMD card. And as many others I cannot select the AMD one, and this would fix my issue? Also, would it improve my fps in game?

I'd be greatful for some assistance in this matter because I feel lost to be honest haha :)

Ohh yeah. I should probably add that I'm using Windows 8.1 64bit :)
 
Last edited by a moderator:

dping

Active Member
Alright this looks really interesting. However I am not that good with this stuff as you are.

Could you please explain exactly what I have to do in order to get this to work? Is it basicly just to download a dll file and throw it into the folder for obs?

I have a Clevo P150EM with a Intel HD4000 and a 7970M AMD card. And as many others I cannot select the AMD one, and this would fix my issue? Also, would it improve my fps in game?

I'd be greatful for some assistance in this matter because I feel lost to be honest haha :)

Ohh yeah. I should probably add that I'm using Windows 8.1 64bit :)
No sir. download the MS VC++ from microsoft. this version will correspond with either 32bit (x86) or 64bit (x64) version of OBS that you use. installing both on a 64bit OS is perfectly fine as well.

then download the latest version of VCE listed under binaries. 2015-02-08 is the newest version to date. use 7zip or winrar to extract to a folder somewhere other than the main build of VCE. I use my desktop for this. run it from that location as well
 

Smear__

New Member
I downloaded it and tried starting it up. The first message I got was that "coding initialization" failed. This happends if I try to use the DX9 or DX11. If I use the "host" however it works, but I can only use it in the comp mode and boarderless window. So that makes it kind of the same as it was before.

If I try to use the "game capture" mode I just get a blackscreen, I've been trying to working around with different settings as well.

I can get the stream to start if I use the AMD VCE coding and uncheck the 2 boxes in the bottom (OVE)

Does anyone know what I'm doing wrong?
 

dping

Active Member
I downloaded it and tried starting it up. The first message I got was that "coding initialization" failed. This happends if I try to use the DX9 or DX11. If I use the "host" however it works, but I can only use it in the comp mode and boarderless window. So that makes it kind of the same as it was before.

If I try to use the "game capture" mode I just get a blackscreen, I've been trying to working around with different settings as well.

I can get the stream to start if I use the AMD VCE coding and uncheck the 2 boxes in the bottom (OVE)

Does anyone know what I'm doing wrong?
Whats the date of the version you selected? sounds old based on some issues in the past. set IDR to double your fps and GOP to double as well. if you change your fps, you'll have to manually set these as well.
do you have the directx10/11 interoperability enabled?
 

Smear__

New Member
I downloaded the latest one "2015-02-08".

Right now the IDR is set to 120 and GOP is 20. I haven't touched them in any way, what value should I change them to?

I have directX11 on this laptop and that should work fine.

Does it have anything to do with CFR or the "Use CBR or CBR-Filling" in the encoding section?

Also another silly question, my Intel card is still the one selected in OBS. But this mode doesn´t really change that does it?
 

dping

Active Member
I downloaded the latest one "2015-02-08".

Right now the IDR is set to 120 and GOP is 20. I haven't touched them in any way, what value should I change them to?

I have directX11 on this laptop and that should work fine.

Does it have anything to do with CFR or the "Use CBR or CBR-Filling" in the encoding section?

Also another silly question, my Intel card is still the one selected in OBS. But this mode doesn´t really change that does it?
read above about GOP. and DX11 has nothing to do with DX11 games, just the way that VCE works.
 
Top