Git Product home page Git Product logo

openencodevfw's Introduction

THIS DOESN'T WORK anymore with newer Catalyst drivers (since 15.7)

OpenEncodeVFW

VFW encoder for AMD VCE h264 encoder. Usable with Virtualdub, Dxtory etc.

https://github.com/jackun/openencodevfw/archive/master.zip

Extra settings are saved to registry under HKCU\Software\OpenEncodeVFW

As OpenEncode has been deprecated by AMD for a long time already, it appears the support has been finally dropped from Catalyst 15.7

You may need to install MSVC++ 2013 runtimes. Last MSVC++2010 commit.

NOTE: You need to install x86 version for 32bit codec even if your Windows is 64 bit.

NOTE: VCE on cards/APUs prior to Tonga only go up to 1080p and solid 1080p60 recording can not be guaranteed (yet) unfortunately.

Compatible hardware

AMD's GCN based cards and APUs. From AMD's blog:

VCE Version Product Family Distinguishing Features
VCE 1.0 Radeon HD 7900 series/Radeon R9 280X dGPU First release: AVC – I,P and DEM
Radeon HD 7800 series dGPU
Radeon R9 270X/270 dGPU
Radeon HD 7700 series/Radeon R7 250X dGPU
A10 – 58XX (and other variations) APU
A10 – 68XX APU
VCE 2.0 Radeon R9 390x/390/290x/290 dGPU SVC (temporal) + B-pictures + DEM improvements
Radeon R7 260X/260 dGPU
A10 – 7850K APU
A4-5350, A4-3850, or E1-2650 APU
A4-1200/A6-1450 APU
VCE 3.0 Radeon R9 Fury/285 dGPU 4K

Installing

  • Unpack the archive somewhere, right click on install.bat and click Run as Administrator.

If it complains about missing files, try the more manual version:

  • Unpack the archive somewhere, open command prompt as administrator by typing cmd to start menu or "Metro" and press SHIFT+CTRL+Enter or right click on the icon and click Run as Administrator.
  • Go to unpacked folder by typing into opened command prompt cd some\where\OpenEncodeVFW-bin.
  • Type install.bat and press enter to run the installer.

Uninstalling

If uninstaller fails its job, manually remove these registry keys:

HKLM\SYSTEM\CurrentControlSet\Control\MediaResources\icm\VIDC.H264
HKLM\Software\Microsoft\Windows NT\CurrentVersion\drivers.desc\OPENENCODEVFW.DLL
HKLM\Software\Microsoft\Windows NT\CurrentVersion\Drivers32\VIDC.H264
HKLM\Software\Wow6432Node\Microsoft\Windows NT\CurrentVersion\drivers.desc\OPENENCODEVFW.DLL
HKLM\Software\Wow6432Node\Microsoft\Windows NT\CurrentVersion\Drivers32\VIDC.H264

and OPENENCODEVFW.DLL in %WINDIR%\syswow64 or %WINDIR%\system32

Recommended usage

  • 32 bit input format
  • width/height multiples of 2

Some setting descriptions

  • Fixed QP basically keeps picture quality constant across all frames.
  • CBR keeps constant bitrate so picture quality gets worse if there is frequently fast motion in video and bitrate is too low or wastes harddrive space if frame could have been compressed more. Seems to fluctuate too much though.
  • VBR uses variable bitrate, tries to keep in target bitrate but rises bitrate a little bit if needed or lowers if frame can be compressed more.
  • CABAC is more efficient and resource intensive encoding option.
  • Search range is motion vector range. Specifies how wide the codec looks for moved pixels so it can just say that these pixels moved to x,y and just save that. Higher (max 36?) is better and more resource intensive encoding option.
  • Profiles / levels: start from http://en.wikipedia.org/wiki/H.264/MPEG-4_AVC#Profiles . Colorspace is limited to Y'UV420.

Probably not very accurate descriptions :P

Also:

  • Send FPS sets encoder framerate properties to video framerate, but not all framerates are supported by encoder. Untick to treat all videos as having 30 fps, but this may make encoding inefficient and increase bitrate more than necessary.
  • Speedy Math tries to speed up OpenCL floating point math by making it less accurate, but should be good enough.
  • Switch byte order : for the rare case when input bitmap is RGB(A) instead of BGR(A).
  • Header insertion : adds SPS/PPS to every frame, may make cutting/splitting video easier. More of a 'debug' feature.

