Error: Assertion Failed! CFHDDecoder64.dll

ray.vermette wrote on 5/14/2017, 9:41 AM

When I work with Cineform AVI files, I randomly get the following error, either when adding the files to a project, editing them in Vegas Pro, or attempting to open a project using those files:

Microsoft Visual C++ Runtime Library
Assertion Failed!

Program:...program Files (x86)\Cineform\Tools\CFHDDecoder64.dll
File: decoder.c
Line 2229

Expression: segment.tuple.tag == CODEC_TAG_SAMPLE

The error message gives 3 options: Abort, Retry, and Ignore. Clicking Retry or Ignore, if done quickly enough, will get me past the error, but it's a pain having to randomly respond to this error dozens and dozens of times for a project that uses many Cineform AVI files. If I do not click Retry or Ignore right away, the application will freeze. Sometimes this error will be followed by other Visual C++ Runtime Library errors with slightly different messages.

I have the latest versions of Vegas Pro 14, GoPro Desktop & Studio, and Windows 10 with all service patches applied. This error occurs both on my desktop machine, and also on a laptop with the same software installed.

I realize rendering to another intermediate format is a workaround for this problem, but I have hundreds upon hundreds of Cineform AVI files. I have been able to work with these files in the past using previous versions of Vegas Pro and possibly an older version of the Cineform codec. I'd prefer not to abandon this file format and workflow if I can get it to work again.

I read on this forum that someone with the exact same error had success replacing the Cineform file "renderVFW.exe" with an older version. I tried this and it didn't work using Cineform AVI files produced prior to that. If I were to re-render the files using this new executable, perhaps it would solve the problem, but again, I'd prefer not to re-render hundreds of files if there is a better solution.

The Cineform files in question play and edit without error in other applications.

Thanks in advance for any help you can provide.

OS: Microsoft Windows 10 Pro, latest updates
CPU: AMD Ryzen 7 3700X 3600 Mhz 8 cores 16 logical processors
Motherboard: MSI X570-A Pro
RAM: 32 GB DDR4
Hard Drives: (1) Samsung SSD 970 EVO Plus 500GB (2) Sambient Rocket Q SSD 2TB
GPU: Geforce RTX 4060 8GB GDDR6, latest studio driver
Vegas Pro: 22 (build 239). Also 21 (build 208), 18, 17, 15, 14

Comments

Kinvermark wrote on 5/14/2017, 10:18 AM

I think in some cases the correct cineform encoder / decoder dll's don't end up in the "tools" directory.  Don't know why this is but this is how I fixed the problem:

Rename the CFHDDecoder64.dll and CFHDEncoder64.dll  in the \cineform\tools directory to BACKUPCFHDDecoder64.dll, etc for safety.

Search your c: drive for latest versions CFHDDecoder64.dll and CFHDEncoder64.dll.

Copy those to the c:\program Files (x86)\Cineform\Tools  directory.

This works for me. YMMV.

john_dennis wrote on 5/14/2017, 10:23 AM

"Program:...program Files (x86)\Cineform\Tools\CFHDDecoder64.dll"

Things that make you go hmmmmmm...

program Files (x86) is the place where 32 bit apps are installed.

Why would what looks like it might be a 64 bit dll be there?

Things that make you go hmmmmmm...

Kinvermark wrote on 5/14/2017, 10:53 AM

Good question.   Why would Vegas be looking in that directory for a 64 bit dll?   I don't have a clue; just found a "hack" to keep working.

ray.vermette wrote on 5/14/2017, 12:21 PM

@Kinvermark: I did as you suggested. Unfortunately, it didn't work. By the way, the DLL files under the non-x86 branch were older (by a few days) and had older product version numbers than the ones under the x86 branch.

Now I'm trying to figure out how to force Vegas to just look in the non-x86 branch and get the 64-bit DLLs from their original location, rather than copying the 64-bit DLLs over to the x86 branch. I'm sure there is a tool to configure video for windows to say "use this codec in this location and not the other one", but I haven't found it yet.

OS: Microsoft Windows 10 Pro, latest updates
CPU: AMD Ryzen 7 3700X 3600 Mhz 8 cores 16 logical processors
Motherboard: MSI X570-A Pro
RAM: 32 GB DDR4
Hard Drives: (1) Samsung SSD 970 EVO Plus 500GB (2) Sambient Rocket Q SSD 2TB
GPU: Geforce RTX 4060 8GB GDDR6, latest studio driver
Vegas Pro: 22 (build 239). Also 21 (build 208), 18, 17, 15, 14

ray.vermette wrote on 5/14/2017, 12:43 PM

@Kinvermark: correction: your solution does appear to work! I went back and verified what files/directories I was working with, and I was in the wrong directory. The DLLs appear in at least 3 places: C:\Program Files (x86)\CineForm\Tools, C:\Program Files (x86)\GoPro\Tools, and C:\Program Files\GoPro\GoPro Desktop App. Once I copied the DLLs from C:\Program Files\GoPro\GoPro Desktop App to C:\Program Files (x86)\CineForm\Tools, the problem went away. So far. Knock on wood.

So the other problem still remains: how to get Sony Vegas to pick up the DLLs from the original non-x86 location, rather than using this hack.

OS: Microsoft Windows 10 Pro, latest updates
CPU: AMD Ryzen 7 3700X 3600 Mhz 8 cores 16 logical processors
Motherboard: MSI X570-A Pro
RAM: 32 GB DDR4
Hard Drives: (1) Samsung SSD 970 EVO Plus 500GB (2) Sambient Rocket Q SSD 2TB
GPU: Geforce RTX 4060 8GB GDDR6, latest studio driver
Vegas Pro: 22 (build 239). Also 21 (build 208), 18, 17, 15, 14

ray.vermette wrote on 5/14/2017, 3:51 PM

I don't know how to get Vegas to use the correct location for the 64-bit Cineform DLLs, but in the meantime, the hack of copying the DLLs to the folder that Vegas IS using is working. I just put together an edit with about 80 AVIs, no problem. Dragging and dropping from File Explorer directly into the timeline no problem. Not a single crash in over 3 hours of use. It even seems to be rendering much faster. Thank you, thank you, thank you! SOLVED! :)

OS: Microsoft Windows 10 Pro, latest updates
CPU: AMD Ryzen 7 3700X 3600 Mhz 8 cores 16 logical processors
Motherboard: MSI X570-A Pro
RAM: 32 GB DDR4
Hard Drives: (1) Samsung SSD 970 EVO Plus 500GB (2) Sambient Rocket Q SSD 2TB
GPU: Geforce RTX 4060 8GB GDDR6, latest studio driver
Vegas Pro: 22 (build 239). Also 21 (build 208), 18, 17, 15, 14

MartinE wrote on 12/2/2017, 12:28 PM

I'm having similar issues using cineform with VP13. Do I take it that you do this hack when Vegas is running?

Kinvermark wrote on 12/2/2017, 1:51 PM

Definitely not! Close Vegas. Copy the files as suggested above (make sure to make a backup of the old DLL as explained). Restart Vegas.

 

PS I should never have used the word "hack." It isn't; its simply copying a file Vegas needs to see, into the directory it appears to be looking for it.

MartinE wrote on 12/2/2017, 5:35 PM

Kinvermark, I tried it and it works. No errors. Many thanks.

St3v3 wrote on 12/6/2017, 8:29 PM

That seems to have fixed my CFHDDecoder64.dll assertion errors in Vegas Pro 15 as well. Thank you!

By the way I got CFHDDecoder64.dll and CFHDEncoder64.dll dated 11/22/2017 from the HitFilm Pro 6 demo install which is available for free on the HitFilm web site.