Welcome to Doom9's Forum, THE in-place to be for everyone interested in DVD conversion.

Before you start posting please read the forum rules. By posting to this forum you agree to abide by the rules.

 

Go Back   Doom9's Forum > Capturing and Editing Video > Avisynth Development

Reply
 
Thread Tools Search this Thread Display Modes
Old 6th April 2014, 11:13   #1  |  Link
LigH
German doom9/Gleitz SuMo
 
LigH's Avatar
 
Join Date: Oct 2001
Location: Germany, rural Altmark
Posts: 6,286
AviSynth 2.60a5: WavSource can't load IEEE Float WAV (ID 3) in Win7 64b

The WavSource() function in the AviSynth kernel (MT version 2.60 alpha 5, 32 bit) is unable to open WAV files with 32-bit IEEE Float samples (Codec-ID 3) under Windows 7 SP1 64-bit.

Does the kernel only expect Integer samples (Codec-ID 1)? Does it not try to use ACM codecs? Or even if it would, is the "Microsoft Wave Mapper" (which translates between uncompressed sample formats) not exactly an ACM codec?

Of course, it would be loadable using NicAudio (RaWavSource), FFMS2 (FFmpegAudioSource) or L-SMASH Works (LwLibavAudioSource). But why not with the AviSynth kernel functions? Float samples are not exactly "complicated" enough to fail implementing it.
__________________

New German Gleitz board
MediaFire: x264 | x265 | VPx | AOM | Xvid

Last edited by LigH; 8th April 2014 at 07:30.
LigH is online now   Reply With Quote
Old 6th April 2014, 11:41   #2  |  Link
raffriff42
Retried Guesser
 
raffriff42's Avatar
 
Join Date: Jun 2012
Posts: 1,374
Works for me. Generated with Audacity; exported as "Other uncompressed files," WAV 32 bit float.
Code:
General
Complete name                            : D:\VideoProjects\work\wav-f32-192k-test-pluck.wav
Format                                   : Wave
File size                                : 188 KiB
Duration                                 : 1s 0ms
Overall bit rate mode                    : Constant
Overall bit rate                         : 1 537 Kbps

Audio
ID                                       : 0
Format                                   : PCM
Format profile                           : Float
Format settings, Endianness              : Float
Codec ID                                 : 3
Codec ID/Hint                            : IEEE 
Duration                                 : 1s 0ms
Bit rate mode                            : Constant
Bit rate                                 : 1 536 Kbps
Channel(s)                               : 1 channel
Sampling rate                            : 48.0 KHz
Bit depth                                : 32 bits
Stream size                              : 188 KiB (100%)

Last edited by raffriff42; 18th March 2017 at 00:50. Reason: (fixed image link)
raffriff42 is offline   Reply With Quote
Old 6th April 2014, 11:54   #3  |  Link
LigH
German doom9/Gleitz SuMo
 
LigH's Avatar
 
Join Date: Oct 2001
Location: Germany, rural Altmark
Posts: 6,286
Not here:

Code:
---------------------------
VirtualDub Error
---------------------------
Avisynth open failure:
AVIFileSource: couldn't open file 'Float.wav'
(F:\Audio\Float.avs, line 2)
---------------------------
OK   
---------------------------
Do you have any kind of additional ACM codec installed which may be able to handle IEEE Float?

Hmm, and ... how to list all installed ACM codecs under Windows 7? There was a list in the Sound CPL in Windows XP...
__________________

New German Gleitz board
MediaFire: x264 | x265 | VPx | AOM | Xvid
LigH is online now   Reply With Quote
Old 6th April 2014, 12:02   #4  |  Link
raffriff42
Retried Guesser
 
raffriff42's Avatar
 
Join Date: Jun 2012
Posts: 1,374
I have ffdshow, LAV filters and AC3Filter installed, as shown on Codec Tweak Tool.

GraphStudio shows [file]->[LAV splitter]->[AC3Filter]->[output]

EDIT above was opening the WAV file in GraphStudio directly.
Opening remote graph on MPC-HC+Avisynth, I get:

[AVI/WAV Source] -> [AC3Filter]->[DirectSound output device]
\-> [video] ...

Last edited by raffriff42; 6th April 2014 at 12:25.
raffriff42 is offline   Reply With Quote
Old 6th April 2014, 12:09   #5  |  Link
LigH
German doom9/Gleitz SuMo
 
LigH's Avatar
 
Join Date: Oct 2001
Location: Germany, rural Altmark
Posts: 6,286
Ah, so you are "cheating" by using a DirectShow decoder.

That's not using WavSource().
__

Oh, sorry, I mis-interpreted that remark. I see the code in the screenshot now.

GraphStudio shows you the DirectShow filter graph. But WavSource() won't use DirectShow. It uses AviFile functions; WavSource is a kind of alias to AviSource, but returns only the audio stream (if it is able), so it may possibly use the VfW ACM (Video for Windows Audio Compression Manager).
__________________

