jackun / openencodevfw

No longer a VFW (video for windows) frontend for AMD VCE H264 encoder
58 stars 12 forks source link

AMD 15.7 Drivers #26

Open ahayling opened 9 years ago

ahayling commented 9 years ago

AMD 15.7 Driver possible Issue.

I just installed AMD's new 15.7 drivers (from 14.12 Omega drivers) to test out the new VSR feature AMD rolled out, everything worked just fine. But for some reason the VFW encoder is now broken as I can no longer view the videos (using the decoder) or having no encoding options for the VFW encoder in Dxtory or Sony Vegas 13.

I thought it was a just a user error on my end but I decided to bring this up, jackun. Any help would be appreciated.

jackun commented 9 years ago

Did a search in driver folder and it seems to lack the openvideo.dll. Either they finally removed it or I failed at search :P Guess this is time to start on AMF version.

E: using one from previous driver doesn't seem to work either, calling OVEncodeGetDeviceInfo just makes virtualdub "quit".

Hope-UwU commented 9 years ago

Same problem here. At first I didn't think it was 15.7 driver that cause the issue. The encoder just didn't appear in compressor list of MSI After Burner.

jmautari commented 9 years ago

OpenVideo has been deprecated a long time ago and AMD dropped it starting at Catalyst 15.7 WHQL, any attempt to create an OpenVideo encoding session will fail and debug output will show an error "Cannot get pointer to external function: clCreateVideoEncSessionAMD".

Unfortunately it doesn't seem to be possible to just ship some DLLs from older Catalyst drivers to restore OpenVideo functionality so AMD AMF must be used instead to access VCE encoding capabilities. Too bad AMD AMF has so much overhead making it very slow compared to OpenVideo approach.

Hope-UwU commented 9 years ago

I guess I'll roll back to 15.6 at the moment. Will wait to see the result of using AMF instead. :/

nxrighthere commented 9 years ago

Some software developers already solve this issue. http://capturegamevideo.com/index.php?/topic/4098-playclaw-51/?p=31146 http://steamcommunity.com/games/228180/announcements/detail/88168052262066197/

SpyPower commented 9 years ago

I cannot make it work even with 15.6 catalyst version. MSVC2013 already installed both 32 an 64 (windows 8.1 64bit). Any solutions? any working catalyst version. ill try now with 14.12

jackun commented 9 years ago

I don't have 15.6 unpacked but 15.5 beta should work. See if its folders contain openvideo.dll I have AMF version working but perf is not there for some reason. A 720x400 video encodes just at ~130..160fps while it should be 250+ and 16x10 video at a measly 15 fps.

SpyPower commented 9 years ago

I think the problem is on my end. The openvideo.dll is there. I have currently installed the 14.12, Sherlock.exe shows me that the openencodevfw is installed but Dxtory does not display it as an option. tried to remove all codecs manually, but still it persists. :$. I don't know how else I could check if its working. no player gives me the option to select this codec. All other codecs seem to work, x264, lagarith codec, xvid :/

Hope-UwU commented 9 years ago

