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 > Programming and Hacking > Development

Reply
 
Thread Tools Search this Thread Display Modes
Old 10th February 2011, 13:58   #121  |  Link
LoRd_MuldeR
Software Developer
 
LoRd_MuldeR's Avatar
 
Join Date: Jun 2005
Location: Last House on Slunk Street
Posts: 13,248
Quote:
Originally Posted by nitinpushpan View Post
And about Normalization, by definition, applies a constant gain to the selected part or the entire track without exceeding 0.0 dBFS, or 100% (0 dB). For example in Audacity, it analyses the track for the peak amplitude and then applies the normalization filter ensuring that this peak amplitude does not cross 0 dB, hence no clipping.
"If you’re planning to put normalized audio on CD, you might want to normalize the waveforms to no more than 96% as some audio compact disc players have problems accurately reproducing bits that have been processed to 100% (maximum) amplitude." – Cool Edit Pro (predecessor of Adobe Audition) manual

"Specifically, normalization applies a constant amount of gain to the selected region of the recording to bring the highest peak to a target level, usually to -1.0, or to -6.0 dB, in order to allow for addition of two channels without exceeding 0.0 dBFS, or 100% (0 dB)" – http://en.wikipedia.org/wiki/Audio_normalization


Quote:
Originally Posted by mariush View Post
Mulder, images should be embedded in an ID3v2 tag, so you should be able to read and write them relatively easily: http://www.id3.org/Developer_Information The link has plenty of information and I think there's even a GPL library that reads and writes id3v2 tags easily so you don't have to reinvent the wheel.
Well, they are embedded in an ID3v2 Tag for MP3 files. The problem is that I have to support various input formats (MP3 is only one of them) as well as several encoders. So I would need to find a method that can detect/extract the "album art" from all supported input formats (or at least from those, that potentially contain "album art" of some kind). Moreover the "album art" would have to be extracted in a format that can be accepted for embedding by all supported encoders. Implementing a separate path for each "input format + encoder" combination won't be possible to accomplish with reasonable effort...
__________________
Go to https://standforukraine.com/ to find legitimate Ukrainian Charities 🇺🇦✊

Last edited by LoRd_MuldeR; 11th February 2011 at 14:49.
LoRd_MuldeR is offline   Reply With Quote
Old 10th February 2011, 20:18   #122  |  Link
johnsonlam
Registered User
 
johnsonlam's Avatar
 
Join Date: Nov 2003
Location: Kowloon, Hong Kong
Posts: 168
Great! Thanks!
Glad to know a lot of improvements in the new version!
__________________
Hong Kong - International Joke Center (after 1997-6-30)
johnsonlam is offline   Reply With Quote
Old 13th February 2011, 01:02   #123  |  Link
LoRd_MuldeR
Software Developer
 
LoRd_MuldeR's Avatar
 
Join Date: Jun 2005
Location: Last House on Slunk Street
Posts: 13,248
RC-1 is out

This is the first release candidate. The final v4.00 release is scheduled for 2011-02-20.

If you have any showstoppers to report, please do now
__________________
Go to https://standforukraine.com/ to find legitimate Ukrainian Charities 🇺🇦✊
LoRd_MuldeR is offline   Reply With Quote
Old 17th February 2011, 22:38   #124  |  Link
mariush
Registered User
 
