Log in

View Full Version : Azid 1.8 is out!


Midas
20th February 2002, 10:17
Hi everyone,

I have the pleasure of presenting you the new release of Azid. I have sent the binaries to doom9, and they should make it to the webpages very soon.

azid 1.8 contains a lot of bugfixes and additions, and I advise everyone to get v1.8 as soon as it is available.


Here is the list of improvements of azid.exe:


Fixed DRC bug that caused occational clicks and pops when decoding using normal dynamic compression.
Fixed WAV-header bug. Azid now generates WAV-files with proper headers. This bug occurred on wav32 output, which would generate an integer header with float data.
Added new file output types and renamed them to give them simpler and more informative names. See -F option for more information.
Fixed bug in azid soundcard playback that caused azid to hang on ac3-files shorter than 0.5 seconds.
Fixed the downmix overflow logic. The decoder will now print the largest overflow within a block, not the first, making it more reliable for finding the maximum level of the file.
Added a warning output enable/disable function (-w).
Added statistics output printing the total maximum level of the channels, and how many samples that overflowed.
Added support of stdout/stdin streaming. This can be done by using the '-' character as input and/or output filename. Note: This works very poorly on windows anyway.
Proper Ctrl+C handling
Fixed proper returnvalue from azid.exe
Added a two-pass maximize function (-a). This can be used to maximize the volume of the decoded audio.
Added sectional decoding opertunities with -B and -E. With this function a section of the input file can be decoded, not only the entire file
Added support for commandfile-scripts for easier reuse of options
Fixed proper dynamic compression for channel 1 on 1+1 ac3 files


And for azid.dll, these are the news: I know that some of these elements have been listed above, they only indicate changes in the azid core.


Fixed DRC bug that caused occational clicks and pops when decoding using normal dynamic compression.
Fixed the downmix overflow logic. The decoder will now print the largest overflow within a block, not the first, making it more reliable for finding the maximum level of the file.
Added a warning output enable/disable function in the setting structure.
Fixed proper dynamic compression for channel 1 on 1+1 ac3 files
Added the ac3_setinfo() method, enabling users to set the internal decoder time.
Added new elements into the ac3_info structure; framenumber and channel overflow count.
Added information methodes ac3_version(), ac3_copyright() and ac3_legal() making it easier for you to print the required messages.
Added the warning() and error() callback functions for handling custom errors
Added the warning and error text functions: ac3_errormsg() and ac3_warningmsg()
Added the ac3_nidecode() method that will not interleave output audio into one single buffer, but keep the individual channels separated.


I am planning a release of azid for cygwin on windows very soon (the streaming works perfectly in cygwin) and one for linux.

DarkAvenger
20th February 2002, 10:32
Hey, I hope you're mailing me interface descriptions of the new azid.dll functions (and hope you didn't forget me, at all).

zulu
20th February 2002, 12:47
great!! thanx Midas! :D

DarkAvenger
20th February 2002, 13:40
Hi Midas, thx for sending the package. I have a request:

According to the license I have to include:
Azid.dll AC3 Decoder core 1.8 (build 825)
Copyright (C) 1997-2002 By Midas <midas@egon.gyaloglo.hu>

into HeadAC3he. Could you change this to:

Azid.dll AC3 Decoder core
Copyright (C) 1997-2002 by Midas <midas@egon.gyaloglo.hu>

because this would make more sense, as otherwise version info is wrong as soon as the user uses another dll, esp on updates. (Well on updates the year info might become dated, but this is not that bad.) Furthremore the average user could be confused.
The current version will be printed out on load time of the azid.dll.

BTW, if possible an ICL compile of azid could speed up things. Some people would be very happy it you try to make azid use more than one cpu, as well.

Midas
20th February 2002, 14:23
Why?

If you print like:

HeadAC3he based on:
Azid.dll AC3 Decoder core 1.8 (build 825)
Copyright (C) 1997-2002 By Midas <midas@egon.gyaloglo.hu>

Wouldnt that do? Because you *are* running azid.dll version 1.8 build 825. Because I have changed the internal structure of v1.8 vs. v1.7.1, the DLL's are not compatible. And you have no guarantee that it wont change in the future. Finally: maybe the user is interested in the version of azid he's/she's using?

Everyone seem to have their own idea of how the version/copyright should be printed - IMHO I have provided sufficient methods. ;)

