Jump to content

Recommended Posts

Posted (edited)

Each build of mine will have different versions of certain files. WiniSnap makes a slight error in the version naming of Depends.dll it gives the MSVCRT.dll version. If there are any queries about files in use, I have taken a scene shot of some files in SafeMode. The Uxtheme and WTSAPI files in this build have been tested with FF35 and need to be in the KernelEx folder in follower mode for FF35. GMAX is fairly particular about what version of IMAGEHLP is used and 5259 or 5270 works so this is a good test and IMAGEHLP 5259 - 5270 are safe mode friendly. I could not find a copy of Loblo's Quartz 6.5.1.914 and registering filters like Quartz will overwrite YT source so YT source has to be registered last. I did a RegShot comparison and YT source overwrites some quartz settings but I found it difficult to interpret. The advantage of Quartz 5270 is that is is more efficient with no tearing and has inbuilt noise reduction I estimate. ( using 5259 modules in log but will settle for 5270 in future ) 
 
DW shows a more comprehensive indication to whats happening with no red occurrences it has one first chance exception that I can see. Bcrypt was used in Quartz and QDVD at one stage then later on, modules used Ncrypt. I have Ncrypt = Bcrypt.dll in KnownDlls. I cannot profile MPC-HC though; it will not even get to the GUI. I tried this with several builds. The MiniSnaps + DW log are in the zip folder.

SafeMode.png

WMP2DW1.png

WMP2DW2.png

DWlog.zip

Edited by Goodmaneuver

Posted

> [M]iniSnap makes a slight error in the version naming of Depends.dll

Good catch.  Working on it....

What modes are Depends.exe and Mplayer2.exe set to? Try using the same setting on both.

 

Posted (edited)

>What modes are Depends.exe and Mplayer2.exe set to? Try using the same setting on both.

Answered 4 posts back here, BASESN. I tried BASE on each and understand that they need to be the same to profile so nothing unusual about this.

I have some details of file versions with the updated LibCurl.dll in the DW.zip which is of downloading a YouTube video that uses FFDSHOW audio. There are no red occurrences in DW log. I tried to fix the CLAV first exception issue without success, unregistered all Cyberlink filters, it might not be due to my Cyberlink installs. AVFORMAT-LAV-58.DLL calls NCRYPT. I forgot I had some programs running KEX disabled which would form a clash in some modules KEX reg settings so I put them on MIN. Originally I had to have some DW options ticked otherwise there was an error but now none need be selected. So it must be very close to working without DW. If DW is required to launch then that is OK anyway. Would DW run a debugger to get the info that it requires as several programs work that do not profile to a working condition. These have red occurrences in DW log.

This build had 31113 as MSVCRT then 40607 then BWC's Msvcrt.dw7 as MSVCRT. It was with Msvcrt.dw7 that YT source worked direct from the player with Quartz 6.3.1.889 that I first had it working. If I use 6.3.1.889 now and before I need to stop the player then start the player for the video to work. I had some occasional load errors with these later MSVCRT substitutes so I went back to 31113. I have backups and still not 100% sure if it was when BWC's file was in use but I think so. I still have files that use Msvcrt.dw7 like MSXML3 vs 11 and that was the idea in going back to 31113 to clear up any misloads in the child modules of the wrapper file and still be able to use the modern files.

I do remember the 8.40607.16 as well and it was in an extracted folder. I would like to try that version when I have a backup ready of an early system. AVFORMAT-LAV-58 does not like to use 40607.52.

DW.zip

Edited by Goodmaneuver
  • 3 weeks later...
Posted

DotNetFX is unaffected by KernelEx. I have edited some mention of erroring in kernelex-45-core-updates. I will be working on updating my latest build that works DotNetFX eventually. The program using DotNetFX is set disabled and also MSCOREE in the system folder needs set KEX disabled.

  • 1 month later...
Posted (edited)

I have got Msvcr80 40607 working better. The library has these strings within which are referenced to Msvcrt.
__get_app_type..
__set_app_type..
?unexpected@@YAXXZ..
?terminate@@YAXXZ...
?set_unexpected@@YAP6AXXZP6AXXZ@Z...
?set_terminate@@YAP6AXXZP6AXXZ@Z....
_set_error_mode.msvcrt.dll..
__GLOBAL_HEAP_SELECTED..
__MSVCRT_HEAP_SELECT

Because I wanted to use this library as Msvcrt then the reference cannot be Msvcrt and leaving it untouched meant there were a lot of executable load errors. The previous comments I have made of using Crtdll in the child module for _getdrives does not work out very well and Msvcrt10 is better. Msvcrt after the _set_error_mode function string has to be changed and then use Msvcrt10 for the _getdrives function link.

Posting here as I thought it be helpful for KernelEx development because of the results.