New German Gleitz board
MediaFire: x264 | x265 | VPx | AOM | Xvid

Last edited by LigH; 6th April 2014 at 12:19.
LigH is online now   Reply With Quote
Old 6th April 2014, 12:30   #6  |  Link
raffriff42
Retried Guesser
 
raffriff42's Avatar
 
Join Date: Jun 2012
Posts: 1,374
Sounds reasonable. ffdshow is probably decoding it.
raffriff42 is offline   Reply With Quote
Old 6th April 2014, 12:35   #7  |  Link
LigH
German doom9/Gleitz SuMo
 
LigH's Avatar
 
Join Date: Oct 2001
Location: Germany, rural Altmark
Posts: 6,286
But I have ffdshow installed too. GSpot 2.70a (the only tool I know which is able to "List Codecs and Other Filters" including installed ACM codecs) only reports ff_acm.acm as decoder for ID 0x3313, but no ACM codec responsible for ID 0x0003.
__________________

New German Gleitz board
MediaFire: x264 | x265 | VPx | AOM | Xvid

Last edited by LigH; 7th April 2014 at 10:26.
LigH is online now   Reply With Quote
Old 7th April 2014, 10:17   #8  |  Link
LigH
German doom9/Gleitz SuMo
 
LigH's Avatar
 
Join Date: Oct 2001
Location: Germany, rural Altmark
Posts: 6,286
Interesting remark in the HydrogenAudio forum:

WAVEFORMATEX specification in the Microsoft Developer Network
Quote:
Formats that support more than two channels or sample sizes of more than 16 bits can be described in a WAVEFORMATEXTENSIBLE structure, which includes the WAVEFORMAT structure.
Alas! ... I don't read that as "mandatory". But it seems to be preferred.
__________________

New German Gleitz board
MediaFire: x264 | x265 | VPx | AOM | Xvid
LigH is online now   Reply With Quote
Old 7th April 2014, 19:27   #9  |  Link
LigH
German doom9/Gleitz SuMo
 
LigH's Avatar
 
Join Date: Oct 2001
Location: Germany, rural Altmark
Posts: 6,286
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.
__________________

New German Gleitz board
MediaFire: x264 | x265 | VPx | AOM | Xvid
LigH is online now   Reply With Quote
Old 7th April 2014, 20:56   #10  |  Link
raffriff42
Retried Guesser
 
raffriff42's Avatar
 
Join Date: Jun 2012
Posts: 1,374
I have both LAV Filters and AC3Filter installed, but I wanted to see which one was most essential for this task:

Disable LAV filters pcm handling, enable AC3Filter: OK
Enable LAV filters pcm handling, disable AC3Filter: fail
(Source: 6-channel float WaveEx)

So try AC3Filter
raffriff42 is offline   Reply With Quote
Old 7th April 2014, 22:50   #11  |  Link
LigH
German doom9/Gleitz SuMo
 
LigH's Avatar
 
Join Date: Oct 2001
Location: Germany, rural Altmark
Posts: 6,286
I wonder why DirectShow filters affect VfW codecs availability.
__________________

New German Gleitz board
MediaFire: x264 | x265 | VPx | AOM | Xvid
LigH is online now   Reply With Quote
Old 8th April 2014, 07:29   #12  |  Link
LigH
German doom9/Gleitz SuMo
 
LigH's Avatar
 
Join Date: Oct 2001
Location: Germany, rural Altmark
Posts: 6,286
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. Installing AC3Filter doesn't matter.
__________________

New German Gleitz board
MediaFire: x264 | x265 | VPx | AOM | Xvid
LigH is online now   Reply With Quote
Old 8th April 2014, 18:41   #13  |  Link
Wilbert
Moderator
 
Join Date: Nov 2001
Location: Netherlands
Posts: 6,337
http://msdn.microsoft.com/en-us/library/windows/hardware/dn653308%28v=vs.85%29.aspx contains some more info.
Wilbert is offline   Reply With Quote
Old 8th April 2014, 18:54   #14  |  Link
LigH
German doom9/Gleitz SuMo
 
LigH's Avatar
 
Join Date: Oct 2001
Location: Germany, rural Altmark
Posts: 6,286
But IMHO (!) no reason to remove support of WAV files with type 3 samples and only basic WAVEFORMAT header between XP and Vista/7.

They have a constant bitrate. They are plain. Every required detail is specified in the WAVEFORMAT header and the IEEE 754 specs. There is no really urgent need to go EXTENSIBLE if there are no more than 2 channels. And also no urgent need to drop its support.

But it happened. So the question will be: Is any developer interested in adding something to the AviSynth core to recover support, or shall we start to rely on source plugins already when reading plain WAVs?
__________________

New German Gleitz board
MediaFire: x264 | x265 | VPx | AOM | Xvid
LigH is online now   Reply With Quote
Old 21st April 2014, 21:41   #15  |  Link
Wilbert
Moderator
 