Quickset buttons for speed vs quality:

  • Speed : encodes 1080p at 60+ fps (theoretical max 80+)
  • Balanced : encodes 1080p at 40+ fps
  • Quality : encodes 1080p at 30+ fps (can probably do 720p@60)

With newer AMD cards (hawaii+), seem to support B-frames, though VCE may not actually generate B-frames with OpenVideo, and AVI kinda sucks with these (see). You may need to remux to MKV/MP4 for better audio/video sync. (Also maybe ffmpeg -fflags +genpts)

openencodevfw's People

Contributors

jackun avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

openencodevfw's Issues

60 FPS Problems At 1080p

I've been having a couple problems recording at 1080p 60 fps using the VCE encoder. I saw that there was another issue posted about this and you recommended using the "speed" option, so I made sure to do that. I'm still only getting about 48-56 fps though. I use an FX 6300 CPU, and an R9 280 GPU. I would think that both of those should be more than capable of recording at 1080p 60fps using the VCE... I checked my CPU usage, and it fluctuates between 40-60 percent usage. Tomb Raider is what I'm testing with, and when not recording my CPU usage is between 20-30. My GPU sits around 60% usage, but that's mostly the game. Recording only uses about 5-10%. Would you happen to have any suggestions?

Can't get codec to show up in any program on Win 7 64

I installed in using the install.bat with admin rights and it correctly said it's installing the 64-bit version, however the codec is not visible anywhere (using Bandicam and MSI Afterburner).

Is there some trick I missed, or how do I get the codec to show up?

Thx.

Non standart 1200p

Hello!
First of all: THANK YOU! =)
I try about 2 days to start work your codec on Dxtroy, but no result at all. Programm is freezing on INIT state and nothing happends. At ErrorLog file of Dxtroy have this lines

PID:12072    TID:10540    TickCount: 3060625 Error ICCompressBegin err=ICERR_INTERNAL(-4)
PID:12072    TID:10540    TickCount: 3060625 fcc=h264

