Log in

View Full Version : Size of avisynth.dll differs


dvd2svcd
20th September 2002, 13:01
I was just wondering if the reason that your compiled avisynth.dll (found here http://cultact-server.novi.dk/kpo/avisynth/avs_cvs.html ) is 336kb because you have included Donals Decomb (and more perhaps).

Because when I make a snapshot of the CVS and compile it I have to remove Decomb first and after that I get a dll of 260 kb (compiled with vc++ 7.0).

sh0dan
20th September 2002, 14:18
Where do you find decomb?

I very much sure it isn't included - all sources from it has been completely removed weeks ago.

dvd2svcd
20th September 2002, 14:24
Ahh, that explains it. You haven't fixed the .dpr file to exclude it and so when I made a snapshot of the cvs I needed to manually remove the references to it (from the dpr). However that doesn't explain the 100 kb difference between the two dll's.

int 21h
20th September 2002, 14:33
Possibly different debug settings?

dvd2svcd
20th September 2002, 14:34
I'm compiling it in Release mode, and the only thing I did to the snapshot was removing the decomb references. And then this too:

1. Using DirectX SDK 8.1b
2. Using VC++ 7.0

But maybe you're right, maybe the dll released on the page I refer to in my first post is compiled in debug mode (but why should it be?).

Nic
20th September 2002, 14:50
Hi d2s :)

It could be because the Intel Compiler might have been used (???) That tends to make quite a bit larger executables....
(I guess unrolling, inclusion of its own libraries, etc)

Cheers,
-Nic

sh0dan
20th September 2002, 14:53
It isn't Debug mode (I compiled it), and it doesn't contain any decomb-stuff (did a binary string search).

It does however seem to have grown from 262k to 344k somewhere between 5th of August and 21st of August.

It's compiled with VC6 SP5.

Where did you find this decomb stuff - I have no .dpr files.

sh0dan
20th September 2002, 15:05
I can see in the CVS, that both Code Optimization and Virtual Dub file opening (compressed audio) has been added in this time. So the file size change may be natural consequence of that.

File size doesn't concern me - only speed and reliability - I can to to UPX it, and see if it still works.

dvd2svcd
20th September 2002, 15:42
The snapshot I took was from yesterday so those things is already in there (if the CVS is up to date). Anyway, I just noted the big size diff. and was unsure to why this was. In my experience, such big difference often means that something has gone wrong.


The reference to decomb is in this file, avisynth.vcproj (not dpr as I said, sorry):

http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/*checkout*/avisynth2/avisynth/avisynth.vcproj?rev=HEAD&content-type=text/plain


- <Filter Name="Filters" Filter="">
- <Filter Name="Decomb" Filter="">
<File RelativePath=".\Telecide.cpp" />
<File RelativePath=".\decimate.cpp" />
<File RelativePath=".\decimate.h" />
<File RelativePath=".\decomb.cpp" />
<File RelativePath=".\decomb.h" />
<File RelativePath=".\fielddeinterlace.cpp" />
<File RelativePath=".\fielddeinterlace.h" />
<File RelativePath=".\telecide.h" />
</Filter>



What does:
I can to to UPX it, and see if it still worksmean?

int 21h
20th September 2002, 16:14
UPX is a packer (compressor) for executible code. It uses the NRV compression library to compress PE code to something like an average of 1/3 its original size.

UPX compresses the code then inserts the code to uncompress it into the program itself, so there are some instances that a very small program will have no gain, however, this is rarely the case ;)

Using UPX on a setting of -9 reduces the .dll filesize to 118,272 bytes.

UPX is available here: http://upx.sourceforge.net/ as is more information about it and its sourcecode.

sh0dan
20th September 2002, 16:21
Regarding th vcproj-file - is it even used? Changing anything the decomb part in it, doesn't seem to change anything here.

Richard may be able to explain why it's there. Is it a VC7 file?

Still compiles at >300k, with the stuff removed, but I added UPX to the build process, so now it's considerably smaller - speed impact should be none, when the dll is loaded at startup. Let's experiment before releasing anything.

btw, also enabling inlining. Temporalsmoother caused problems in 2.03, but it also had a stack bug, which might have caused the crashes then.

dvd2svcd
20th September 2002, 16:37
That is it, I opened vcproj (yes it is a VC7 project file) and ofcourse I had to remove the references to Decomb to compile it. However it strikes me as very odd that there is such a huge diff. in the filesize. I'm not using UPX.