(ICL??) Now for the SMP version: The core itself is not reentrant - it is not written to be reentrant. I have to make rather big changes in the internals for this. And quite francly, I dont have time.

Rather, I urge you people that are using the azid.dll to make a two-processor version of your applications, where you have to instances of azid.dll; one for each processor.

I know this sounds harsh, but I am very busy. And I cant change azid for every little convenience thing being suggested. I have barely time for answering posts in this forum... I'm sorry about this - I really hope the new azid features will enjoy more than they annoy.


Midas

DarkAvenger
20th February 2002, 15:08
Well, ok. BTW, ICL: Intel Compiler...

DarkAvenger
20th February 2002, 15:40
After doing a quick look an integration, I guess you could have make 1.80 compatible to the old interface, by just shifting the
f32 fullscale;
behind
char* (*logwrite)(void *buffer,u32 size);

in your struct. Of course then azid.dll 1.80 dll must take care that the new values aren't initialized properly, but I guess you could have done it. Never mind.

Another q regarding
void ac3_version(int *major,int *minor,int *build);

You have set minor to 8, but this is not "compatible" with usual definitons of minor builds, I guess. You are calling it azid 1.80 and not 1.8.0, so the minor build should be 80, don't you think so? But you may correct me, of course. :)

I know, this is all trivial, but I guess you wil say, it it a matter of definiton. Don't get me wrong, but AFAIK it doesn't sound logical to me. Well, I will just multiply *10 then...

Beside that the new dll works with now problems, so far.

DarkAvenger
20th February 2002, 15:41
Hmm, looking again, you just say 1.8, not 1.80. So where did I read that?:confused:

LigH
20th February 2002, 16:39
Great, just a day released, and DarkAvenger is already coding for it! I guess DSPguru is about to test a new BeSweet beta as well?! And DanniDin will most probably have to add some GUI options, too... Keep going, guys - best wishes!

DSPguru
20th February 2002, 18:29
Originally posted by LigH
Great, just a day released, and DarkAvenger is already coding for it! I guess DSPguru is about to test a new BeSweet beta as well?! And DanniDin will most probably have to add some GUI options, too... Keep going, guys - best wishes! BeSweet is already using all the new functions ;).
I plan to release BeSweet v1.2 next week.

Divine
20th February 2002, 19:10
Thanks.
Esp. for fixing the DRC bug ;)

Psyche
20th February 2002, 23:25
Is it just me? If I do:
azid some.ac3 some.wav
it works perfect (couldn't be otherwise :) ).
But if I do
azid some.ac3 - >some.wav
it sounds as if gain were very high, badly distorted and a lot of noise. Of course this means you cannot stream it through lame, for example, because it sounds the same.
Hope it's my fault. Anyway midas is a great piece of software, thanks.

EDIT:
Oh, something more. What kind of output is pcm32, because I can't get it to be recognized by none of my sound programs (cool edit pro and soundforge 5.0), they only make noise. I thought it would be just signed long (or signed int for that matter) but it seems it's not. The other 5 formats I understand correctly (btw, cool edit pro cannot read 32-bit float, just 24-bits :p ).

Monamona
16th October 2002, 02:17
I decoded 5.1 AC3 to 5.1 WAV by Azid (-p6ch).
But I cannot play the WAV file with any DVD player like PowerDVD or
Windows Media Player.
Actually, I can play it with WinAMP, but my audio card (M-Audio
Delta 410), which can play 5.1 sound, could not sound all 5.1ch
(only play 2 channels.)
Finally, I tied to read the WAV file with MAGiX samplitude studio 6.0, but it could not.
By the way, I have no problem with original AC3 file. My audio
card sounds all 5.1ch correctly with PowerDVD.

5.1 WAV made by Azid has special format?
How can I play it correcly?

Midas
12th December 2002, 17:54
Hi,

- What bugs are present in azid 1.8? Please submit a description of the bug and hopefully a small testcase that proves the error.

- What features would you like to include into azid & azid.dll. Please note that I just want to fix things related to ac3-decoding, not other signalprocessing issues like resampling, etc. etc.


Midas

LigH
17th December 2002, 09:28
Hi Midas!

I'm glad to see that you are still alive ;) - Currently, I don't know about any real decoding bugs (DSPguru shall know it better); I just wonder why no one ever was able to e.g. use it for an ACM codec, just a decoding-only ACM would have been enough to satisfy *dub. :cool: