|
|
| Jam One |
| Posted: Feb 26 2011, 07:27 PM |
 |
|
Advanced Member
  
Group: Members
Posts: 580
Member No.: 25518
Joined: 8-May 09

|
God bless you, fccHandler! |
 |
| ale5000 |
| Posted: Feb 26 2011, 08:57 PM |
 |
|

Advanced Member
  
Group: Members
Posts: 1114
Member No.: 22180
Joined: 30-September 07

|
Edit: Post removed.
-------------------- New VirtualDub forum VirtualDub AIO (All-in-One installer for VirtualDub and plugins) Codec Toolbox RS (A tool to read/change merit of codecs and many other things) Input plugins for VirtualDub / ACM codecs / VFW codecs |
 |
| v0lt |
Posted: Feb 27 2011, 05:56 AM |
 |
|
Advanced Member
  
Group: Members
Posts: 119
Member No.: 26125
Joined: 5-September 09

|
[Manhole-Fansubs]Test_Your_5.1_[AC3].[AAC].mkv AC3 track - normal AAC track - moos 
More: http://samples.mplayerhq.hu/A-codecs/AAC/f.../faad2-fail.mkv across_the universe_sample.mkv (listen at the end of the sample) |
 |
| fccHandler |
| Posted: Feb 27 2011, 06:35 AM |
 |
|
Administrator n00b
  
Group: Moderators
Posts: 3961
Member No.: 280
Joined: 13-September 02

|
I noticed the Manhole problem as well. I don't know yet why it happens. Thank you for posting the others; I will look into those.
-------------------- May the FOURCC be with you... |
 |
| fccHandler |
| Posted: Feb 27 2011, 06:47 PM |
 |
|
Administrator n00b
  
Group: Moderators
Posts: 3961
Member No.: 280
Joined: 13-September 02

|
Well I know what's happening and it's pretty bad.
What these files all have in common is multichannel audio. AACACM (being based on AC3ACM) was not checking the channel count on acmStreamOpen. This was fine for AC3ACM because it can internally convert any number of channels to any other, but AACACM cannot!
Therefore I added a check to ensure that the output number of channels equals the input, but now all multichannel audio fails. What I see in the debugger is that VirtualDub makes exactly one query with source channels = 6 and destination channels = 2. This query fails (as expected) but VirtualDub makes no other attempts and just gives up.
I seem to remember some support for WAVE_FORMAT_EXTENSIBLE in VirtualDub's source code so it's possible he's making extensible queries as well, but currently AACACM doesn't support that.
To make a long story short, what you are hearing is 6 channel PCM incorrectly being played back as 2 channel PCM. I am going to have to think about how best to resolve this...
Note that faad2-fail.mkv hangs during loading because it is cut off in the middle. This however is an easy fix which will be in the next release of the Matroska plugin.
-------------------- May the FOURCC be with you... |
 |
| phaeron |
| Posted: Feb 27 2011, 10:59 PM |
 |
|

Virtualdub Developer
  
Group: Administrator
Posts: 7773
Member No.: 61
Joined: 30-July 02

|
VirtualDub doesn't have logic for downmixing 5.1 or 7.1 audio to stereo and relies on the codec to do so. It does support WAVEFORMATEXTENSIBLE to some extent, but that won't let you bypass a channel count mismatch.
IIRC, there were some nasty ambiguities when passing 5.1 through WAVEFORMATEX since there were at least two common channel orderings in use; I think WAVEFORMATEXTENSIBLE has support for specifying the mapping so that might be more doable. |
 |
| Dstruct |
| Posted: Feb 28 2011, 01:46 PM |
 |
|
Advanced Member
  
Group: Members
Posts: 257
Member No.: 24005
Joined: 8-August 08

|
AAC ACM 1.2
If both (AC-3 ACM and AAC ACM) are installed, you get the configuration dialog of the AC-3 ACM codec also for the AAC ACM codec. No chance to view the AAC ACM config dialog in this case!
Second bug: Uninstallation via Control Panel not working (XP SP3)! FIXED (1.3) |
 |
| ale5000 |
| Posted: Feb 28 2011, 01:52 PM |
 |
|

Advanced Member
  
Group: Members
Posts: 1114
Member No.: 22180
Joined: 30-September 07

|
| QUOTE (Dstruct @ Feb 28 2011, 02:46 PM) | | If both (AC-3 ACM and AAC ACM) are installed, you get the configuration dialog of the AC-3 ACM codec also for the AAC ACM codec. No chance to view the AAC ACM config dialog in this case! |
This is a windows bug and cannot be fixed, noone has found a way to workaround it yet (maybe).
-------------------- New VirtualDub forum VirtualDub AIO (All-in-One installer for VirtualDub and plugins) Codec Toolbox RS (A tool to read/change merit of codecs and many other things) Input plugins for VirtualDub / ACM codecs / VFW codecs |
 |
| ale5000 |
| Posted: Feb 28 2011, 08:30 PM |
 |
|

Advanced Member
  
Group: Members
Posts: 1114
Member No.: 22180
Joined: 30-September 07

|
The inf of acm codecs seems to set HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\MediaResources\msacm but windows seems to read HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\MediaResources\acm
I have used regmon and I have discovered that windows really does a infinite number of useless registry read and it has a lot of buffer overflow.
I open the properties of Indeo Audio ACM (or another it doesn't matter), then when I click Cancel windows do this:
| QUOTE | 120.02949524 rundll32.exe:2752 OpenKey HKCU SUCCESS Access: 0x2000000 120.02954102 rundll32.exe:2752 CreateKey HKCU\Software\Microsoft\Multimedia\Audio Compression Manager\ SUCCESS Access: 0x20006 120.02956390 rundll32.exe:2752 CloseKey HKCU SUCCESS 120.02960205 rundll32.exe:2752 CreateKey HKCU\Software\Microsoft\Multimedia\Audio Compression Manager\Priority v4.00 SUCCESS Access: 0x2001F 120.02962494 rundll32.exe:2752 CloseKey HKCU\Software\Microsoft\Multimedia\Audio Compression Manager\ SUCCESS 120.02965546 rundll32.exe:2752 QueryValue HKCU\Software\Microsoft\Multimedia\Audio Compression Manager\Priority v4.00\Priority1 NOT FOUND 120.02968597 rundll32.exe:2752 CloseKey HKCU\Software\Microsoft\Multimedia\Audio Compression Manager\Priority v4.00 SUCCESS 120.03001404 rundll32.exe:2752 QueryValue HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Drivers32\msacm.ac3acm SUCCESS "AC3ACM.acm" 120.03010559 rundll32.exe:2752 OpenKey HKCU\Software\Freeware\AC3ACM NOT FOUND 120.03021240 rundll32.exe:2752 QueryValue HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Drivers32\msacm.aacacm SUCCESS "AACACM.acm" 120.03028107 rundll32.exe:2752 OpenKey HKCU\Software\Freeware\fccHandler\AACACM NOT FOUND 120.03038025 rundll32.exe:2752 QueryValue HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Drivers32\msacm.ac3filter SUCCESS "ac3filter.acm"
| Why it read these three acm codecs when I just closed Indeo Audio ACM?
-------------------- New VirtualDub forum VirtualDub AIO (All-in-One installer for VirtualDub and plugins) Codec Toolbox RS (A tool to read/change merit of codecs and many other things) Input plugins for VirtualDub / ACM codecs / VFW codecs |
 |
| fccHandler |
| Posted: Mar 5 2011, 08:48 PM |
 |
|
Administrator n00b
  
Group: Moderators
Posts: 3961
Member No.: 280
Joined: 13-September 02

|
I have fixed the uninstall issue on Windows XP, but nothing else so far:
http://fcchandler.home.comcast.net/AACACM
ale5000: I can't answer all of your questions, but you were right about the "MediaResources\msacm" key being misnamed! The key exists on Windows 98 as "acm" but doesn't exist at all on Windows XP. I've corrected this in the inf file. Thank you for finding it.
As for the meaning of that key? I have no idea.
-------------------- May the FOURCC be with you... |
 |
| ale5000 |
| Posted: Mar 6 2011, 02:35 AM |
 |
|

Advanced Member
  
Group: Members
Posts: 1114
Member No.: 22180
Joined: 30-September 07

|
Edit: Problem fixed
-------------------- New VirtualDub forum VirtualDub AIO (All-in-One installer for VirtualDub and plugins) Codec Toolbox RS (A tool to read/change merit of codecs and many other things) Input plugins for VirtualDub / ACM codecs / VFW codecs |
 |
| fccHandler |
| Posted: Mar 6 2011, 04:24 AM |
 |
|
Administrator n00b
  
Group: Moderators
Posts: 3961
Member No.: 280
Joined: 13-September 02

|
I saw your post just in time, since I was about to upload version 1.4:
http://fcchandler.home.comcast.net/AACACM
I agree and in fact prefer "HKCU\Software\fccHandler". 
Version 1.4 will now play multichannel AAC correctly but it does so via a downmix to stereo. I don't like having to do this, but I've spent all day on it and I can't figure out how to get VirtualDub to accept multichannel PCM.
I even tried hacking VirtualDub. There is a line in the Riza project, w32audiocodec.cpp, which I thought might be responsible:
| CODE | // sanitize the destination format a bit
if (mDstFormat->mChannels != 1 && mDstFormat->mChannels !=2) mDstFormat->mChannels = 2;
|
So I tried removing that line, and that did cause him to request 6 channel PCM. But when pressing play it just hangs. I can only guess that there is some other part of the audio pipeline which is not liking multichannel PCM...
-------------------- May the FOURCC be with you... |
 |
| ale5000 |
| Posted: Mar 6 2011, 04:43 AM |
 |
|

Advanced Member
  
Group: Members
Posts: 1114
Member No.: 22180
Joined: 30-September 07

|
1) Probably it can't help you since it isn't opensource but there is a multichannel mp3 acm codec: http://www.videoaudio.pl/infusions/pro_dow...load.php?did=46
2) This can help (probably): | QUOTE | Aud-X Team has prepared a special edition of VirtualDubMod. This version is capable of cooperating with 6 channel ACM audio encoders (including Aud-X ACM encoder). We hope that these changes will be included in main stream VDM editions
Download Full Project [ 64.59 MB ] Download Modified Files Only [ 40 kB ]
The changes concern:
(files Audio.h, Audio.cpp)
- Fixed: bool AudioCompressor::Process(), so that it processes six channel signals properly.
- Fixed: audio stream source creation, so that if no change of sampling rate or no change of channels number is selected, then satisfaction of this constraint is indeed ensured (it is enforced on ACM codec when asking about format suggestion).
(file Dub.cpp)
- Fixed: audio stream source creation
(optdlg.cpp)
- Fixed: label "no change" for channels section of options dialog, so that if source has six channels, "5.1" is shown in the adjacent brackets instead of "stereo". |
-------------------- New VirtualDub forum VirtualDub AIO (All-in-One installer for VirtualDub and plugins) Codec Toolbox RS (A tool to read/change merit of codecs and many other things) Input plugins for VirtualDub / ACM codecs / VFW codecs |
 |
| v0lt |
| Posted: Mar 6 2011, 04:45 AM |
 |
|
Advanced Member
  
Group: Members
Posts: 119
Member No.: 26125
Joined: 5-September 09

|
Version 1.4 works well, my files will not moo.  Thank you! |
 |
| JaliM |
| Posted: Mar 7 2011, 02:50 PM |
 |
|
Member
 
Group: Members
Posts: 23
Member No.: 29948
Joined: 17-February 11

|
@fccHandler: I've been testing AAC ACM Codec 1.4 and Matroska plugin. and I've found some anomalities.... Firstly, 32 KHz, 44,1 KHz & 32 KHz MKV-LC-AAC files are supported in stereo mode only. If LC-AAC files are MONO then VirtualDub plays it at HALF-SPEED. If LC-AAC files are 5.1 then VirtualDub does not detect them (no audio info). Note that all tests have been achieved with Matroska files with one AVC videostream and LC-ACC content, without ADTS headers. Not tested with AVIs or FLVs or with ATDS AAC streams. |
 |