The results were that I can play videos on KMP and MPC_HC using all of the Lav filters. I can use WMP and Mplayer2 with the LavSplitter and other non Lav filters but I cannot use LavSpitter with the LavVideo and LavAudio filters in WMplayers and Zoom player. YouTube source_filter still worked the same for Mplayer2 and having to load through DW with all Lav filters in use for the decoding. Wbemcomn.dll still needs msvcr70. The advantage if using the Msvcr80 40607 apart from more functions available is that it will improve framerate slightly and more so in relation to games due to video card and CPU limitations.

Edited by Goodmaneuver
Had to add all LAV filters in use
Posted

> The library has these strings within which are referenced to Msvcrt.

Completely incorrect, thus invalidating subsequent analysis. Notepad is not an appropriate tool for interpreting PE files.

_getdrives is the one and only import from Msvcrt. DependencyWalker correctly reports this.

Kernelex users should be using Msvcrt 6.10.9848. Let Kernelex provide additional API support for best results.

 

Posted (edited)

Using HxD hex editor if you search for msvcrt in 8.40607.52 you will find the text string msvcrt that is after _set_error_mode. If this is left msvcrt then the 40607 module will not work when loaded from many executables where 40607 is an implicit. True: - _getdrives is the one and only import from Msvcrt showing as a implicit but I have proved step by step in getting another build to work by changing or_mode.msvcrt.d as shown in 16 character per line view to another library reference works. I found this out after going back to a previous build where I had this text changed (I had _set_error_mode.msvcrx.dll..). and if using Msvcrt10 for _getdrives import then most things work so far. I do not expect work to be done about this but thought it might be an insight for LAV filters, DW, 3DYD source_filter and possibly registry accessing/workings as from what the player's error says.

If I have KEX ApiLoging selected in the KEX property sheet of MPlayer2 for example and I do not have ApiLog.exe running Dependency Walker slows down even slower than having the text window open with ApiLog running : - it takes over one second to write one line.

Edited by Goodmaneuver
Posted (edited)

Msvcrt19 was supposed to be Mozcrt19 from FireFox 8 or lesser version. I thought that Msvcrt10 was a WinMe library but it must have been after installing Crystal Reports which is available in Microsoft Windows NT 3.51 Resource Kit (3.51.1057.1) and Msvcrt10 is in Crystal\Disk1. Microsoft Windows NT 3.51 Resource Kit (3.51.1057.1) is available from winworldpc.com. Msvcrt10 is also in WinFrame 1.8 : - Quadrant Manager. After expansion the size should be 210,944 bytes link time stamp 24/07/1993 DD/MM/YYYY. Msvcrt10 although better is not as good as a stub. (KMP will freeze loading LAV with Msvcrt10, see 2 + 3 posts further on here,)

Edited by Goodmaneuver
Posted (edited)

http://dependencywalker.com/faq.html is an easier to look at information about DW, look for this in particular "My application runs better when being profiled by Dependency Walker than when I run it by itself. Why is this?" and https://documentation.help/Dependency-Walker/documentation.pdf has more info about other things. Because Crtdll caused some errors - I stopped Crtdll from being loaded altogether for testing. If the _dll is removed from the end of the functions that have it then Radmin32 can use Msvcrt instead of Crtdll. This is why Crtdll is not showing up in the HTM (2 posts on) - which was done using CurrProcess.

 

Edited by Goodmaneuver
Posted (edited)

When MPC_HC was staying in RAM there were 181 modules loaded and the HTM upload was when playing the one AV1 which had 131 modules loaded with no lock up in RAM on exit. KMP and PotPlayer load LAV filters OK but MPC_HC loads H265 & AV1 but other types the LAV Video and Lav Audio do not load from the LAV splitter and then MPC_HC locks in RAM on exit when using other filters from LAV splitter and may have always been the case as it did lock up in RAM before.

Edited by Goodmaneuver
Posted (edited)

There are some Borland C++ RTL multi-threaded libraries like CC3260MT and CC3250MT. If the names are shortened like 3260MT then they can be used for _getdrives. The link name is changed to __getdrives to match 3260MT. This frees up the 40607 and the functioning I think is correct and therefore a better choice. Everything seems to load faster and screen refresh is faster. There is KernelEx.dll 4.5.2 and 4.5.2016.19 error showing in some programs like TClockEx and WxHexEditor. Msvcr80 and Mozcrt19 will need similar treatment as they originally point to Msvcrt for _getdrives. Avformat-Lav-58 works with this arrangement importing from 40607 and can be seen in the uploaded HTM file list (PotPlayer.zip). The upload has Crtdll loaded because Avifil32 uses Crtdll and that depends on what video is loaded. Avifil32 can be forced to use Msvcrt and I have done so now. I have found out why MPC-HC staying RAM and it is an EVR DXVA anti-aliasing - hardware issue that appears to be getting better. The 2 types of video types I can play are 3g2 and F4v on Mplayer2. If I rename other types to either 3g2 or F4v then they play without issues. So this is due to registry settings.

 

PotPlayer.zip

Edited by Goodmaneuver

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...