Log in

View Full Version : Avisynth+ audio problem. Not a thread for XP-haters


hello_hello
28th June 2020, 17:59
Based on some very quick testing on Win7, this appears to be an XP-only problem. I'm using Avisynth+ 3.5.1 and MPC-HC 1.7.13.

When the script contains audio, opening it with MPC-HC results in the error message below. I'd put it down to running an OS Microsoft doesn't support, and one that was released 4000 years ago etc etc etc etc, but I also get the same error when MPC-HC is auto-loading an external audio file (ie when there's an audio file with the same name as the script in the folder). If I disable MPC-HCs auto-loading of audio files, the problem goes away, so it's not the end of the world, aside from the fact I'm used to extracting the audio and having it play with the script in MPC-HC much of the time, and I have to avoid scripts with audio.

Other formats are fine. ie I can open an MKV with MPC-HC while it's auto-loading external audio without any error.

I haven't done much further investigating but it seems SMPlayer can no longer open the video in scripts, and the AVS input component for foobar2000 no longer works. It's fine with Avisynth 2.6. I haven't had a chance to check SMPlayer with Avisynth 2.6 again.

I've just been replacing Avisynth.dll in the system32 folder, but the other Avisynth+ dlls are loaded via a script when Avisynth+ is running.

Cheers.

LAV Splitter Source (internal)::Audio
LAV Audio Decoder (internal)::Output
Audio Switcher::Out

Media Type 0:
--------------------------
Audio: PCM 48000Hz stereo 2304kbps

AM_MEDIA_TYPE:
majortype: MEDIATYPE_Audio {73647561-0000-0010-8000-00AA00389B71}
subtype: MEDIASUBTYPE_PCM {00000001-0000-0010-8000-00AA00389B71}
formattype: FORMAT_WaveFormatEx {05589F81-C356-11CE-BF01-00AA0055595A}
bFixedSizeSamples: 1
bTemporalCompression: 0
lSampleSize: 6
cbFormat: 40

WAVEFORMATEX:
wFormatTag: 0xfffe
nChannels: 2
nSamplesPerSec: 48000
nAvgBytesPerSec: 288000
nBlockAlign: 6
wBitsPerSample: 24
cbSize: 22 (extra bytes)

WAVEFORMATEXTENSIBLE:
wValidBitsPerSample: 24
dwChannelMask: 0x00000003
SubFormat: {00000001-0000-0010-8000-00AA00389B71}

pbFormat:
0000: fe ff 02 00 80 bb 00 00 00 65 04 00 06 00 18 00 þÿ..?»...e......
0010: 16 00 18 00 03 00 00 00 01 00 00 00 00 00 10 00 ................
0020: 80 00 00 aa 00 38 9b 71 ?..ª.8?q


Media Type 1:
--------------------------
Audio: PCM 48000Hz stereo 1536kbps

AM_MEDIA_TYPE:
majortype: MEDIATYPE_Audio {73647561-0000-0010-8000-00AA00389B71}
subtype: MEDIASUBTYPE_PCM {00000001-0000-0010-8000-00AA00389B71}
formattype: FORMAT_WaveFormatEx {05589F81-C356-11CE-BF01-00AA0055595A}
bFixedSizeSamples: 1
bTemporalCompression: 0
lSampleSize: 4
cbFormat: 18

WAVEFORMATEX:
wFormatTag: 0x0001
nChannels: 2
nSamplesPerSec: 48000
nAvgBytesPerSec: 192000
nBlockAlign: 4
wBitsPerSample: 16
cbSize: 0 (extra bytes)

pbFormat:
0000: 01 00 02 00 80 bb 00 00 00 ee 02 00 04 00 10 00 ....?»...î......
0010: 00 00 ..

amayra
28th June 2020, 21:31
what version of LAV are using ?

qyot27
28th June 2020, 22:17
That doesn't look like an error message to me, it just looks like an info readout for the audio track(s). The thing that is immediately obvious is that one track has a section for the WaveFormatExtensible header and the other doesn't (probably because one has 24-bit audio and therefore tripped the WAVE_FORMAT_EXTENSIBLE metadata and the other is 16-bit and didn't).

Does the script use OPT_UseWaveExtensible (http://avisynth.nl/index.php/Internal_functions#OPT_UseWaveExtensible)?


With foobar2000, you are using the updated foo_input_avs.fb2k-component? And it's exhibiting the problem of working on W7 but not XP? Or it just doesn't work at all? Mainly because it seems to work fine here on Win10 with AviSynth+ 3.6.1.

hello_hello
29th June 2020, 09:26
I may have misdiagnosed a little because I'm an idiot, but here's the result of some more testing. There's three files in the folder.
I kept the script name the same for each test.

3_VTS_12_1 T80 2_0ch 192Kbps DELAY -71ms.ac3
3_VTS_12_1.avs
3_VTS_12_1.d2v

This script causes an error like the one I posted previously for MPC-HC. The external AC3 audio isn't loaded.

LoadPlugin("C:\Program Files\MeGUI\tools\dgindex\DGDecode.dll")
DGDecode_mpeg2source("D:\3_VTS_12_1.d2v")

The script also results in an audio error.

LoadPlugin("C:\Program Files\MeGUI\tools\dgindex\DGDecode.dll")
DGDecode_mpeg2source("D:\3_VTS_12_1.d2v")
Colorbars()

This script displays color bars with the tone, or I can switch to the external audio. WTF??

Colorbars()

To up the oddness a bit, if I rename the audio file so it won't auto-load, this script still produces the audio error.

LoadPlugin("C:\Program Files\MeGUI\tools\dgindex\DGDecode.dll")
DGDecode_mpeg2source("D:\3_VTS_12_1.d2v")
Colorbars()

but after removing ColorBars() the video opens without error, although obviously still without external audio.

I tried the same test after indexing with lsmash instead of DGIndex and the result was the same as before.

I suspect when I tested foobar2000 yesterday I did a stupid and removed most of the video stuff from the script but not MP_Pipeline. Aside from operator error I can't think of a reason why foobar2000 regained the ability to open AVS audio today.

The best defence I can offer for my SMPlayer diagnosis is I don't use it much. Before testing, I must have played an audio-only file and SMPlayer wasn't resizing it's window when opening video, which was apparently opening.... I just couldn't see it until I manually resized the player. Doh!

amayra,
LAV is version 0.70.2.1. It comes bundled with the last XP compatible MPC-HC.

qyot27,
The scripts are the ones above. No audio unless testing with ColorBars. It looks like the fb2k problem was me having a stupid.
Just above the MPC-HC info I posted previously, it says "The following pin(s) failed to find a connectible filter" but I couldn't copy and paste that part. This is today's error when the external audio is auto-loading and ColorBars() is included in the script.

Edit: I tried a script to open the ac3 audio directly with Lsmash. No video. MPC-HC can't open it. fb2k will.

LAV Splitter Source (internal)::Audio
LAV Audio Decoder (internal)::Output
Audio Switcher::Out

Media Type 0:
--------------------------
Audio: PCM 48000Hz stereo 2304kbps

AM_MEDIA_TYPE:
majortype: MEDIATYPE_Audio {73647561-0000-0010-8000-00AA00389B71}
subtype: MEDIASUBTYPE_PCM {00000001-0000-0010-8000-00AA00389B71}
formattype: FORMAT_WaveFormatEx {05589F81-C356-11CE-BF01-00AA0055595A}
bFixedSizeSamples: 1
bTemporalCompression: 0
lSampleSize: 6
cbFormat: 40

WAVEFORMATEX:
wFormatTag: 0xfffe
nChannels: 2
nSamplesPerSec: 48000
nAvgBytesPerSec: 288000
nBlockAlign: 6
wBitsPerSample: 24
cbSize: 22 (extra bytes)

WAVEFORMATEXTENSIBLE:
wValidBitsPerSample: 24
dwChannelMask: 0x00000003
SubFormat: {00000001-0000-0010-8000-00AA00389B71}

pbFormat:
0000: fe ff 02 00 80 bb 00 00 00 65 04 00 06 00 18 00 þÿ..€»...e......
0010: 16 00 18 00 03 00 00 00 01 00 00 00 00 00 10 00 ................
0020: 80 00 00 aa 00 38 9b 71 €..ª.8›q


Media Type 1:
--------------------------
Audio: PCM 48000Hz stereo 1536kbps

AM_MEDIA_TYPE:
majortype: MEDIATYPE_Audio {73647561-0000-0010-8000-00AA00389B71}
subtype: MEDIASUBTYPE_PCM {00000001-0000-0010-8000-00AA00389B71}
formattype: FORMAT_WaveFormatEx {05589F81-C356-11CE-BF01-00AA0055595A}
bFixedSizeSamples: 1
bTemporalCompression: 0
lSampleSize: 4
cbFormat: 18

WAVEFORMATEX:
wFormatTag: 0x0001
nChannels: 2
nSamplesPerSec: 48000
nAvgBytesPerSec: 192000
nBlockAlign: 4
wBitsPerSample: 16
cbSize: 0 (extra bytes)

pbFormat:
0000: 01 00 02 00 80 bb 00 00 00 ee 02 00 04 00 10 00 ....€»...î......
0010: 00 00 ..

MeteorRain
29th June 2020, 11:10
Have you tried converting audio samples to 16-bit? The graph info said it's 24-bit. Not sure if it's relevant.

hello_hello
29th June 2020, 23:44
Have you tried converting audio samples to 16-bit? The graph info said it's 24-bit. Not sure if it's relevant.

Not until now. I opened a 2ch AC3 file with Lsmash and converted to 16 bit. No video involved.

AVI/WAV File Source::Avisynth audio #1
Audio Switcher::Out

Media Type 0:
--------------------------
Audio: PCM 48000Hz stereo 1536kbps

AM_MEDIA_TYPE:
majortype: MEDIATYPE_Audio {73647561-0000-0010-8000-00AA00389B71}
subtype: MEDIASUBTYPE_PCM {00000001-0000-0010-8000-00AA00389B71}
formattype: FORMAT_WaveFormatEx {05589F81-C356-11CE-BF01-00AA0055595A}
bFixedSizeSamples: 1
bTemporalCompression: 0
lSampleSize: 4
cbFormat: 18

WAVEFORMATEX:
wFormatTag: 0x0001
nChannels: 2
nSamplesPerSec: 48000
nAvgBytesPerSec: 192000
nBlockAlign: 4
wBitsPerSample: 16
cbSize: 0 (extra bytes)

pbFormat:
0000: 01 00 02 00 80 bb 00 00 00 ee 02 00 04 00 10 00 ....€»...î......
0010: 00 00 ..




It's the way it breaks MPC-HC's ability to open video in a script and an external audio file at the same time that seems to be one of those "impossible things" that still happens.

I don't mind going back to the installed Avisynth being 2.6. I generally use MeGUI's portable Avisynth+ anyway. I only switched because I wanted to run a few encodes with MP_Pipeline and a plugin requiring Avisynth+.

MeteorRain
30th June 2020, 09:30
There are a few debugging ideas that might be useful.

1) Test with newer versions of LAV filters. Replace LAV filters inside MPC directory with the ones from newer versions, and see if that helps.

2) Change the output formats in LAV audio decoder settings.

3) Disable audio switcher in MPC.