I'm using 15.6 driver and it's working fine on MSI AB. Try uninstall the driver with DDU (http://www.guru3d.com/files-details/display-driver-uninstaller-download.html) then install again.

2015-07-20_04-06-58

SpyPower commented 9 years ago

Well, as it seems, me too with MSI AB can use the codec using the 15.6Drivers. While playing (lol) at 40~60FPS, I record on 1050p (16:10) @ 25FPS. Same results with lagarith lossless. What I saw while recording is that the GPU utilization stays the same around 11%, the GPU D3D drops from 20~22% to 11%. It seems strange since it should be the double usage than this, cause of the recording by GPU. Is there any way to make it work with Dxtory or OBS?

SamJessop commented 9 years ago

So the only fix is to roll back the drivers? Will this codec ever work now?

eanmclaughlin commented 9 years ago

Definitely looking forward to any news about openencode, it's the only thing I can get to work well with recording Planetside (CPU crushing game as it is).

Rawi666 commented 9 years ago

@jackun Are you going to write AMD AMF vfw codec?

jackun commented 9 years ago

Yeah, but it is a bit slow on older VCE atleast (edit: which is weird because it works fine in OBS). YMMV.

eanmclaughlin commented 9 years ago

@jackun I just saw that repo earlier today, will give it a try tonight. I also have a 290 though, so I'll likely have similar performance as what you are getting.

SpyPower commented 9 years ago

@jackun 7870 Hd here. should use the old drivers?

jackun commented 9 years ago

@SpyPower If you need to use OVE then yes.

Rawi666 commented 9 years ago

Hmmm 15.7.1 and HD7970 and Dxtory doesn't see testamf codec. VC++ 2013 redistributable installed + all the stuff from VS2015. Is there any debug log or sth to help you in development?

SpyPower commented 9 years ago

15.7 HD7870 Dxtory doesn't see the teastamf codec too. MSI afterburner too cannot see the codec. Sherlock the codec detective cannot find it too. o.O

eanmclaughlin commented 9 years ago

Probably be best to open an issue on that repo :)

jackun commented 9 years ago

@Rawi666 @SpyPower Unpack to some permanent folder and install from there. Check that in registry HKEY_CURRENT_USER\Software\TestAMFVFW\InstallPath points to the Runtimes folder. Otherwise check with DW, only thing unresolved should be AMF related dlls that are delay-loaded (which is WIP itself) (ignoring ms-api-.... things).

Stormy92 commented 9 years ago

I'm using it right now on Windows 10 with CCC 15.7.1 and Dxtory Version 2.0.128

Works fine so far. It didn't appear in my Dxtory first but i fixed it by simply restarting my computer. The perfomance is aboput 30-40 FPS for 1080p. But thank you so much for this. I was using OpenEncodeVFW for the last months and to see it won't work with newer drivers was kinda depressing for me.

ss 2015-07-31 at 05 56 26

jackun commented 9 years ago

@Stormy92 Biggest offender is the SubmitInput call that is used to send the buffer/surface to encoder. It just sits there 6ms doing god knows what. Even RGB-to-NV12 conversion is done in OpenCL in some ~2.5ms so the buffer is already on the graphics card and the whole thing would give just a little over 60fps in 1080p (encoder jitters between ~11ms..13ms). Sigh...

Stormy92 commented 9 years ago

@jackun Btw. Windows 10 is able to record gameplay with the build in Xbox app and it's using the GPU encoder on AMD and Nvidia GPUs afaik. It's called "Game DVR"

Idk if this is helpful in any way for you.

ghost commented 9 years ago

Do I understand right, from all the discussion here, that this whole codec is not working anymore? With the latest AMD driver? Is that why its just not showing anywhere? That would be soooo not nice T^T

I mean I can have very great Recordings with the AMD Evolved Gaming APP but I just hate, that it only uses one Audio line. That's why I'd prefer DxTory over everything else, but I can't record with my CPU! -,- My PC is bad!

jackun commented 9 years ago

@RavingCraze Yes, it has been deprecated for long time already. Try the AMF version but keep in mind that there's some API calls overhead that may limit you to about 1080p@45fps with first iterations of VCE atleast. Tonga (R9 285) and newer (R9 Fury (X)) should be faster but I have none to test with.

ghost commented 9 years ago

@jackun yeah lets talk about 1080p with 45FPS when I can run Arma 3 with that! (xD just kidding, thanks for the warning! ^^)

Thanks I'm gonna test it out! I Only record with 30FPS anyway!

Prehistoricman commented 9 years ago

It seems slightly wrong that AMD pioneered the overhead-removing Mantle, and then remove the fast API. Whatever the reason, thanks for providing the AMF version. It's the only way I can render quickly in Vegas.

It seems the developer at http://capturegamevideo.com/index.php?/topic/4098-playclaw-51/page-10#entry31146 is having a better experience with the newer API. "I tested radeon 7850 with frame size 1440x900 and got about 110fps recorded (tried 120fps mp4). And I think there is some little space for optimizations. So, new API gave real speed boost."