Other codecs nicely grab video from screen =(
Today i tried your build of OBS, and after some manupulations i've got Error about screen resolution, that maximum is 1920x1080. My screen resolution is 1920x1200. I set up crop for 1080 and it's start to grab!
Then i set up Dxtroy for clipping with needed size and it start to grab too! I was extremely happy!
I have R290x video card and tried to capture with level 5.1 but it`s fails too =(

And now the question =)
Is it a bug of codec or H.264 restriction?

Encoder not showing up (32bit and 64bit)

Hi

Wanted to just load the VFW-interface to see, what options the encoder offers, but can't see it in any program (tried Bandicam, VDub32 and Vdub64).

Do I need to have an AMD card already installed (or the driver) to actually be able to see it, or should it already show up?
I already installed the MSVC++ 2013 runtimes.
Encoder installed everything without any errors (I ran it as admin).
(OS is Windows 8.1 64bit.)

I will have and AMD card in a few days, and want to test this encoder to see if I'll keep it.
But maybe someone can already answer this question:
Is it possible to encode a lossless 1080p/60fps stream with an R9 390 with this encoder?
(Not to stream, but to save on an HDD.)

MSI Afterburner and DxTory don't seem to see new version of OpenEncode

Hey guys, been using your OpenEncode tool here for recording gameplay and I have to say this is a fantastic program and would like to show my appreciation and thanks.

I however am experiencing an issue with the latest version of OpenEncode it does not seem to appear in the codec list for DxTory or MSI Afterburner anymore? Am not sure if I am the only one with this issue (tried uninstalling manually and reinstalling but no avail) and I am not sure you are aware of this so Id thought id let you know just in case. The only thing that worked was to reinstall the previous release.

option is fixed FPS ??

Good job!!
I have a question:
  You can add an interface option is fixed FPS ??
In some cases it is necessary to do a screen capture to sync with other devices and requires a fixed FPS for example 15 or 20 or 25.
It is possible ??

Old OpenVideo libs deprecated?

Note to self: Convert to Media SDK. v1.1 should have OpenVideo (mid 2014).
Currently last supported AMD APP SDK is v2.8.1.

Encoding speed and color issues.

Hey man. I've been testing the codec with dxtory the past couple of days, and I've noticed some issues. I'm not sure this is related to your codec or not.

I'm running a AMD HD7950 and I can not get the codec to do 1080p/60 regardless of what quality settings I've used. I've tested CBR, VBR and QT (in increments of 2) from 0-30. In all cases, regardless of quality, I get 37 frames per second encoded.I've also tried with "send frame rate to VCE" off and on. Is this a limitation of AMD's VCE?

Second, the colors in the recordings are a bit off. If the option to set RGB to 16-235 is not checked, the recordings are extremely dark. With RGB to 16-235 set the recordings are dark, but manageable with colorcorrection. Additionally yellow seems to move towards brown, and brown towards black.

Again, is this a limitation of AMD VCE or something that might be fixed from your end?

If these issues can be fixed this will be my go-to encoder as the filesizes/quality are awesome.

EDIT: I've tried with QT4 720p/60 and it works correctly, suggesting that there is some bug with 1080p as bandwidth for 720p/60 should be higher than 1080p at 37fps if I'm not mistaken?

Green line bottom of my videos?

Got a problem hope you can help?

I'm recording with Dxtory and openencodevfw. Width: 1920 Height: 1080 fps: 30
I'm using MP4Box to Demux/Mux so I can edit in sony vegas. Problem is my raw footage is coming out 1,920 x 1,088 and I'm getting a green line at the bottom of my videos.

Any way to fix this?

Best setting for quality and frequently fast motion on youtube

Hey guys..
I'm looking to use the very best setting for openencodevfw for quality and frequently fast motion on youtube.. What would you recommend I change in settings to achieve this?

At the moment my settings are this:

Fixed QP
CABAC on
Search range 36
levels 4.2
Profile High
Force frame 250
Quantizer 10
Quickset Quality
Speedy Math on
NV12 conversion on
BGR(A) pixel format on

Any suggestions would be great..

Sony Vegas and openencodevfw

Hey guys.. Got a question hope you can help?

I've captured game footage with openencodevfw but when I try to open in Sony Vegas 12 it won't work? Sony Vegas refuses to open it. Anyway to make this work in sony vegas without losing quality?

Can't import to Adobe Premier or Vegas 12

I have no idea why it won't import to either.
I am unable to edit the files in any program.

Is there something I'm doing wrong?

Also, thank you so much for making this.

Encoding speed is "slow"?

First of all, thank you for developing this fantastic piece of software. I'm trying to set up GPU accelerated rendering on my PC. I am using VirtualDub (64 Bit, but tested with 32 Bit as well) to render (fast recompress mode) a 1080p video using the "Balanced" preset, High Profile at 25Mbps VBR. The encoding runs at about 21-23 FPS. I then tested the "Speed" preset, with all three profiles, which didn't seem to increase the render FPS noticeably, maybe by 1-3 FPS, but this is nowhere near what you said it should be able to achieve on the main page. I tested with Sony Vegas too, same results. Then, I downloaded MSI Afterburner. It benchmarked VCE with my GPU at 53 FPS avg. for Balanced, so I wonder why VirtualDub / Vegas can't get anywhere near that? Is VFW hitting performance that much? Any ideas?

Thank you,

  • Phil.

Cannot Install both 32bit version and 64bit version

Hello,

I need to have both the 32 bit version and 64 bit version installed at the same time. The install.bat tells me to modify the install.bat to do this but is very unclear on how to achieve this. It may be possible but the documentation needs work (especial since I am a technical person and I cannot achieve this, think of the non techs that will need to do this)

Glitchy video problem on preview and rendered video that's not appear in video player

My video preview in Vegas 13 seem glitchy (I don't know if I called it correctly) while opening the file in video player looks fine. The glitch also appear in the rendered videos too. Here's the screenshot from Vegas itself using Best (Full) option.

http://i.imgur.com/6bAskZB.png

And here's the screenshot from MPC-HC.

http://i.imgur.com/HajkTuY.jpg

I captured gameplay using MSI After Burner with OpenEncoderVFW with following settings.

http://i.imgur.com/btKHK2f.png

Here's the video details.

http://i.imgur.com/kkDwEA9.png

I do have some codec installed and using Smooth Video Project (it make MPC-HC plays videos at 60fps instead of 30fps) and OpenVFW codec (to make Vegas read recorded AVI) but I don't want to uninstall all of them if it's not the cause.

PL. At first I can't import AVI created by openencodervfw to Sony Vegas. But I can after I install some codec (I think it's http://sourceforge.net/projects/x264vfw/ I'm not sure though.)

Distortion while cropping

While using null transform in VirtualDub, exported file is like in rhombus shape, and with disorted colors. Without null transform everything is great. I found out in your configuration files "encCropLeftOffset to encCropBottomOffset" but I don't really know where to find these files on my pc to edit these values.

Request: Record at 60fps

Since YouTube will soon support 60 fps videos, I would like to start recording at 60fps. Can we currently do this and/or will this be supported soon?

Render at 1152p?

After i had installed the openencodevfw i noticed, that i can use it for rendering in sony vegas. It works fine with 1080p, but the problem is that i want to render my videos at 2048x1152, and if i try this it says:
'no compatible video codec was found'
I guess that 1920x1080 is the maximum resolution that i can use, but is there a way to render at 2048x1152?

Encoder always uses the first VCE device

I have run into a problem with openencodevfw in multi-gpu environments. The encoder will always select the first available device.

I do not know C++ well but a quick look at the code brought me to this:

compress.cpp [line 131]

    /**************************************************************************/
    /* Check deviceHandle.numDevices for number of devices and choose the     */
    /* device on which user wants to create the encoder                       */
    /* In this case device 0 is choosen                                       */
    /**************************************************************************/
    uint32 deviceId = mDeviceHandle.deviceInfo[0].device_id;
    clDeviceID = reinterpret_cast<cl_device_id>(deviceId);
    Log(L"Devices: %d\n", mDeviceHandle.numDevices);

With my limited understanding of programming i am having trouble recompiling the project with a fix in place but i suspect that the issue may as simple as saving the user choice from the GUI combobox and loading it into this line "uint32 deviceId = mDeviceHandle.deviceInfo[0].device_id;".

Bad fps with some games with AMD APU A6 7400k

There is a major problem that never effected me before but now its doing it, trying to record some games at any settings and resolution, fullscreen or windowed, disabling desktop effects and areo, the fps of the game and worse, the write fps is really bad. My hard drive has enough speed (100mb/s) to record and my cpu should run ok with it since it did when the issue was not there.
For example, trying to run battlefield 3 and recording it will cause the fps to bog down on the game and but the writing fps is even lower than usual. But when I unfocused the game like click on dxtory window the fps jumps right up and the game fps is now equaling the write fps.
Using the codec on dxtory with all setting set to default, have tried setting fps higher but no effect.
Opencl disabled and enabled, tried all levels of quality and use CBR VBR and QP at different bitrates.
Playing a simple unity game works at 60fps no problem, this issue is effecting Crysis 2, Crysis 3, Furmark, bf3, bf4 from what I have gathered.
Please help me with this issue, it just started to happen out of no where.

Specs and what have I tried....
Windows 64bit
AMD A6 7400k as cpu and gpu (Does support VCE with programs like the VCE build of OBS)
Reinstalled dxtory and openencodevfw
Updated all the Microsoft c++
Used AMD drivers 13.10 and current 14.10 but no change
Overclocked gpu and cpu and tried with stock clocks too but no change.
Reset bios, no change.

Cant install openencodevfw on dxtory

Hi guys, got a problem, hope you can help?

I've just tried installing the openencodevfw for dxtory.

I Unpack the archive to C drive, I right clicked on install.bat and Ran as Administrator.
Everything went smoothly until I looked for the codec in Dxtory. Problem is it's not there? I've rebooted my PC and still it's not showing... Any thoughts?

Install doesn't work

Dxtory version: 2.0.127

After running the install.bat as an administrator, I started dxtory up and the codec wasn't there.I have installed lagarith so I don't know what the issue is. I have uninstalled the codec, re installed dxtory and the codec, restarted my computer, and tried other dxtory versions. The install isn't working for me.

AMD 15.7 Drivers

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.

Dxtory won't show openencodevfw after format.

So I had this codec installed and it worked very well in both Dxtory and Afterburner (using Windows 8.1) But I had to format and now it seems impossible to use it. the installation process goes well without any errors, I have MSVC++ 2010 runtimes installed (both x86 and x64).
Is there anything I can do to solve this issue?

Keyframes

Is it possible to have the encoder create a keyframe every second, as opposed to every 5? I think it may be possible through the Force Keyframes option, but I haven't found any documentation on how to use it, and Afterburner doesn't want to show a tooltip explaining what it does. Right now, it's set to 250, but 250 of what, exactly? Frames? Seconds? Who knows. Allowing the end user to create keyframes every second would allow for easier editing in the future (speaking of the ability to quick-seek to a second-specific timestamp in FFMpeg without having to go full on frame-accurate.)

If there's something obvious I'm missing, I apologize.

Edit: Oh god I'm retarded. Sorry, I was acting under the assumption that MPC-HC seeked by keyframe, but it appears it goes by seconds. For those wondering, Force Keyframes does indeed go by frames, so setting it to 60 if you record at a stable 60fps will place a keyframe approximately every second, for reasonably accurate but still fast seeking in FFMpeg.

How to choose / test best settings?

Hey there jackun,

First and foremost, thank you! Thank you, thank you, thank you!
On to the questions.

I'm currently using dxtory with openencodevfw to record 1920 x 1080 30FPS video game footage.
Knowing this, would you mind giving me advice on choosing the best openencodevfw settings for the game(s) I'm playing please?

I've been doing a lot of research and haven't found any concrete settings or explanations on when and what to use. What I've been going by thus far is the settings someone previously asked about, basically:

Mode 0 - QP 20
Quick Set - Quality
Profile - High
Level - 4.2

The thing is, I don't know why haha.
You mentioned to someone else that QP 10 might be too much and QP 20 should be good. Well, how would one know what is enough?
Is there anyway to benchmark our settings?
All I know is when I turn the QP lower, the file size gets bigger (more lossless?).

Basically I've come down to this,
I've been changing all these settings around and seeing how it impacts the performance of my game (basically watching the FPS in the top left and the writing FPS also in the top left). This has been hard to benchmark though.

My goal is this:
Get the highest quality I possible can with the least amount of impact on my system.
Any tips on how to benchmark or test this?
I mean, why use lower quality settings if my computer can handle the higher quality ones?

I'm all over the place I'm sorry. I've spent the past week in evenings researching / working on all this.

One last thing,
Compared to using the YUV420 BT 709 / YUV422 BT 709 vs the openencodevfw, I've noticed the color to be off a bit. It appears to be more red, but I'm not too sure (I remember you researching this). Do you know any way to fix this with sony vegas? Maybe something similar to the Computer RGB preset fix? I'd just rather not use the YUV since the file size is huge compared to using the openencodevfw codec. Much easier to manage yours :).

Thank you!!!

Interested in NVENC VFW?

Hi,
thanks for this great project!
don't know if you are motivated enough to do either a new NVENC VFW project or add NVENC and rename project to gpuencodevfw or similar.. perhaps not should be much work using this project as base and you have code knowledge..
if not can you write some guidance on how to add such support?
thanks!

TestAMFVFW version rejected in Sony Vegas

http://prntscr.com/84d697
I've fiddled with every property in the project settings and VFW I can see, this error pops up. As far as I can tell, it doesn't matter what the project is. I've created a dummy project with one video file and one sound track, and this still occurs.
Is there any change that would affect how the codec would communicate with programs using it?

Sony Vegas Pro 13.0 on Windows 7 x64 with the Radeon HD 7870 XT.

Edit: I should mention again that I'm RENDERING from Vegas with your codec, not importing videos recorded with your codec. Just to clarify it's not like other Vegas issues with importing.

Fullscreen support in BF4 on Crossfire setup

Hey Jackun,

Does this work full screen? I can only record in windowed mode, once I go fullscreen the video recording gets cut off and says INIT.

I am using 2 MSI R9 290x's and have the October 5 build.

Iv'e tried just about every combination of settings, I am using Catalyst 14.9.1 but I need to run that in order to be able to use DX11 as the other ones are no good on the 290x and Mantle has a memory leak or some sort of slowdowns after a round ends.

I was using raptr but on a 1440p screen when it resized it to 1080p it ruins the detail specially with small text. I found DXTory working great but would like to use the VCE to keep my file sizes down.

Are you going to support Fullscreen crossfire?

Great job by the way.

TestAMFVFW showing up in Sherlock but not in Dxtory.

I have re-installed CCC 15.7.1 like ten times now and AMF isn't showing up in Dxtory. It does show up in Sherlock though. Can I have some instructions and help for dummies? I'm kind of new to this since I started using VFW 3 months ago. Any help would be seriously appreciated.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.