4) Switch back to AVS 2.6 and examine the render graph and compare the pin info in working condition with what you post.

amayra
1st July 2020, 10:23
newer versions of LAV filters doesn't support xp

StainlessS
1st July 2020, 11:56
I have these

LAVFilters-0.70.2(Last_For_XP).exe
LAVFilters-0.70.2(Last_For_XP).zip

I probably added the "(Last_For_XP)".

but, I also have a folder (maybe extracted from zip) called "LavFilters_v0.74.1_x86_&_x64_Installer"
and it is not in my "NOT_XP" folder, so not sure if that is indeed XP or not. [just looked, I'm using 70.2 on XP 64].

Maybe FranceBB will pass by soon and give an informed opinion.

On videoHelp["LavFilters_v0.74.1_x86_&_x64_Installer"]:- https://www.videohelp.com/software/LAV-Filters

EDIT: From VideoHelp version history, looks like 74.1 not XP compat.
0.71.0 - 2018/02/15

General
- LAV Filters now requires Windows Vista or newer, Windows XP is no longer supported

FranceBB
1st July 2020, 14:47
I have these

Maybe FranceBB will pass by soon and give an informed opinion.


Well, StainleSs, you're right, 0.70.2.17 is the very last version that is XP Compatible as they dropped support after that date. Since I mostly use PotPlayer on XP, I didn't suffer the lack of modern LAV filters as PotPlayer uses OpenCodecs which are still XP Compatible. The only downside is for those folks who use DirectShowSource as indexer on XP, however I would advise against it anyway unless you're using it for a quick and dirt preview (like the way I use it).

EDIT: As a funny note, the only reason why I was able to check it is because with the whole coronavirus mess I disguised my computer as a company laptop and I was able to bring it at work... not to do my own stuff, but to occasionally play with Avisynth without using our expensive servers...