View Full Version : eac3to v3.24 Bugs & Improvements
tebasuna51
15th November 2012, 12:46
In this first post I want put a summary of Bugs & Improvements.
Next post can have most extensive descriptions.
Feel free to add comments or other Bugs & Improvements, after discussion I can add to the summary.
Downmix bugs
- When source is 6.1 the -down6 don't work fine. [OK in 3.25]
Workaround: eac3to input6.1 output5.1 -0,1,2,3,5,6,4 -down6
Downmix improvements (http://forum.doom9.org/showthread.php?p=1600695#post1600695)
- Use not normalized matrix to downmix and let the second pass do the normalize if necessary. [OK in 3.25]
- Accept other channel configuration than 5.1 to -down2 [OK in 3.26]
- Add a new parameter for simple stereo downmix. [OK in 3.25]
Decoder bugs
- Nero AC3 decoder fail sometimes, let libav default for AC3. Sample (http://www.sendspace.com/file/7wly61) [OK in 3.25, improved libav in 3.26]
- TrueHD decoder problems. [OK in 3.25]
- AC3 3.0 decode with FR and FC changed (nero and libav) [OK in 3.25]
Workaround: eac3to 3.0chan.ac3 output.wav -0,2,1
- DTS-ES 6.1 -> WAV 5.1 (libav) finish with channel mask of 0x70f (6.1) instead of the expected 0x60f (5.1) (http://forum.doom9.org/showthread.php?p=1569705#post1569705) [OK in 3.25]
Decoder improvemets
- Actualize libav decoder (maybe solve the TrueHD problems). [OK in 3.25, improved libav in 3.26]
- Maybe add AAC decoder to libav.
Encoder bugs
- NeroAacEnc fail sometimes when piped directly by eac3to, work always when use the OS pipe.
Workaround: eac3to input stdout.wav | NeroAacEnc -q 0.5 -ignorelength -if - -of output.m4a
Encoder improvements
- Support for Aften encode other inputs than 2.0/5.1 [OK in 3.25]
Workaround: eac3to input3-4-5channels stdout.wav | Aften -b 640 -readtoeof 1 - output.ac3
Issues with gaps/overlaps
- See next post. [OK in 3.25]
Info
- Document all the working parameters.
- Support SRT subtitles when using -check [OK in 3.25]
- Remove bit-depth display for lossy tracks [OK in 3.25]
- Assign language "english" to mkv tracks without languaje info (MKV rules). [OK in 3.25]
- Remove the message about 24 fps.
- In -test remove the check of MKVtoolnix (I think is not necessary). [OK in 3.25]
Others
- Bad checking between edit position and duration. (http://forum.doom9.org/showthread.php?p=1600983#post1600983) [OK in 3.25]
- Defined framerate conversion is ignored in some circumstances. (http://forum.doom9.org/showthread.php?p=1600986#post1600986)
tebasuna51
15th November 2012, 12:47
Issues with gaps/overlaps
First explain the gaps/overlaps audio problems based in the different duration of video and audio frames.
Supose 2 m2ts with 25 fps video and one ac3 track (for easy numbers).
And want extract the full ac3 stream.
See the attached image with 3 options:
https://forum.doom9.org/attachment.php?attachmentid=13080&stc=1&d=1772475505
A) The second m2ts begin with a new audio. For instance a initial credit added before the main movie.
Now we can't recover the perfect sync without recode the audio.
B) The second m2ts begin with the next audio frame (maybe when the delay is low).
Now we preserve the sync only adding the second audio stream to the first.
C) The second m2ts begin with a duplicated frame of the ac3.
Now we need delete the duplicated frame before add the two streams.
Go with a real sample, extract the english ac3 track from Brave BD.
(I'm using the spanish angle but is the same for this track).
There are 9 .m2ts and I extract (eac3to) the ac3 for each file (t01.ac3 to t09.ac3).
I analyze video and audio durations and check if there are ac3 frames duplicated (numbers in ms.):
Audio Dur_Aud Dur_Vid Dif_A-V Acu_Aud Acu_Vid Acu_A-V
------- -------- -------- -------- -------- -------- --------
t01.ac3 44608 44586 22 44608 44586 22
t02.ac3 28288 28278 10 72896 72864 32 Initial frame duplicated
t03.ac3 182496 182474 22 255392 255338 54
t04.ac3 58048 58016 32 313440 313355 85 Initial frame duplicated
t05.ac3 4888320 4888300 20 5201760 5201655 105 Initial frame duplicated
t06.ac3 46272 46255 17 5248032 5247909 123
t07.ac3 324288 324282 6 5572320 5572192 128 Initial frame duplicated
t08.ac3 34912 34910 2 5607232 5607102 130
t09.ac3 45152 45128 24 5652384 5652230 154
Then the full audio is 154 ms longer than video.
I delete the duplicated frames and repeat the check:
Audio Dur_Aud Dur_Vid Dif_A-V Acu_Aud Acu_Vid Acu_A-V
------- -------- -------- -------- -------- -------- --------
t01.ac3 44608 44586 22 44608 44586 22
t02.ac3 28256 28278 -22 72864 72864 0
t03.ac3 182496 182474 22 255360 255338 22
t04.ac3 58016 58016 0 313376 313355 21
t05.ac3 4888288 4888300 -12 5201664 5201655 9
t06.ac3 46272 46255 17 5247936 5247909 27
t07.ac3 324256 324282 -26 5572192 5572192 0
t08.ac3 34912 34910 2 5607104 5607102 2
t09.ac3 45152 45128 24 5652256 5652230 26
Now the audio finish with only 26 ms. of difference.
And always the difference is less than 32 ms. (ac3 frame duration)
If we join the ac3 files we have a perfect stream in sync with the video.
If I use eac3to to extract the full stream from the .mpls I have the WARNINGS:
[a03] Audio overlaps for 22ms at playtime 0:00:45. <WARNING>
[a03] Audio overlaps for 10ms at playtime 0:01:13. <WARNING>
[a03] Audio overlaps for 22ms at playtime 0:04:15. <WARNING>
[a03] Audio overlaps for 31ms at playtime 0:05:13. <WARNING>
[a03] Audio overlaps for 20ms at playtime 1:26:42. <WARNING>
[a03] Audio overlaps for 18ms at playtime 1:27:28. <WARNING>
[a03] Audio overlaps for 6ms at playtime 1:32:52. <WARNING>
And after realize the gaps/overlaps finish with a ac3 with the same length than first method.
But aren't identical.
Seems eac3to delete initial frame in t02.ac3 (correct) but also in t03.ac3 (incorrect).
Delete a correct frame, or preserve duplicated frames, most the times is unnoticeable, but sometimes can be detected like here (http://forum.doom9.org/showthread.php?p=1584532#post1584532).
Also for a perfect decode of the audio, a frame need a correct initialization from the previous frame and, if isn't the correct one can produce glitches, like was detected here (http://forum.doom9.org/showthread.php?p=1587184#post1587184).
For this BD you can obtain the correct english ac3 stream with a .bat file like this:
@echo off
"YourPathTo\eac3to.exe" 00952.m2ts 2: t01.ac3
"YourPathTo\eac3to.exe" 00960.m2ts 2: t02.ac3 -32ms
"YourPathTo\eac3to.exe" 00954.m2ts 2: t03.ac3
"YourPathTo\eac3to.exe" 00961.m2ts 2: t04.ac3 -32ms
"YourPathTo\eac3to.exe" 00956.m2ts 2: t05.ac3 -32ms
"YourPathTo\eac3to.exe" 01042.m2ts 2: t06.ac3
"YourPathTo\eac3to.exe" 00958.m2ts 2: t07.ac3 -32ms
"YourPathTo\eac3to.exe" 00968.m2ts 2: t08.ac3
"YourPathTo\eac3to.exe" 00959.m2ts 2: t09.ac3
copy /B t01.ac3 + t02.ac3 + t03.ac3 + t04.ac3 + t05.ac3 + t06.ac3 + t07.ac3 + t08.ac3 + t09.ac3 english.ac3
pause
I test the same procedure with DTS and DTS-HD and seems work fine.
BTW, not always delete the duplicated frames can be enough to mantain the sync, because can have type A join, then I suggest:
- First check if there are a duplicate frame and delete.
- If the accumulated delay is greater than the audio frame duration (not than half duration like seems work now eac3to) then delete a frame.
tebasuna51
15th November 2012, 12:47
Downmix -down2 and simple stereo for all standard channel configuration.
If exist the parameter -mixlfe add:
FL' = ... + 0.7071 x LFE
FR' = ... + 0.7071 x LFE
2.1
Stereo
FL' = FL
FR' = FR
2/1 or 2/1.1
Stereo
FL' = FL + 0.7071 x BC
FR' = FR + 0.7071 x BC
Dpl
FL' = FL + 0.7071 x BC
FR' = FR - 0.7071 x BC
2/2 or 2/2.1
Stereo
FL' = FL + BL
FR' = FR + BR
Dpl
FL' = FL + 0.8660 x BL + 0.5000 x BR
FR' = FR - 0.5000 x BL - 0.8660 x BR
3/0 or 3/0.1
Stereo
FL' = FL + 0.7071 x FC
FR' = FR + 0.7071 x FC
3/1 or 3/1.1
Stereo
FL' = FL + 0.7071 x FC + 0.7071 x BC
FR' = FR + 0.7071 x FC + 0.7071 x BC
Dpl
FL' = FL + 0.7071 x FC + 0.7071 x BC
FR' = FR + 0.7071 x FC - 0.7071 x BC
3/2 or 3/2.1
Stereo
FL' = FL + 0.7071 x FC + BL
FR' = FR + 0.7071 x FC + BR
Dpl
FL' = FL + 0.7071 x FC + 0.8660 x BL + 0.5000 x BR
FR' = FR + 0.7071 x FC - 0.5000 x BL - 0.8660 x BR
3/2/1 or 3/2/1.1
Stereo
FL' = FL + 0.7071 x FC + BL + 0.7071 x BC
FR' = FR + 0.7071 x FC + BR + 0.7071 x BC
Dpl
FL' = FL + 0.7071 x FC + 0.8660 x BL + 0.5000 x BR + 0.7071 x BC
FR' = FR + 0.7071 x FC - 0.5000 x BL - 0.8660 x BR - 0.7071 x BC
3/2/2 or 3/2/2.1
Stereo
FL' = FL + 0.7071 x FC + BL + SL
FR' = FR + 0.7071 x FC + BR + SR
Dpl
FL' = FL + 0.7071 x FC + 0.8660 x (BL + SL) + 0.5000 x (BR + SR)
FR' = FR + 0.7071 x FC - 0.5000 x (BL + SL) - 0.8660 x (BR + SR)
nixo
15th November 2012, 14:50
Regular stereo downmix was discussed some time ago:
http://forum.doom9.org/showthread.php?p=1386125#post1386125
If it's not too much hassle, I'd still like to see it implemented.
--
Nikolaj
nautilus7
15th November 2012, 15:27
A very good adition would be the header patching for dts-hd "strange setup" files, so the arcsoft decoder can decode them properly. User xkodi, has made a lot of posts regarding this.
tebasuna51
15th November 2012, 15:39
Regular stereo downmix was discussed some time ago:
I can put all the options in Downmix post.
A very good adition would be the header patching for dts-hd "strange setup" files, so the arcsoft decoder can decode them properly. User xkodi, has made a lot of posts regarding this.
In my opinion ArcSoft decode properly the dts-hd "strange setup" now.
madshi
15th November 2012, 15:51
- NeroAacEnc fail sometimes when piped directly by eac3to, work always when use the OS pipe.
Is there a way to reliably reproduce this?
In my opinion ArcSoft decode properly the dts-hd "strange setup" now.
You mean there's a new decoder dll version from ArcSoft which fixes the problem? Which version number does that have?
Overdrive80
15th November 2012, 16:14
You mean there's a new decoder dll version from ArcSoft which fixes the problem? Which version number does that have?
Maybe, Tebasuna51 is referring to 1.1.0.8 version.
filler56789
15th November 2012, 16:35
Suggested improvements:
--- use dcaenc besides Surcode
--- use fhgaacenc and qaac besides Nero AAC Encoder
--- look for MKVtoolnix files in the PATH environment-variable, not only in the Windows Registry
--- NO "undocumented" options anymore ;) :)
Overdrive80
15th November 2012, 17:15
Suggested improvements:
- Sonic just doesn´t exist therefore it delevelop is discontinued. Maybe Roxio encoder is alternative, isnt?
Snowknight26
15th November 2012, 18:06
Suggestion:
- Use ffmpeg/libavformat for MKV muxing
- Being able to output to NUL in Windows
- Support SRT subtitles when using -check
- Remove bit-depth display for lossy tracks
Bug fixes:
- Incorrect container frame rate for seamlessly-branched M2TS files
nautilus7
15th November 2012, 18:19
Suggestion:
Use ffmpeg/libavformat for MKV muxing.+1
Nobody uses haali anymore.
sneaker_ger
15th November 2012, 18:29
- support AAC ADTS and MP4 input and output
- support input from pipe
- support timestretching and pitch change
madshi
15th November 2012, 18:34
Guys, as I said in the eac3to thread, bugfixes and *SMALL* improvements, only. Some of what you're suggesting would be major changes.
Atak_Snajpera
15th November 2012, 19:02
madshi don't forget about my two improvements
1) switch for custom block size for flac encoder (required by lossywav)
2) support for stdin ( eac3to.exe input.stdin ... )
sneaker_ger
15th November 2012, 19:05
Guys, as I said in the eac3to thread, bugfixes and *SMALL* improvements, only. Some of what you're suggesting would be major changes.
I've read that, but I thought we'd let tebasuna and you evaluate what's minor and what's not.
Feel free to add comments or other Bugs & Improvements, after discussion I can add to the summary.
sshd
15th November 2012, 22:17
4-channel FLAC is identified as FLAC 3/1, but the FLAC format specifies it to be 2/2.
This messes up channel mapping for 4 channel surround.
An option to convert it to FLAC 3/2 would be nice.
tebasuna51
16th November 2012, 01:28
- "NeroAacEnc fail sometimes when piped directly by eac3to" - Is there a way to reliably reproduce this?
I don't know.
- You mean there's a new decoder dll version from ArcSoft which fixes the problem?
Nope, I use 1.1.0.0. We can decode to WAV Lss,Rss,Lsr,Rsr -> SL,SR,BL,BR, but decode Ls,Rs,Lsr,Rsr to WAV is not possible because don't exist the equivalent channels for Ls,Lr. Then the mix what ArcSoft put in SL,SR,BL,BR is correct for me.
- use dcaenc besides Surcode, use fhgaacenc and qaac besides Nero AAC Encoder.
You can use this encoders with 'pipe'.
- look for MKVtoolnix files in the PATH environment-variable, not only in the Windows Registry
I don't know for what eac3to need MKVtoolnix.
- NO "undocumented" options anymore.
OK.
- Sonic just doesn´t exist therefore it delevelop is discontinued. Maybe Roxio encoder is alternative, isnt?
I don't know, but maybe we can use only free soft.
- Use ffmpeg/libavformat for MKV muxing
Maybe. I don't know if is possible and the benefits, please explain.
- Being able to output to NUL in Windows
Please explain for what.
- Support SRT subtitles when using -check
OK. Maybe is little info bug.
- Remove bit-depth display for lossy tracks
OK. I have the same opinion.
- support AAC ADTS and MP4 input and output
OK with input (already in my first post). ADTS output is now possible with qaac and fhgaacenc 'pipe'.
- support input from pipe/support for stdin ( eac3to.exe input.stdin ... )
I don't know if is easy to implement. Please explain the usage.
- support timestretching and pitch change
Is interesting but maybe not easy. I don't know a good free soft to do this with audio multichannel. Pending.
- switch for custom block size for flac encoder (required by lossywav)
Encoders have many parameters and eac3to can't manage all. When I need a special parameter for AC3 I use the 'pipe' method. BTW, madshi have the last decission.
- 4-channel FLAC is identified as FLAC 3/1, but the FLAC format specifies it to be 2/2.
I can't reproduce this. A 2/2 wav encoded to FLAC is recognized, and decoded, with eac3to like 2/2.
- An option to convert it to FLAC 3/2 would be nice.
Please suggest generic improvements, eac3to can't do all audio jobs.
Sparktank
16th November 2012, 08:03
Suggestion:
Extract chapters to a text file in IfoEdit/OGG|FrameCount/TimeCode format.
Atak_Snajpera
16th November 2012, 12:19
@tebasuna51
eac3to.exe input.flac output.stdout I lossywav.exe - -- I eac3to.exe input.stdin output.lossy.flac
regarding -B 512/1024/... switch this should probably be the easiest thing to implement on madshi's list since eac3to uses libflac. he just have to expose that to user.
Brazil2
16th November 2012, 13:13
Regular stereo downmix was discussed some time ago:
http://forum.doom9.org/showthread.php?p=1386125#post1386125
If it's not too much hassle, I'd still like to see it implemented.
+1
Regular stereo downmix is a very basic feature that is really missing in eac3to.
filler56789
16th November 2012, 14:35
- look for MKVtoolnix files in the PATH environment-variable, not only in the Windows Registry
I don't know for what eac3to need MKVtoolnix.
Me neither, LOL
eac3to -test
eac3to (v3.24) is installed
Nero Audio Decoder (Nero 7) works fine
ArcSoft DTS Decoder (1.1.0.1) works fine
Sonic Audio Decoder (3.24.0.0) doesn't seem to be installed
Haali Matroska Muxer doesn't seem to be installed
http://haali.net/mkv
Nero AAC Encoder (1.5.4.0) is installed
Surcode DTS Encoder doesn't seem to be installed
http://www.surcode.com
MkvToolnix doesn't seem to be installed
http://www.bunkus.org/videotools/mkvtoolnix
pandv2
16th November 2012, 20:53
Well, this is my bug report. One easy to fix, I hope: bad checking between edit position and duration.
With this command line:
"C:\MasProgramas\eac3to\eac3to.exe" "C:\Temp\VideoSynch\Vsy_Segmento_Aud_000.ac3" "C:\Temp\VideoSynch\Vsy_Segmento_Aud_000_sil001.ac3" -silence -edit=0:00:00.544,1088ms
Eac3to shows a error:
Invalid edit format "edit=0:00:00.544,1088ms
And also with: -edit=0:00:00.544,544ms
but not with: -edit=0:00:00.544,543ms
If the silence duration to insert, is bigger than the insertion position, eac3to trows a error. So:
-edit=0:00:00.789,800 is a error
-edit=0:00:00.789,788 is not
pandv2
16th November 2012, 20:55
And the second one: defined framerate conversion is ignored in some circumstances.
eac3to v3.24
command line: "C:\MasProgramas\eac3to\eac3to.exe" "G:\Sc\H1.mkv" 2:"C:\Temp\VideoSynch\Vsy_Tmp_Audio_1.ac3" -320 -25.000 -changeTo23.976
------------------------------------------------------------------------------
MKV, 1 video track, 1 audio track, 1 subtitle track, 0:22:43, 25p
1: h264/AVC, 1080p24 /1.001 (16:9)
2: MP3, Spanish, 2.0 channels, 320kbps, 48kHz, 1500ms
"Audio en Castellano"
3: Subtitle (ASS), Spanish, "Subtítulos para el audio Castellano"
[v01] The video bitstream framerate field doesn't match the container framerate. <WARNING>
[a02] Extracting audio track number 2...
[a02] Decoding with libav/ffmpeg...
[a02] Applying RAW/PCM delay...
[a02] Encoding AC3 <320kbps> with libAften...
[a02] Clipping detected, a 2nd pass will be necessary. <WARNING>
[a02] Creating file "C:\Temp\VideoSynch\Vsy_Tmp_Audio_1.ac3"...
[a02] Starting 2nd pass...
[a02] Extracting audio track number 2...
[a02] Decoding with libav/ffmpeg...
[a02] Applying RAW/PCM delay...
[a02] Encoding AC3 <320kbps> with libAften...
[a02] Applying -0,21dB gain...
[a02] Creating file "C:\Temp\VideoSynch\Vsy_Tmp_Audio_1.ac3"...
Video track 1 contains 34071 frames.
eac3to processing took 23 seconds.
Done.
You can see I am trying to convert a mp3 track from a mkv video from 25.000 to 23.976. But the video is a 23.976 avc1 encode, converted by the mkv container to a 25.000 play speed.
Eac3to doesn't does the framerate conversion.
tebasuna51
16th November 2012, 21:08
@tebasuna51
eac3to.exe input.flac output.stdout | lossywav.exe - -- | eac3to.exe input.stdin output.lossy.flac
Wow!
Don't work this?:
flac -d -c input.flac | lossywav.exe - -- | flac -b 512 -o output.lossy.flac -
Atak_Snajpera
16th November 2012, 21:13
try again with large flac (2h41m avatar soundtrack for example).
tebasuna51
16th November 2012, 21:31
Maybe:
flac -d -c input.flac | lossywav.exe - -- | flac -b 512 -o output.lossy.flac --ignore-chunk-sizes -
Atak_Snajpera
16th November 2012, 21:37
nope. flac cannot decode to 4gb+ wavs.
Brazil2
17th November 2012, 12:20
nope. flac cannot decode to 4gb+ wavs.
Use this one ;)
http://www.hydrogenaudio.org/forums/index.php?showtopic=84014&view=findpost&p=725304
nada2k
17th November 2012, 13:02
Hello, maybe you can have a look at point 1 listed in this topic (http://forum.doom9.org/showthread.php?p=1461841#post1461841)? The sample there can be decoded in eac3to v3.21, but not in v3.22 and v3.24.
tebasuna51
17th November 2012, 13:20
- Extract chapters to a text file in IfoEdit/OGG|FrameCount/TimeCode format.
I think the actual output format with only Timecodes is the standard. Is easy convert to the suggested format.
- Bad checking between edit position and duration.
OK.
- Defined framerate conversion is ignored in some circumstances.
OK. I can't make a test but maybe madshi can explain or solve the problem.
- eac3to.exe input.flac output.stdout | lossywav.exe - -- | eac3to.exe input.stdin output.lossy.flac -block 512
I hope than a mod flac version can solve the problem, because I think is to much effort for eac3to to solve a particular case.
- The (MLP) sample there can be decoded in eac3to v3.21, but not in v3.22 and v3.24. (http://forum.doom9.org/showthread.php?p=1461841#post1461841)
I hope a libav update can solve the problem. Pending.
Please comments about Issues with gaps/overlaps (http://forum.doom9.org/showthread.php?p=1600694#post1600694)
sshd
17th November 2012, 14:07
- 4-channel FLAC is identified as FLAC 3/1, but the FLAC format specifies it to be 2/2.
I can't reproduce this. A 2/2 wav encoded to FLAC is recognized, and decoded, with eac3to like 2/2.
- An option to convert it to FLAC 3/2 would be nice.
Please suggest generic improvements, eac3to can't do all audio jobs.
Try ripping one of these movies:
- Edward Scissorhands
- Journey to the Center of the Earth (1959)
- Poseidon Adventure
eac3to will correctly identify the audio as 3/1.
When saving the audio as FLAC it is saved as FLAC 3/1. Unfortunately there is no such thing. FLAC with 4 channels is by FLAC specification 2/2.
Any player that follows the FLAC specification, will play the center channel in the right surround speaker.
Only option to play this correctly (with FLAC) is to duplicate the surround channel and save as FLAC 3/2.
filler56789
17th November 2012, 14:48
Only option to play this correctly (with FLAC) is to duplicate the surround channel and save as FLAC 3/2.
Another option is to drop FLAC and start using WavPack ;) or MLP. :)
tebasuna51
17th November 2012, 14:56
Then isn't a eac3to problem.
I suggest you decode to wav and after use BeHappy to encode to flac with this .avs:
a=RaWavSource("YourPathTo\decoded.wav")
fl = GetChannel(a, 1)
fr = GetChannel(a, 2)
fc= GetChannel(a, 3)
bl = GetChannel(a, 4).Amplify(0.7071)
br = bl
MergeChannels(fl, fr, fc, bl, br)
b66pak
17th November 2012, 21:48
ac3 3.0 is decoded with center channel switched with the right one...
workaround:
eac3to 3.0.ac3 audio.wav -0,2,1,3,4,5
make -down2 as simple stereo and not dpl...
_
tebasuna51
18th November 2012, 00:34
ac3 3.0 is decoded with center channel switched with the right one...
OK. Verified with -nero and -libav, seems a regression, longtime ago I check all channel configs.
make -down2 as simple stereo and not dpl...
Nope, but a new parameter to simple stereo.
Downmix matrix already included in third post.
doom-nine
18th November 2012, 12:38
eac3to cannot recognize the DDPlus audios in the bluray disk. Hope it could be solved in the new version.
Atak_Snajpera
18th November 2012, 17:49
Use this one ;)
http://www.hydrogenaudio.org/forums/index.php?showtopic=84014&view=findpost&p=725304
it still cannot decode to 4gb+ wavs (ERROR. wav too big...)
Also encoded preprocessed 4Gb+ wav is odd. (no seek bar and duration in winamp)
http://i.imgur.com/FFNCI.png
but the same preprocessed wav encoded by eac3to is ok
also the same problem in madflac
http://i.imgur.com/ig25Q.png
I would really prefer to use eac3to instead of outdated/buggy flac.exe but i need at least -block switch
xkodi
18th November 2012, 23:07
- You mean there's a new decoder dll version from ArcSoft which fixes the problem?
Nope, I use 1.1.0.0. We can decode to WAV Lss,Rss,Lsr,Rsr -> SL,SR,BL,BR, but decode Ls,Rs,Lsr,Rsr to WAV is not possible because don't exist the equivalent channels for Ls,Lr. Then the mix what ArcSoft put in SL,SR,BL,BR is correct for me.
i completely don't agree with that, because there is no "strange setup" file that contains a recording which actually uses the real channel order to which the file is set - take even for example "Qtec Hi-Definition Reference Disc" - it has the same 24-bit/96kHz multi-channel track in LPCM, TrueHD and DTS-HD MA which is set to "strange setup" - LPCM and TrueHD are correctly decoded bit-perfect, but Arcsoft 1.1.0.0 decode is not bit-perfect. however, the channel order seems wrongly set in the DTS-HD MA to "strange setup" and it doesn't reflect the true channel order of the recording inside - same applies for me for Scandinavian version of "Sin City" that is another famous example with "strange setup" files. so, if we assume Arcsoft 1.1.0.0 decodes the DTS-HD MA sample from "Qtec Hi-Definition Reference Disc" correctly as "tebasuna51" believes then it means that any existing LPCM and TrueHD decoder is wrong, because the same track in LPCM and TrueHD from that demo-disc is decoded in way different than Arcsoft 1.1.0.0.
BTW, if "madshi" is interested to implement a fix for that, he can contact me to give him simple proof-of-concept code for DTS-HD MA header-parching in C that switches the channel order as currently 'eaqc3to' do for DTS files - i guess that way implementing the real fix in 'eac3to' would be matter of minutes. also, when 'eac3to' decodes all 8 channels of DTS-HD MA "strange setup" bit-perfect then people like "tebasuna51" that believe that's wrong can mix them to their liking. however, it's very simple and believe no any code example is necessary when check the document here:
http://www.etsi.org/deliver/etsi_ts/102100_102199/102114/01.03.01_60/ts_102114v010301p.pdf
and just change the channel order bits and re-calculate the CRC.
BigPines
19th November 2012, 03:12
I have uploaded a couple of files that illustrate the Brave/Finding Nemo TrueHD bug.
The first sample file is one I demuxed from Brave 3D: http://netload.in/dateiJYstyUhRic/test.thd+ac3.htm
eac3to test.thd+ac3 audio.wavs
TrueHD/AC3, 7.1 channels, 48kHz
(embedded: AC3, 5.1 channels, 640kbps, 48kHz)
Extracting TrueHD stream...
Decoding with libav/ffmpeg...
Remapping channels...
Writing WAVs...
libav Substream 0 parity check failed
libav Substream 0 checksum failed
libav Substream 0 length mismatch.
The libav decoder reported error -1 while decoding.
Aborted at file position 262144.
The second file is an actual m2ts from Brave 3D: http://netload.in/dateiQUPHaqw7BA/00950.m2ts.htm
eac3to 00950.m2ts audio.wavs
M2TS, 1 video track, 6 audio tracks, 4 subtitle tracks, 0:00:28, 24p /1.001
1: h264/AVC, 1080p24 /1.001 (16:9)
2: TrueHD/AC3, English, 7.1 channels, 48kHz
(embedded: AC3, 5.1 channels, 640kbps, 48kHz)
3: AC3 Surround, English, 2.0 channels, 320kbps, 48kHz
4: AC3 Surround, English, 2.0 channels, 320kbps, 48kHz
5: AC3, French, 5.1 channels, 512kbps, 48kHz
6: AC3, French, 5.1 channels, 640kbps, 48kHz
7: AC3, Spanish, 5.1 channels, 640kbps, 48kHz
8: Subtitle (PGS), English
9: Subtitle (PGS), English
10: Subtitle (PGS), French
11: Subtitle (PGS), Spanish
Track 2 is used for destination file "audio.wavs".
a02 Extracting audio track number 2...
a02 Extracting TrueHD stream...
a02 Decoding with libav/ffmpeg...
a02 Remapping channels...
a02 Writing WAVs...
a02 libav Substream 0 parity check failed
a02 libav Substream 0 checksum failed
a02 libav Substream 0 length mismatch.
a02 The libav decoder reported error -1 while decoding.
Aborted at file position 1048576.
I believe the demuxing problem is related. This is a seamless branching disc and problems are encountered while trying to demux the main feature:
eac3to 00801.mpls -demux
M2TS, 1 video track, 6 audio tracks, 4 subtitle tracks, 1:34:12, 72p /1.001
1: Chapters, 37 chapters
2: h264/AVC, 1080p24 /1.001 (16:9)
3: TrueHD/AC3, English, 7.1 channels, 48kHz
(embedded: AC3, 5.1 channels, 640kbps, 48kHz)
4: AC3 Surround, English, 2.0 channels, 320kbps, 48kHz
5: AC3 Surround, English, 2.0 channels, 320kbps, 48kHz
6: AC3, French, 5.1 channels, 512kbps, 48kHz
7: AC3, French, 5.1 channels, 640kbps, 48kHz
8: AC3, Spanish, 5.1 channels, 640kbps, 48kHz
9: Subtitle (PGS), English
10: Subtitle (PGS), English
11: Subtitle (PGS), French
12: Subtitle (PGS), Spanish
v02 The video bitstream framerate field doesn't seem to match the timestamps.
Creating file "00914 - Chapters.txt"...
a03 AC3 encoding doesn't support back channels. Will mix them into the surround.
v02 Extracting video track number 2...
a03 Extracting audio track number 3...
a06 Extracting audio track number 6...
a08 Extracting audio track number 8...
s10 Extracting subtitle track number 10...
a03 Extracting audio track number 3...
a05 Extracting audio track number 5...
a04 Extracting audio track number 4...
a03 Extracting TrueHD stream...
s12 Extracting subtitle track number 12...
s11 Extracting subtitle track number 11...
a06 This track is not clean.
s09 Extracting subtitle track number 9...
a07 Extracting audio track number 7...
a03 Extracting TrueHD stream...
a03 Decoding with libav/ffmpeg...
a03 Remapping channels...
a03 Mixing surround channels...
a03 Encoding AC3 <640kbps> with libAften...
a03 libav Restart header sync incorrect (got 0x0598)
a03 The libav decoder reported error -1 while decoding.
When attempting to decode the entire playlist to wavs, I get the following error:
eac3to 00801.mpls audio.wavs
M2TS, 1 video track, 6 audio tracks, 4 subtitle tracks, 1:34:12, 72p /1.001
1: Chapters, 37 chapters
2: h264/AVC, 1080p24 /1.001 (16:9)
3: TrueHD/AC3, English, 7.1 channels, 48kHz
(embedded: AC3, 5.1 channels, 640kbps, 48kHz)
4: AC3 Surround, English, 2.0 channels, 320kbps, 48kHz
5: AC3 Surround, English, 2.0 channels, 320kbps, 48kHz
6: AC3, French, 5.1 channels, 512kbps, 48kHz
7: AC3, French, 5.1 channels, 640kbps, 48kHz
8: AC3, Spanish, 5.1 channels, 640kbps, 48kHz
9: Subtitle (PGS), English
10: Subtitle (PGS), English
11: Subtitle (PGS), French
12: Subtitle (PGS), Spanish
v02 The video bitstream framerate field doesn't seem to match the timestamps.
Track 3 is used for destination file "audio.wavs".
a03 Extracting audio track number 3...
a03 Extracting TrueHD stream...
a03 Decoding with libav/ffmpeg...
a03 Remapping channels...
a03 Writing WAVs...
a03 libav Restart header sync incorrect (got 0x0598)
a03 The libav decoder reported error -1 while decoding.
Aborted at file position 1048576.
The 2D version has the same problem as does Finding Nemo.
Thank you in advance for looking into it.
Mike
BigPines
19th November 2012, 03:25
One very small enhancement request that would make my life easier is to change the names of the surround output wav files. The output wavs are currently named as follows: audio.L.wav, audio.R.wav, audio.LFE.wav, audio.SL.wav and audio.SR.wav.
The DTSEncoder looks for different names in the surround channel. It would be as simple as changing the output names as follows:
from audio.SL.wav to audio.LS.wav
from audio.SR.wav to audio.RS.wav
This would enable us to drop a single file (the left channel) onto the DTS encoder window and the rest of the files would load themselves automatically.
Just a small thing that would make a BIG difference to those of us using the DTSEncoder.
Thank you for your consideration.
Mike
shon3i
19th November 2012, 11:14
make it opensource ?
tebasuna51
19th November 2012, 13:03
... take even for example "Qtec Hi-Definition Reference Disc" - it has the same 24-bit/96kHz multi-channel track in LPCM, TrueHD and DTS-HD MA which is set to "strange setup" - LPCM and TrueHD are correctly decoded bit-perfect, but Arcsoft 1.1.0.0 decode is not bit-perfect. however, the channel order seems wrongly set in the DTS-HD MA to "strange setup" and it doesn't reflect the true channel order of the recording inside
If I understand correctly, you say than this DTS-HD was erroneusly coded to Ls,Rs,Lsr,Rsr when it must be encoded to Lss,Rss,Lsr,Rsr?
All "strange setup" DTS-HD have the same problem and Ls,Rs (110º) must be decoded directly to SL,SR (90º)?
... when 'eac3to' decodes all 8 channels of DTS-HD MA "strange setup" bit-perfect then people like "tebasuna51" that believe that's wrong can mix them to their liking.
I don't have the problem because I have only 5.1 audio systems.
But I think is more important preserve the channels positions than the samples was "bit-perfect".
The DTSEncoder looks for different names in the surround channel. It would be as simple as changing the output names as follows:
from audio.SL.wav to audio.LS.wav
from audio.SR.wav to audio.RS.wav
Take in mind than SL (M$ definition) means SideLeft (90º) but Ls (DTS definition) mean LeftSurround (110º).
The correct equivalence to SL is Lss (LeftSurroundSide, 90º).
BTW this is not important for 5.1
And my preference is use M$ names por wav files: FL,FR,FC,LFE,SL,SR (or FL,FR,FC,LFE,BL,BR both the same for 5.1 files)
tebasuna51
19th November 2012, 14:31
...
I would really prefer to use eac3to instead of outdated/buggy flac.exe but i need at least -block switch
And this 2 pass procces can work for you?
eac3to input.flac stdout.wav | lossywav.exe - intermediate.wav
eac3to intermediate.wav stdout.wav | flac -b 512 -o output.lossy.flac --ignore-chunk-sizes -
Because I think more dificult to implement the input.stdin.
Atak_Snajpera
19th November 2012, 16:59
eac3to intermediate.wav stdout.wav | flac -b 512 -o output.lossy.flac --ignore-chunk-sizes -
ok this creates correct flac at least. Nevertheless exposing -block switch for user is just a 10 min work (libFLAC has it anyway). Madshi could also implement automatic block size for extension .lossy. (44.1/48Khz - 512 , 96Khz - 1024 , 192Khz - 2048 and so on...)
eac3to input.flac stdout.wav | lossywav.exe - intermediate.wav
This does not work yet but author is working on compatibility with eac3to.
Chumbo
19th November 2012, 20:25
I had posted this request in the original thread as I didn't know about this one. Not sure if this is a small or large effort.
Any chance of adding chapter detection/extraction from MKVs please? Thanks for considering it.
sneaker_ger
19th November 2012, 21:50
Not to keep madshi from adding mkv chapter extraction, but I think mkvtoolnix does it just fine.
BigPines
20th November 2012, 04:08
What is this DTS strange setup people are talking about?
Mike
Revgen
20th November 2012, 08:38
- Use ffmpeg/libavformat for MKV muxing
Is it better than MKVToolnix?
tebasuna51
20th November 2012, 11:31
- Any chance of adding chapter detection/extraction from MKVs please?
Yes we now than eac3to mkv support is not complete, not only with chapters. Pending, not urgent because there are mkvtoolnix.
- Is it (ffmpeg to mux) better than MKVToolnix?
I don't think so, but eac3to uses Haali mux.
- What is this DTS strange setup people are talking about?
The standard 7.1 DTS channel configuration 1 (see attached image) have a exact equivalence with M$ WAV channels:
L,C,R,LFE,Lss,Rss,Lsr,Rsr -> FL,FR,FC,LFE,BL,BR,SL,SR
The strange 7.1 DTS channel configuration 5 don't have a exact equivalence with M$ WAV channels:
L,C,R,LFE,Ls,Rs,Lsr,Rsr -> FL,FR,FC,LFE,BL,BR,?,?
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.