Join Date: Nov 2001
Location: Netherlands
Posts: 6,337
Quote:
But it happened. So the question will be: Is any developer interested in adding something to the AviSynth core to recover support
Could you upload some samples somewhere? Of course, a patch would be even beter
Wilbert is offline   Reply With Quote
Old 22nd April 2014, 05:08   #16  |  Link
LigH
German doom9/Gleitz SuMo
 
LigH's Avatar
 
Join Date: Oct 2001
Location: Germany, rural Altmark
Posts: 6,286
Quote:
Originally Posted by Wilbert View Post
Could you upload some samples somewhere?
I already did:

Quote:
Originally Posted by LigH View Post
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.
Under Windows 7, AviSynth can open WAVEX_32sf.wav but fails opening WAV_32sf.wav. The reason is probably in a dropped support in ACM. Currently it requires plugins to load raw WAV without relying on Windows built-in support.


Quote:
Originally Posted by Wilbert View Post
Of course, a patch would be even beter
I am no C programmer. And I don't understand AviSynth interna.
__________________

New German Gleitz board
MediaFire: x264 | x265 | VPx | AOM | Xvid
LigH is online now   Reply With Quote
Old 22nd April 2014, 09:42   #17  |  Link
Groucho2004
 
Join Date: Mar 2006
Location: Barcelona
Posts: 5,031
Quote:
Originally Posted by LigH View Post
Under Windows 7, AviSynth can open WAVEX_32sf.wav but fails opening WAV_32sf.wav.
Could you please try that with Avisynth 2.5.8?

Last edited by Groucho2004; 22nd April 2014 at 10:44.
Groucho2004 is offline   Reply With Quote
Old 22nd April 2014, 10:20   #18  |  Link
LigH
German doom9/Gleitz SuMo
 
LigH's Avatar
 
Join Date: Oct 2001
Location: Germany, rural Altmark
Posts: 6,286
Interesting development...

AviSynth 2.57, 2.58
  • WAV_16si: OK
  • WAV_32sf: AVIFileSource: couldn't open file 'WAV_32sf.wav'
  • WAVEX_16si: No compatible ACM codec to decode 0xFFFE audio stream to PCM.
  • WAVEX_32sf: No compatible ACM codec to decode 0xFFFE audio stream to PCM.

AviSynth_110525 (2.6.0 a3), AviSynth_130114 (2.6.0 a4), AviSynth_110525 (2.6.0 a5), AviSynth_20130928 (MT 2.6.0 a5)
  • WAV_16si: OK
  • WAV_32sf: AVIFileSource: couldn't open file 'WAV_32sf.wav'
  • WAVEX_16si: OK
  • WAVEX_32sf: OK

Each on Windows 7 SP1 64-bit
__________________

New German Gleitz board
MediaFire: x264 | x265 | VPx | AOM | Xvid

Last edited by LigH; 22nd April 2014 at 10:22.
LigH is online now   Reply With Quote
Old 22nd April 2014, 22:16   #19  |  Link
Wilbert
Moderator
 
Join Date: Nov 2001
Location: Netherlands
Posts: 6,337
Quote:
Interesting development...

AviSynth 2.57, 2.58

WAV_16si: OK
WAV_32sf: AVIFileSource: couldn't open file 'WAV_32sf.wav'
WAVEX_16si: No compatible ACM codec to decode 0xFFFE audio stream to PCM.
WAVEX_32sf: No compatible ACM codec to decode 0xFFFE audio stream to PCM.
AviSynth didn't support 0xFFFE audio (WAVEX format) then. So the latter two would have failed with XP too.

Must have something to do with AVIFileSource and Windows 7 Can anyone try to load it using Windows 7 SP1 32-bit?

Last edited by Wilbert; 22nd April 2014 at 22:19.
Wilbert is offline   Reply With Quote
Old 23rd April 2014, 03:44   #20  |  Link
Tom Keller
Registered User
 
Tom Keller's Avatar
 
Join Date: Jan 2005
Posts: 77
Quote:
Originally Posted by Wilbert View Post
So the latter two would have failed with XP too.
Actually they did not fail under XP. I tested all 4 scripts with VirtualDub and MPC-HC under XP SP3 (with AviSynth 2.5.8 installed) and every single one worked without any problems. Same with AviSynth MT 2.6.0 a5.


Quote:
Originally Posted by Wilbert View Post
Can anyone try to load it using Windows 7 SP1 32-bit?
Under Windows 7 SP1 32bit (with both: AviSynth MT 2.6.0 a5 AND AviSynth 2.5.8) i only get:

WAV_16si.avs




WAV_32sf.avs




WAVEX_16si.avs




WAVEX_32sf.avs


Last edited by Tom Keller; 23rd April 2014 at 03:50.
Tom Keller is offline   Reply With Quote
Reply

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +1. The time now is 16:36.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2020, vBulletin Solutions Inc.