Skip to main content

Notice

Please note that most of the software linked on this forum is likely to be safe to use. If you are unsure, feel free to ask in the relevant topics, or send a private message to an administrator or moderator. To help curb the problems of false positives, or in the event that you do find actual malware, you can contribute through the article linked here.
Topic: IEEE 754 Float ACM codec (ID 3) n/a in Windows 7 64-bit? (Read 6876 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

IEEE 754 Float ACM codec (ID 3) n/a in Windows 7 64-bit?

No big surprise that Microsoft is going to make "Video for Windows" and the installable codec APIs ICM and ACM obsolete step by step. Even DirectShow is not favourable anymore, according to the plans of Microsoft. There are just too many tools available to cut off the support completely...

But one limitation became apparent recently when another user of our video forum tried to load a 32-bit float WAV using the AviSynth core function WavSource(), which seems to use VfW based A/V functions. It failed on a 64-bit Windows 7. Reported error reason: "Codec not installed."

I am not sure if uncompressed IEEE Float samples (IANA codec ID: 0x0003) need an explicit "codec" at all. I believe the "Microsoft Wave Mapper" was responsible for raw sample format conversions. But this seems to be absent in a 64-bit Windows 7.

It was not easy to check this issue at all. Windows XP used to enumerate ACM codecs in its Sound CPL, and among the Audio hardware drivers in the Device Manager. Windows 7 hides that part. GSpot 2.70a was able to "List Codecs and Other Filters", ald listed several ACM codecs, just not for codec ID 0x0003.

Is there any installable ACM codec for this format? Do any of the multi decoders register as responsible? I have ffdshow installed, and GSpot reports ff_acm.dll responsible for format 0x3313, but that doesn't help here.

There are other people who report to be able to load WAV files with float samples. But I am not sure if they have a 32 bit Windows or have another ACM installed (maybe based on A/V or capturing software); awaiting their detailed reply...

IEEE 754 Float ACM codec (ID 3) n/a in Windows 7 64-bit?

Reply #1
In my environment (windows 7 64bit):
WAVEFORMATEXTENSIBLE header + CodecID 00001000-0000-0300-8000-00AA00389B71: success
WAVEFORMATEX header + CodecID 3: fail

Microsoft says that wave file having more than 16bit  or 2 channels has to use WAVEFORMATEXTENSIBLE anyway.
http://msdn.microsoft.com/en-us/library/wi...3(v=vs.85).aspx

IEEE 754 Float ACM codec (ID 3) n/a in Windows 7 64-bit?

Reply #2
I don't read that "can use" as "mandatory"; but possibly good to know that some functions do.


IEEE 754 Float ACM codec (ID 3) n/a in Windows 7 64-bit?

Reply #4
Conclusion: Support for anything beyond stereo 16 bit integer PCM via legacy functions is not reliable, therefore AviSynth users shall better rely on 3rd party plugins with more flexible WAV support.

IEEE 754 Float ACM codec (ID 3) n/a in Windows 7 64-bit?

Reply #5
In Windows XP SP3, AviSynth can open all the here contained scripts; the WAV files were created with Audacity 2.0.5, exporting to other uncompressed formats, selecting "WAV (Microsoft)" or "WAVEX (Microsoft)" respectively. I'll check tomorrow what Windows 7 does...

IEEE 754 Float ACM codec (ID 3) n/a in Windows 7 64-bit?

Reply #6
Under Windows 7 SP1 64-bit, AviSynth opens 16 bit integer in both variants, but 32 bit float only with extensible header, with simple header it fails.

I was told that it works when AC3Filter is installed. But I could not confirm that claim. Even after installing the full version including an ACM codec, AviSynth still fails to open the float WAV file with simple header.