Join Date: Dec 2008
Posts: 589
Stumbled on some bug when updating from 290 (or maybe 268...i'm not sure) something to 316, went check for updates, download, next and then the wma thing kept popping from behind and I couldn't close LameXP due to that, had to close it using Process Explorer (yeah task manager would have worked too).

See http://www.youtube.com/watch?v=_xKTDJs9TCk

note that window saying "Download failed" but I never selected to download and installed the wma codecs/tools.
mariush is offline   Reply With Quote
Old 18th February 2011, 01:14   #125  |  Link
LoRd_MuldeR
Software Developer
 
LoRd_MuldeR's Avatar
 
Join Date: Jun 2005
Location: Last House on Slunk Street
Posts: 13,248
Quote:
Originally Posted by mariush View Post
Stumbled on some bug when updating from 290 (or maybe 268...i'm not sure) something to 316, went check for updates, download, next and then the wma thing kept popping from behind and I couldn't close LameXP due to that, had to close it using Process Explorer (yeah task manager would have worked too).

See http://www.youtube.com/watch?v=_xKTDJs9TCk

note that window saying "Download failed" but I never selected to download and installed the wma codecs/tools.
Thanks for the report

I was able to reproduce the issue: It only happened when the auto-updater was launched by the update-reminder (i.e. not manually by the user) and a new update was available and the user chose to install the update and the WMA decoder component was not installed on the computer yet. I think I found the reason for this mess and it should be fixed by now in build #320. At least I hope so...

__________________
Go to https://standforukraine.com/ to find legitimate Ukrainian Charities 🇺🇦✊

Last edited by LoRd_MuldeR; 19th February 2011 at 15:49.
LoRd_MuldeR is offline   Reply With Quote
Old 20th February 2011, 00:12   #126  |  Link
manolito
Registered User
 
manolito's Avatar
 
Join Date: Sep 2003
Location: Berlin, Germany
Posts: 3,078
Hi MuldeR,

had some time today and gave Build #320 an extensive test run.
Results: Uneventful... Everything works as expected, absolutely stable.

Still I wish you had found the time to add AC3 output to LameXP. A complete rewrite would have been the perfect occasion.


And I also found the time to explore a real bug which had already been present in v. 3.18. Remember my old post?

Quote:
Quote:Originally Posted by manolito
And now my question which concerns AC3 to WAV conversion:
Whenever I convert a 2-channel AC3 to WAV with LameXP, this WAV file plays OK in MPC, WaveLab also has no problems with it. But when I try to use this file with MuxMan to author a DVD, MuxMan rejects the file.


Might be a WAVE_FORMAT_PCM -vs- WAVE_FORMAT_EXTENSIBLE issue. See for details:
http://www.microsoft.com/whdc/device...ultichaud.mspx

Anyway, I think mpucoder would be the man to ask about MuxMan issues...
No, it has nothing to do with the EXTENSIBLE format. I googled the specs, bytes 21 and 22 in the header would clearly indicate the extensible format, and this is not the case here. And it certainly is not a MuxMan issue. When MuxMan rejects a file then you can be 100% sure that this file has a compatibility problem. Period.

The error only happens when the source is AC3, when the source is MP3 everything is fine.


Scenario:

Source is a 2-channel AC3 file, 48 kHz sampling rate, 16 bit.
(Just to make sure that the error is not with the source, I used a couple of different source files created either with Aften or with AC3Enc)

My goal was to convert the AC3 to a Wave file with the same depth and sampling rate.

Load the AC3 into LameXP, select WAVE as output format, under advanced options leave sampling rate on "Automatic".
Resulting file is 48 kHz 16 bit WAVE, and it is rejected by MuxMan.

Second test: Same source file, the only difference is that under advanced I set the sampling rate to 48 kHz instead of automatic. Resulting file is also 48 kHz 16 bit Wave, but this time MuxMan accepts it. Open the two files in a hex editor and notice that they have very different headers.

These two files should be bit by bit identical. Why aren't they? The fact that MuxMan refuses to open the file which was created with the "automatic" sample rate setting is enough to tell me that the header of this file is corrupt.


I hope you can fix this without delaying the final release too much...

Cheers
manolito
manolito is offline   Reply With Quote
Old 20th February 2011, 15:03   #127  |  Link
LoRd_MuldeR
Software Developer
 
LoRd_MuldeR's Avatar
 
Join Date: Jun 2005
Location: Last House on Slunk Street
Posts: 13,248
Quote:
Originally Posted by manolito View Post
had some time today and gave Build #320 an extensive test run.
Results: Uneventful... Everything works as expected, absolutely stable.

Still I wish you had found the time to add AC3 output to LameXP. A complete rewrite would have been the perfect occasion.
Maybe in the next release (I know that I said this before ^^).

I won't add new features right before the 4.00 release, so translators can finish up their work...


Quote:
Originally Posted by manolito View Post
And I also found the time to explore a real bug which had already been present in v. 3.18. Remember my old post?

No, it has nothing to do with the EXTENSIBLE format. I googled the specs, bytes 21 and 22 in the header would clearly indicate the extensible format, and this is not the case here. And it certainly is not a MuxMan issue. When MuxMan rejects a file then you can be 100% sure that this file has a compatibility problem. Period.
How can you be so sure about it? I don't think MuxMan is the offical reference application for the Wave/RIFF format

As long as MuxMan is really the only application that complains, I would suspect the problem there...


Quote:
Originally Posted by manolito View Post
The error only happens when the source is AC3, when the source is MP3 everything is fine.

Scenario:

Source is a 2-channel AC3 file, 48 kHz sampling rate, 16 bit.
(Just to make sure that the error is not with the source, I used a couple of different source files created either with Aften or with AC3Enc)

My goal was to convert the AC3 to a Wave file with the same depth and sampling rate.

Load the AC3 into LameXP, select WAVE as output format, under advanced options leave sampling rate on "Automatic".
Resulting file is 48 kHz 16 bit WAVE, and it is rejected by MuxMan.
So MuxMan obviously doesn't like the Wave/RIFF files created by ValibDec from AC3FilterTools (the AC3/DTS decoder used by LameXP).

But that doesn't necessarily mean that there is a problem with those files. It needs further investigation...


Quote:
Originally Posted by manolito View Post
Second test: Same source file, the only difference is that under advanced I set the sampling rate to 48 kHz instead of automatic. Resulting file is also 48 kHz 16 bit Wave, but this time MuxMan accepts it. Open the two files in a hex editor and notice that they have very different headers.
Well, enabling the "Resampling" filter means that the decoded Wave file will be piped through SoX at least once, regardless of whether the new sample rate is identical to the input or not.

Obviously MuxMan likes the Wave/RIFF files written by SoX better.


Quote:
Originally Posted by manolito View Post
These two files should be bit by bit identical. Why aren't they? The fact that MuxMan refuses to open the file which was created with the "automatic" sample rate setting is enough to tell me that the header of this file is corrupt.
I don't know what the difference between the Wave files written by ValibDec and those written by SoX is.

But just because one single application (i.e. MuxMan) refuses the files written by ValibDec, this doesn't necessarily mean that ValibDec's files are corrupt.

I will have a look, but can't grantee anything. In case it turns out ValibDec really writes invalid files, the AC3Filter developer would need to fix it...
__________________
Go to https://standforukraine.com/ to find legitimate Ukrainian Charities 🇺🇦✊

Last edited by LoRd_MuldeR; 20th February 2011 at 15:06.
LoRd_MuldeR is offline   Reply With Quote
Old 20th February 2011, 16:44   #128  |  Link
manolito
Registered User
 
manolito's Avatar
 
Join Date: Sep 2003
Location: Berlin, Germany
Posts: 3,078
Quote:
Originally Posted by LoRd_MuldeR View Post
How can you be so sure about it? I don't think MuxMan is the offical reference application for the Wave/RIFF format
Well, IMO you can look at MuxMan as the Ultimate unofficial DVD compliance checker.

Another strong indication that ValibDec is to blame is that if you open and resave these problematic files in a wave editor (I tried WaveLab, Nero Wave Editor and Audacity), MuxMan has no problems with the resaved files.


Cheers
manolito
manolito is offline   Reply With Quote
Old 20th February 2011, 16:57   #129  |  Link
LoRd_MuldeR
Software Developer
 
LoRd_MuldeR's Avatar
 
Join Date: Jun 2005
Location: Last House on Slunk Street
Posts: 13,248
Quote:
Originally Posted by manolito View Post
Well, IMO you can look at MuxMan as the Ultimate unofficial DVD compliance checker.
That doesn't matter. Wave files can't be DVD compliant, or not DVD complaint. That's because there's no such thing as a Wave file on a Video-DVD

Whether the DVD authoring software accepts a specific Wave/RIFF file or not is a complete different question. And it has nothing to do with "DVD compliance".

It's the actual PCM audio data - may it be stored in a Wave container or in some other container - that can be DVD compliant (or not) in this case.


Quote:
Originally Posted by manolito View Post
Another strong indication that ValibDec is to blame is that if you open and resave these problematic files in a wave editor (I tried WaveLab, Nero Wave Editor and Audacity), MuxMan has no problems with the resaved files.
That's not a proof that anything with the Wave files written by the ValibDec tool is wrong. Tough it doesn't indicate the opposite either.

I will try to have a look. Please give me a moment...
__________________
Go to https://standforukraine.com/ to find legitimate Ukrainian Charities 🇺🇦✊

Last edited by LoRd_MuldeR; 20th February 2011 at 18:54.
LoRd_MuldeR is offline   Reply With Quote
Old 20th February 2011, 18:08   #130  |  Link
LoRd_MuldeR
Software Developer
 
LoRd_MuldeR's Avatar
 
Join Date: Jun 2005
Location: Last House on Slunk Street
Posts: 13,248
manolito,

I can reproduce your issue. MuxMan rejects the Wave file written by ValibDec, but piping the file through SoX once makes it accept the file.

Unfortunately MuxMan doesn't give any information on WHY it did reject the file. Or do I miss something ???

Anyway, while it is obvious that the files are not bit-identical, I have so far been unable to find a reason that would justify accepting the one file, but rejecting the other.

All the analysis tools I tried seem to indicate that format of the files is identical:
http://pastie.org/private/n6uyrwqo3nqgihsjidyoa

Moreover I tried various applications (Audacity, CoolEdit Pro, Winamp, Foobar2000, MPlayer, VLC Player) and not a single one complained about the file written by ValibDec.

Last but not least encoding to FLAC from both Wave files individually results in two 100% bit-identical FLAC files. So the content is identical!

Consequently there currently is NO indication that there is anything wrong with the file. I will assume that this is a problem of MuxMan, unless more info is provided...
__________________
Go to https://standforukraine.com/ to find legitimate Ukrainian Charities 🇺🇦✊

Last edited by LoRd_MuldeR; 20th February 2011 at 20:34.
LoRd_MuldeR is offline   Reply With Quote
Old 20th February 2011, 21:00   #131  |  Link
Taurus
Registered User
 
Taurus's Avatar
 
Join Date: Mar 2002
Location: Krautland
Posts: 903
@manolito
@LoRd_MuldeR

mano, I can feel the pain your in
Some time ago I tried to import wave files into Wavelab (famous wav editor).
They were rejected with some kind of stupid error message.
Loaded in any mediaplayer or other wav editors they were doing right.
So I fired up a hex editor to see the differences between Wavelabs angels and beasts.
There were definitly different header informations and rewriting the header
of the non working file solved the import failure in Wavelab.
Dont ask me how I solved it, it happened a long time ago in the past.
I changed my whole workflow since then.
Cant even remember the program or binary which wrote the wav's....
Taurus is offline   Reply With Quote
Old 20th February 2011, 21:20   #132  |  Link
LoRd_MuldeR
Software Developer
 
LoRd_MuldeR's Avatar
 
Join Date: Jun 2005
Location: Last House on Slunk Street
Posts: 13,248
Again: You can't compare the Wave files byte-by-byte (e.g. in a Hex-Editor) and then conclude that one of the files is "broken", just because the files are different at some point.

Actually there may be various reasons why the files are different and still both files can be perfectly valid. The one and only thing that matters: Is the file "valid" with respect to the RIFF/Wave specifications?

If the file is valid with respect to the specifications, then the reading-application must accept it. And if it doesn't, then it's the reading-application (not the writing-application) that must be fixed.

Only if it turns out that the file is "invalid" with respect the the specifications, then the writing-application is to blame...

[UPDATE] I just downloaded a Demo version of Wave Lab 5 and finally got it to work on my Windows XP VM. And it turns out that Wave Lab opens the Wave file written by ValibDec flawlessly [/UPDATE]
__________________
Go to https://standforukraine.com/ to find legitimate Ukrainian Charities 🇺🇦✊

Last edited by LoRd_MuldeR; 20th February 2011 at 22:24.
LoRd_MuldeR is offline   Reply With Quote
Old 20th February 2011, 21:25   #133  |  Link
manolito
Registered User
 
manolito's Avatar
 
Join Date: Sep 2003
Location: Berlin, Germany
Posts: 3,078
I posted the issue to the MuxMan thread:
http://forum.doom9.org/showthread.ph...39#post1479439

Let's see if mpucoder comes up with something....


Cheers
manolito
manolito is offline   Reply With Quote
Old 21st February 2011, 06:58   #134  |  Link
lethedoom
Registered User
 
lethedoom's Avatar
 
Join Date: Dec 2010
Location: california
Posts: 23
I have been using the 3.18 on my Windows intel core i5 cpu 650@3.2ghz pc and find it runs 8 threads simultaneously when encoding flac files to mp3. I tried the 4.0 build 324 today and it only ran 4 threads simultaneously and was obviously slower. When you release a final 4,0 stable version will it be similarly restricted to 4 threads ?
lethedoom is offline   Reply With Quote
Old 21st February 2011, 10:01   #135  |  Link
SeeMoreDigital
Life's clearer in 4K UHD
 
SeeMoreDigital's Avatar
 
Join Date: Jun 2003
Location: Notts, UK
Posts: 12,219
Quote:
Originally Posted by manolito View Post
I posted the issue to the MuxMan thread:
http://forum.doom9.org/showthread.ph...39#post1479439

Let's see if mpucoder comes up with something....
In the meantime, you can always run your 2Ch PCM in .WAV files through WaveWizard
__________________
| I've been testing hardware media playback devices and software A/V encoders and decoders since 2001 | My Network Layout & A/V Gear |
SeeMoreDigital is offline   Reply With Quote
Old 21st February 2011, 10:55   #136  |  Link
Taurus
Registered User
 
Taurus's Avatar
 
Join Date: Mar 2002
Location: Krautland
Posts: 903
Quote:
Originally Posted by LoRd_MuldeR View Post
Again: You can't compare the Wave files byte-by-byte (e.g. in a Hex-Editor) and then conclude that one of the files is "broken", just because the files are different at some point.

Actually there may be various reasons why the files are different and still both files can be perfectly valid. The one and only thing that matters: Is the file "valid" with respect to the RIFF/Wave specifications?

If the file is valid with respect to the specifications, then the reading-application must accept it. And if it doesn't, then it's the reading-application (not the writing-application) that must be fixed.

Only if it turns out that the file is "invalid" with respect the the specifications, then the writing-application is to blame...

[UPDATE] I just downloaded a Demo version of Wave Lab 5 and finally got it to work on my Windows XP VM. And it turns out that Wave Lab opens the Wave file written by ValibDec flawlessly [/UPDATE]
Sorry, if my post was a bit misleading.
I didn't assume that your program is writing wrong headers or content in wav files.
Wavelab 3.0 and 5.0 are opening the files made by your program just fine.
It was an older program (dont remember which one) which modified the header so wavelab could not read it.
Wavelab is the defacto standard for wav editing.
Just wanted to point it out that maybe the information in the header is bringing muxman to its knees.
Taurus is offline   Reply With Quote
Old 21st February 2011, 11:55   #137  |  Link
LoRd_MuldeR
Software Developer
 
LoRd_MuldeR's Avatar
 
Join Date: Jun 2005
Location: Last House on Slunk Street
Posts: 13,248
Quote:
Originally Posted by lethedoom View Post
I have been using the 3.18 on my Windows intel core i5 cpu 650@3.2ghz pc and find it runs 8 threads simultaneously when encoding flac files to mp3. I tried the 4.0 build 324 today and it only ran 4 threads simultaneously and was obviously slower. When you release a final 4,0 stable version will it be similarly restricted to 4 threads ?
The number of parallel instances is limited, because running too many instances in parallel could easily result in HDD trashing and thus would actually slow down the process.

With Hexacore processors and Hyperthreading, PC's can have 12 or more (logical) cores nowadays. So I think we definitely need a limit here. Though four was chosen a bit arbitrarily.
__________________
Go to https://standforukraine.com/ to find legitimate Ukrainian Charities 🇺🇦✊

Last edited by LoRd_MuldeR; 21st February 2011 at 12:35.
LoRd_MuldeR is offline   Reply With Quote
Old 21st February 2011, 14:33   #138  |  Link
LoRd_MuldeR
Software Developer
 
LoRd_MuldeR's Avatar
 
Join Date: Jun 2005
Location: Last House on Slunk Street
Posts: 13,248
LameXP v4.00 Final has been released

Quote:
Changes between v3.18 and v4.00:
* Complete re-write of LameXP in the C++ programming language
* Switched IDE from Delphi 7.0 to Visual Studio 2008 + Qt Framework v4.7.1 (GNU Toolchain not yet)
* Added cross-plattfrom support - only Windows and Wine for now, native Linux version planned
* Added full Unicode support for file names, meta tags and translations (no more Codepage headaches!)
* Added support for Qt Linguist tool, which makes creating/updating translations much easier
* Added support for multiple user interface styles, including "Plastique" and "Cleanlooks" themes
* Added support for user-defined encoder parameters (please use with care!)
* Added support for a true "portable" mode, which will store the configuration in the program folder
* Added resampling filter for all encoders, based on SoX
* Added simple tone adjustment filter, based on SoX
* Added an option to prepend the relative source file path to the output file path
* Updated all command-line tools to support Unicode file names, mostly required custom patches
* Updated LAME encoder to v3.99.0.11 (2011-02-11), compiled with ICL 11.1.065
* Updated OggEnc v2.87 using libvorbis v1.3.2 (2010-11-06), compiled with ICL 11.1 and MSVC 9.0
* Updated mpg123 decoder to v1.13.2 (2011-02-19), compiled with GCC 4.5.2
* Updated MediaInfo to v0.7.41 (2011-01-24), compiled with ICL 11.1.065
* Updated SoX to v14.3.1 (2010-04-11), compiled with MSVC 9.0
* Updated GnuPG to v1.4.11, compiled with GCC 4.5.2
* Updated language files (big "thank you" to all contributors !!!)
* Removed TAK support for now, as their CloseSource(!) tools don't support Unicode file names yet
* Removed Volumax tool, as we are using SoX for normalization from now on
* Countless minor fixes and improvements (hopefully not too many regressions ^^)
__________________
Go to https://standforukraine.com/ to find legitimate Ukrainian Charities 🇺🇦✊

Last edited by LoRd_MuldeR; 21st February 2011 at 14:38.
LoRd_MuldeR is offline   Reply With Quote
Old 21st February 2011, 16:41   #139  |  Link
SeeMoreDigital
Life's clearer in 4K UHD
 
SeeMoreDigital's Avatar
 
Join Date: Jun 2003
Location: Notts, UK
Posts: 12,219
Many thanks... I've just downloaded it
__________________
| I've been testing hardware media playback devices and software A/V encoders and decoders since 2001 | My Network Layout & A/V Gear |
SeeMoreDigital is offline   Reply With Quote
Old 21st February 2011, 16:58   #140  |  Link
Taurus
Registered User
 
Taurus's Avatar
 
Join Date: Mar 2002
Location: Krautland
Posts: 903
Many thanks... I've just downloaded it
Taurus is offline   Reply With Quote
Reply

Tags
aac, aotuv, flac, lame, lamexp, mp3, mp4, ogg, oggenc, opus, vorbis

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 17:31.


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