View Full Version : FFmpeg/Mplayer supports E-AC-3 format now...
Mc Onyx
13th September 2007, 19:35
Thanks guys :)
I got a "noobie" question : do ffmpeg use an external decoder such as Nero or Sonic to decode the E-AC3 or is it able to encode E-AC3 by itself ? Because I have plenty decoders/splitters installed, I just want to know what is really needed (the minimum) to do E-AC3 to AAC. Thanks in advance, I hope I'm clear enough.
FFMPEG has it's own E-AC3 decoder, does not use Nero or Sonic or anything else...
damngod
13th September 2007, 20:13
Ok, I was expecting this, thanks anyway. Just encoded an E-AC3 from a Blu-Ray .m2ts, works perfectly.
madshi
13th September 2007, 21:52
I think is more easy (and clean) each encoder/decoder uses like input/output the same order (maybe WAV or other)
Agreed.
bitdepth (seems 32 float is more adequate instead 16 int) and so on.
I strongly disagree. Lossless formats like TrueHD, DTS Master Audio and FLAC should be decoded to exactly that bit depth the source is in. If you don't do it this way, reencoding from one lossless format to another would be unnecessarily complicated.
madshi
13th September 2007, 22:12
There is one problem with what you propose. Not every output format uses WAVE channel order. What if someone wants to transcode AC3 to AAC, or from E-AC3 to AC3, or from AC3 to Vorbis? The decoder should not assume that the user wants their audio automatically converted to WAVE channel order...
I don't follow your argumentation here. You'd be right if only the decoder forced WAV channel ordering and the encoder didn't. That would be chaos! But tebasuna51's suggestion was to also change encoders to expect WAV channel ordering. Basically each decoder would remap channels internally to make the output WAV order like. And each encoder would again expect WAV order input and would internally remap the channels to the format's own channel order. As far as I understand it doing it this way would automatically ensure correct channel ordering for any format conversion. What am I missing?
Ok, there might be some formats which allow different channel orders. E.g. in RAW files you could have any channel ordering you like. But I don't see why it would harm to use WAV channel order here by default, too. If the end user wants a different order, ffmpeg could still offer the possibility to the end user to remap channels to his liking. Even in this case it would be better to start of with the WAV order because then the end user knew exactly where he starts from. As far as I understand it, right now the end user must know exactly which format has which internal channel ordering which I find much too complicated.
But these are just my 2 cents and maybe I'm overlooking some potential problems?
tebasuna51
14th September 2007, 02:25
I strongly disagree. Lossless formats like TrueHD, DTS Master Audio and FLAC should be decoded to exactly that bit depth the source is in. If you don't do it this way, reencoding from one lossless format to another would be unnecessarily complicated.
I agree with all your comments and also with this one, the bitdepth must be preserved while is possible. This is the idea I insert in BeHappy-AviSynth.
Really I can't suspect any problem (about channel order) other than the reticence to accept the default MS WAV order. I am a MS user not a MS defender, but I think accept a standard is not lose a battle, is gain users.
damngod
15th September 2007, 09:40
I got a weird bug on a HD DVD. First, the video is recognized as MPEG-2 even if it's H.264. I also got a warning about the framerate. Anyway I only want to encode one DD+ to AAC but encoding starts to become very slow (processes 0.1 second of the movie in a minute) after having processed like 3 minutes of the movie. At this point, the process called "System" starts to charge like 20% of the CPU which is abnormal. I will format my HDD to be sure it's not related to something else, like drivers.
damngod
16th September 2007, 11:10
HDD formatting is scheduled for tonight. This morning, I tried encoding something else, a DTS HD track to AAC. It starts normally but ffmpeg crashes after 2 minutes. The error is reported as :
FFmpeg version SVN-r10475, Copyright (c) 2000-2007 Fabrice Bellard, et al.
configuration: --enable-gpl --enable-memalign-hack --enable-avisynth --enable-
libfaac --enable-libfaad --enable-libogg --enable-libvorbis --enable-libmp3lame
--enable-libx264 --enable-pp
libavutil version: 49.5.0
libavcodec version: 51.43.0
libavformat version: 51.12.3
built on Sep 11 2007 11:45:37, gcc: 4.2.1-dw2 (mingw32-2)
Input #0, mpeg, from 'L0_mainMovie_MERGED.rebuilt.EVO':
Duration: 01:06:20.2, start: 0.500000, bitrate: 45941 kb/s
Stream #0.0[0xfd55]: Video: vc1, yuv420p, 1920x1080, 29.97 fps(r)
Stream #0.1[0x88]: Audio: dca, 48000 Hz, 5:1, 1536 kb/s
Stream #0.2[0x89]: Audio: dca, 48000 Hz, 5:1, 1536 kb/s
Output #0, adts, to 'audio2.aac':
Stream #0.0: Audio: libfaac, 48000 Hz, stereo, 192 kb/s
Stream mapping:
Stream #0.2 -> #0.0
Press [q] to stop encoding
ERROR: block code look-up failedate= 165.4kbits/s
ERROR: block code look-up failed
ERROR: block code look-up failed
ERROR: block code look-up failed
ERROR: block code look-up failed
ERROR: block code look-up failed
ERROR: block code look-up failed
ERROR: block code look-up failed
ERROR: block code look-up failed
ERROR: block code look-up failed
ERROR: block code look-up failed
ERROR: block code look-up failed
ERROR: block code look-up failed
ERROR: block code look-up failed
ERROR: block code look-up failed
ERROR: block code look-up failed
ERROR: block code look-up failed
ERROR: block code look-up failed
ERROR: block code look-up failed
ERROR: block code look-up failed
ERROR: block code look-up failed
ERROR: block code look-up failed
ERROR: block code look-up failed
ERROR: block code look-up failed
ERROR: block code look-up failed
ERROR: block code look-up failed
ERROR: block code look-up failed
ERROR: block code look-up failed
ERROR: block code look-up failed
ERROR: block code look-up failed
ERROR: block code look-up failed
ERROR: block code look-up failed
ERROR: block code look-up failed
ERROR: block code look-up failed
ERROR: block code look-up failed
ERROR: block code look-up failed
ERROR: block code look-up failed
ERROR: block code look-up failed
ERROR: block code look-up failed
ERROR: block code look-up failed
ERROR: block code look-up failed
ERROR: block code look-up failed
ERROR: block code look-up failed
ERROR: block code look-up failed
ERROR: block code look-up failed
ERROR: block code look-up failed
ERROR: block code look-up failed
ERROR: block code look-up failed
ERROR: block code look-up failed
[dca @ 008C22E0]Didn't get subframe DSYNC
Even if it crashed, the resulting (incomplete) file plays fine in VLC. Any idea ?
Kurtnoise
16th September 2007, 12:49
who said that DTS HD is supported by FFmpeg ?
damngod
16th September 2007, 15:17
Who said it was not ?
Kurtnoise
16th September 2007, 15:45
come on...what's the title of this thread ?
:helpful:
Jjeje007
22nd September 2007, 17:01
Hi,
I experience an really big desync audio-video while transcoding eac3 to aac LC 5.1 and vc1 to x264. (both in "raw" then muxing this mkvmerge)
I try every thing but no way :mad:
The craziest thing is the audio-video sync in the evo file is ok .... :devil:
Other thing, i encode 300 and every thing went well :eek:
I try also with ffmpeg but it's result on same desync
I really like to have an eac3 decoder "working" I upload an BIG sample (~ 392M) from Matrix reloaded (aka matrix 2) :
http://www.db-instable.org/samples/sample-matrix2.evo
So can someone get audio-video sync when encoding this with aac and x264 ??
Here is an new patch which compil fine against the latest svn mplayer :
http://www.db-instable.org/misc/eac3.patch
And here is the update ebuild :
http://www.db-instable.org/misc/mplayer_eac3_ebuild-v2.tar.gz
With this ebuild, you don't have to edit :
/usr/share/mplayer/codecs.conf
It's already done in the ebuild :)
Note : I'm running Gentoo GNU/Linux
Jjeje007
tebasuna51
23rd September 2007, 01:45
I try also with ffmpeg but it's result on same desync
I really like to have an eac3 decoder "working" I upload an BIG sample (~ 392M) from Matrix reloaded (aka matrix 2) : sample-matrix2.evo
So can someone get audio-video sync when encoding this with aac and x264 ??
Using ffmpeg and decoding the -map 0:7 (5.1 french) I get 46 errors like:
Error while decoding stream #0.7
[E-AC3 @ 00716B20]transient pre-noise processing NOT IMPLEMENTED
If original eac3 is 153.952 sec. the decoded wav is 153.216 sec. because there are 46 frames ignored (each frame 16 ms.)
Decoding the -map 0:8 (5.1 english) I get 35 errors then the decoded wav is 153.392 sec.
Jjeje007
23rd September 2007, 09:34
Using ffmpeg and decoding the -map 0:7 (5.1 french) I get 46 errors like:
Error while decoding stream #0.7
[E-AC3 @ 00716B20]transient pre-noise processing NOT IMPLEMENTED
If original eac3 is 153.952 sec. the decoded wav is 153.216 sec. because there are 46 frames ignored (each frame 16 ms.)
Decoding the -map 0:8 (5.1 english) I get 35 errors then the decoded wav is 153.392 sec.
Ok, so that's mean : i will never have audio-video sync until the decoder implement the "transient pre-noise processing" .... :mad:
Shakey_Jake33
23rd September 2007, 16:49
I've not been following the progress of E-AC3 decoding, so apologies if this has been covered, but if ffdshow handles the DD+ decoding, I assume this basically enables playback of HD-DVD's through mpc? (using the existing guides for configuration, but replacing Cinemaster with ffdshow). So you could then use ffdshow to trancode this into AC3 like many of us already do with our 5.1 AAC files?
I ask this because I've recently went over to coaxial on my PC, and it's excellent... except I have to switch back over to 5.1 analogue for 5.1 HD-DVD playback! (which is better between digitally-sent AC3 and analogue 5.1 is another debate, but for convenience, being able to send as AC3 is great).
mrcorbo
23rd September 2007, 17:07
I've not been following the progress of E-AC3 decoding, so apologies if this has been covered, but if ffdshow handles the DD+ decoding, I assume this basically enables playback of HD-DVD's through mpc? (using the existing guides for configuration, but replacing Cinemaster with ffdshow). So you could then use ffdshow to trancode this into AC3 like many of us already do with our 5.1 AAC files?
I ask this because I've recently went over to coaxial on my PC, and it's excellent... except I have to switch back over to 5.1 analogue for 5.1 HD-DVD playback! (which is better between digitally-sent AC3 and analogue 5.1 is another debate, but for convenience, being able to send as AC3 is great).
In Zoomplayer I follow the Cinemaster decoder in the filter chain with the ffdshow audio processor filter to turn the decoded 6 channels of raw PCM into AC3. Works fine.
I agree, though, that fully integrating this functionality into ffdshow would be preferable.
Jjeje007
23rd September 2007, 20:35
I've not been following the progress of E-AC3 decoding, so apologies if this has been covered, but if ffdshow handles the DD+ decoding, I assume this basically enables playback of HD-DVD's through mpc? (using the existing guides for configuration, but replacing Cinemaster with ffdshow). So you could then use ffdshow to trancode this into AC3 like many of us already do with our 5.1 AAC files?
I ask this because I've recently went over to coaxial on my PC, and it's excellent... except I have to switch back over to 5.1 analogue for 5.1 HD-DVD playback! (which is better between digitally-sent AC3 and analogue 5.1 is another debate, but for convenience, being able to send as AC3 is great).
If you were speaking to me :
I'm an linux user, and i haven't got Windows so ....
tebasuna51
24th September 2007, 14:44
If anybody want use this custom ffmpeg_evo (http://www.mytempdir.com/2027279) to decode ac3/evo files, have:
- Correct channel mapping output
- Dialog Normalization attenuation disabled
- Dynamic Range Compression disabled
- Frames with "transient pre-noise processing" accepted (1)
- STDOUT accepted by NeroAacEnc and Flac 1.2.1
- The output is still 16 bit int (TODO 32 float, decoder native precision)
- Standard ac3 decodes are also supported with the precedent features.
(1) The message:
[E-AC3 @ 00716B20]transient pre-noise processing NOT IMPLEMENTED
are still send but the frame is not rejected and decoded normally.
I don't see artifacts decoding these frames normally and the sync is preserved.
Samples of command line to use:
ffmpeg_evo -map 0:7 -i Sample.evo -vn -acodec pcm_s16le -ac 6 -f wav Sample.wav
ffmpeg_evo -map 0:7 -i Sample.evo -vn -acodec pcm_s16le -ac 6 -f wav - | flac - -o Sample.flac --channel-map=none --ignore-chunk-sizes
ffmpeg_evo -map 0:7 -i Sample.evo -vn -acodec pcm_s16le -ac 6 -f wav - | aften -b 448 -readtoeof 1 -pad 0 - Sample.ac3
ffmpeg_evo -map 0:7 -i Sample.evo -vn -acodec pcm_s16le -ac 6 -f wav - | neroaacenc -q 0.5 -ignorelength -if - -of Sample.mp4
ffmpeg_evo -map 0:7 -i Sample.evo -vn -acodec pcm_s16le -ac 6 -f wav - | enc_aacPlus - Sample.aac --cbr 256000
Kurtnoise
24th September 2007, 20:44
Thanks but what's the main goal to transcode a lossy to a lossless stream (E-AC3 to FLAC) ?
Jjeje007
24th September 2007, 22:58
If anybody want use this custom ffmpeg_evo (http://www.mytempdir.com/2026509) to decode ac3/evo files, have:
- Correct channel mapping output
- Dialog Normalization attenuation disabled
- Dynamic Range Compression disabled
- Frames with "transient pre-noise processing" accepted (1)
- STDOUT accepted by NeroAacEnc and Flac 1.2.1
- The output is still 16 bit int (TODO 32 float, decoder native precision)
- Standard ac3 decodes are also supported with the precedent features.
(1) The message:
[E-AC3 @ 00716B20]transient pre-noise processing NOT IMPLEMENTED
are still send but the frame is not rejected and decoded normally.
I don't see artifacts decoding these frames normally and the sync is preserved.
Samples of command line to use:
ffmpeg_evo -map 0:7 -i Sample.evo -vn -acodec pcm_s16le -ac 6 -f wav Sample.wav
ffmpeg_evo -map 0:7 -i Sample.evo -vn -acodec pcm_s16le -ac 6 -f wav - | flac - -o Sample.flac --channel-map=none --ignore-chunk-sizes
ffmpeg_evo -map 0:7 -i Sample.evo -vn -acodec pcm_s16le -ac 6 -f wav - | aften -b 448 -readtoeof 1 -pad 0 - Sample.ac3
ffmpeg_evo -map 0:7 -i Sample.evo -vn -acodec pcm_s16le -ac 6 -f wav - | neroaacenc -q 0.5 -ignorelength -if - -of Sample.mp4
ffmpeg_evo -map 0:7 -i Sample.evo -vn -acodec pcm_s16le -ac 6 -f wav - | enc_aacPlus - Sample.aac --cbr 256000
Can you please, give us (me) the patch you used to build this ?
Should be very usefull for the linux users :rolleyes:
Jjeje007
tebasuna51
24th September 2007, 23:31
Thanks but what's the main goal to transcode a lossy to a lossless stream (E-AC3 to FLAC) ?
Yes, maybe I was thinking also in TrueHD :)
BTW, eac3 can reach 3 Mb/s and for a 6 channel 48 KHz (1.3 bytes per sample) have the same ratio compression than Flac 16 bits (65% is 1.3 bytes per sample, in average).
Of course always we need transcode a stream is because the original format can't be played in a specific environment or we need reduce the stream size losing quality. If only the first reason is present, we can preserve the original quality forever using a lossless format.
tebasuna51
25th September 2007, 01:05
Can you please, give us (me) the patch you used to build this ?
Should be very usefull for the linux users
Sorry, I'm newbie in patching system used with svn, but the:
- Correct channel mapping output
- Dialog Normalization attenuation disabled
- Dynamic Range Compression disabled
are explained in post http://forum.doom9.org/showthread.php?p=1043590#post1043590
- Standard ac3 decodes are also supported with the precedent features.
Is only apply the same changes to ac3dec.c instead eac3.dec
- STDOUT accepted by NeroAacEnc and Flac 1.2.1
Explained in post http://forum.doom9.org/showthread.php?p=1043284#post1043284
- Frames with "transient pre-noise processing" accepted
Is the new change, really simple, in eac3dec.c at line 369 coment 3 lines:
/* Audio frame transient pre-noise processing data */
if(s->transproce){
av_log(s->avctx, AV_LOG_ERROR, "transient pre-noise processing NOT IMPLEMENTED\n");
// return -1;
//#if 0
for(ch = 1; ch <= s->nfchans; ch++){
GET_BITS(s->chintransproc[ch], gbc, 1);
if(s->chintransproc[ch]){
GET_BITS(s->transprocloc[ch], gbc, 10);
GET_BITS(s->transproclen[ch], gbc, 8);
}
}
//#endif
}
madshi
25th September 2007, 08:42
Yes, maybe I was thinking also in TrueHD :)
BTW, eac3 can reach 3 Mb/s and for a 6 channel 48 KHz (1.3 bytes per sample) have the same ratio compression than Flac 16 bits (65% is 1.3 bytes per sample, in average).
Of course always we need transcode a stream is because the original format can't be played in a specific environment or we need reduce the stream size losing quality. If only the first reason is present, we can preserve the original quality forever using a lossless format.
Agreed. The only problem with the concept of reencoding lossy tracks to lossless compression is that lossy tracks usually decode to 24bit. So if you want to keep the full decoded data, the lossless file will become very big. Probably it would make sense to dither those 24bit down to 20bit to keep file sizes acceptable. According to the Industry Insiders Thread (AVSForum) dithering down to 20bit shouldn't really harm the audio quality because the 4 LSBs are usually only noise, anyway.
Funnily 16bit FLAC is comparable in file size to 1,5Mbps E-AC3/DTS. So for 16bit audio tracks I see no sense in using lossy compression. However, as soon as you go above 16bit, lossless compression loses efficiency.
Kurtnoise
25th September 2007, 10:13
@tebasuna: use TortoiseSVN...very easy to create patches with it (just right click on the folder where you have saved your work. Then, [TortoiseSVN -> Create Patch...]
and btw, FFmpeg has his own FLAC encoder...
tebasuna51
25th September 2007, 13:41
A new ffmpeg_evo (http://www.mytempdir.com/2027279), to solve a bug decoding ac3 stereo and add the correct channel mapping to the internal ac3 encoder:
- Internal ac3 encoder support standard ordered wav (or decoded ac3/evo)
Command line samples:
ffmpeg_evo -map 0:7 -i Sample.evo -vn -acodec ac3 -ab 448k -ac 6 Sample.ac3
ffmpeg_evo -i Standard.wav -vn -acodec ac3 -ab 448k -ac 6 Sample.ac3
Source changes inside the txt included.
Jjeje007
26th September 2007, 18:17
Source changes inside the txt included.
Thanks !
Here is the patch for mplayer (apply and compile ok, tested today) :
http://www.db-instable.org/misc/eac3v2.patch
I included all your mod, tebasuna51
Jjeje007
tribble222
5th October 2007, 11:34
Here is the patch for mplayer (apply and compile ok, tested today) :
Thanks for putting it together!
Inventive Software
5th October 2007, 20:05
Remind me.... ffmpeg uses libavcodec for its AC-3 decoding, correct? Is this not based on liba52 within the source? It's been a while since I last checked the source of libavcodec (0.49-pre1 to be exact, yonks in codec development). So in theory, how easy is it to add the eac3 patch to pure liba52 code?
sl1pkn07
6th October 2007, 00:46
SNV 24712
sl1pkn07@SpinFlo:~/aplicaciones/mplayer-svn$ patch -p0 < eac3v2.patch
patching file libavcodec/ac3.c
Reversed (or previously applied) patch detected! Assume -R? [n] y
patching file libavcodec/ac3.h
patching file libavcodec/ac3dec.c
Hunk #1 FAILED at 37.
Hunk #2 FAILED at 66.
Hunk #3 FAILED at 110.
Hunk #4 FAILED at 187.
Hunk #5 FAILED at 222.
Hunk #6 FAILED at 230.
Hunk #7 FAILED at 294.
Hunk #8 FAILED at 368.
Hunk #9 FAILED at 419.
Hunk #10 FAILED at 430.
Hunk #11 FAILED at 471.
Hunk #12 FAILED at 501.
Hunk #13 FAILED at 584.
Hunk #14 FAILED at 623.
Hunk #15 FAILED at 645.
Hunk #16 FAILED at 700.
Hunk #17 FAILED at 721.
Hunk #18 FAILED at 775.
Hunk #19 FAILED at 837.
Hunk #20 FAILED at 909.
Hunk #21 FAILED at 918.
Hunk #22 FAILED at 998.
Hunk #23 FAILED at 1019.
Hunk #24 FAILED at 1036.
Hunk #25 FAILED at 1058.
Hunk #26 FAILED at 1099.
26 out of 26 hunks FAILED -- saving rejects to file libavcodec/ac3dec.c.rej
patching file libavcodec/ac3dec.h
patching file libavcodec/ac3tab.c
patching file libavcodec/ac3tab.h
patching file libavcodec/eac3dec.c
patching file libavcodec/eac3.h
patching file libavcodec/aac_ac3_parser.c
Hunk #2 succeeded at 59 with fuzz 1.
patching file libavcodec/aac_ac3_parser.h
patching file libavcodec/aac_parser.c
patching file libavcodec/ac3_parser.c
patching file libavcodec/allcodecs.c
Reversed (or previously applied) patch detected! Assume -R? [n] y
Hunk #1 succeeded at 179 (offset 7 lines).
Hunk #2 succeeded at 274 (offset 8 lines).
patching file libavcodec/avcodec.h
Reversed (or previously applied) patch detected! Assume -R? [n] y
Hunk #1 succeeded at 261 with fuzz 1 (offset 3 lines).
patching file libavcodec/Makefile
Hunk #1 succeeded at 65 (offset 2 lines).
patching file libavcodec/ac3enc.c
Reversed (or previously applied) patch detected! Assume -R? [n] y
patching file libavformat/wav.c
Reversed (or previously applied) patch detected! Assume -R? [n] y
sl1pkn07@SpinFlo:~/aplicaciones/mplayer-svn
is normal? (svn update on 06-10-07 01:45)
Jjeje007
6th October 2007, 11:22
is normal? (svn update on 06-10-07 01:45)
No, the patch apply fine :
Actualisé à la révision 24712.
cat eac3v2.patch | patch -p0 --dry-run
patching file libavcodec/ac3.c
patching file libavcodec/ac3.h
patching file libavcodec/ac3dec.c
patching file libavcodec/ac3dec.h
patching file libavcodec/ac3tab.c
patching file libavcodec/ac3tab.h
patching file libavcodec/eac3dec.c
patching file libavcodec/eac3.h
patching file libavcodec/aac_ac3_parser.c
Hunk #2 succeeded at 59 with fuzz 1.
patching file libavcodec/aac_ac3_parser.h
patching file libavcodec/aac_parser.c
patching file libavcodec/ac3_parser.c
patching file libavcodec/allcodecs.c
Hunk #1 succeeded at 179 (offset 7 lines).
Hunk #2 succeeded at 275 (offset 8 lines).
patching file libavcodec/avcodec.h
Hunk #1 succeeded at 261 (offset 3 lines).
patching file libavcodec/Makefile
Hunk #1 succeeded at 65 (offset 2 lines).
patching file libavcodec/ac3enc.c
patching file libavformat/wav.c
Just try with my command :
cat eac3v2.patch | patch -p0 --dry-run
And always, always try first with --dry-run option :p
Jjeje007
sl1pkn07
6th October 2007, 16:29
remove libavcodec folder and run svn update
the patch file works
thanks
Mc Onyx
7th October 2007, 19:58
So if libavcodec can be updated with the E-AC3 patch, why doesn't somebody make a ffdshow build with E-AC3 decoding?
Kurtnoise
8th October 2007, 09:16
please, post your ffdshow request in the right place...
Mc Onyx
8th October 2007, 17:56
please, post your ffdshow request in the right place...
yep, sorry. :o
ThaFresh
12th October 2007, 18:26
I'm a little confused why everyone seems to be playing around with nero directshow filters still when this appears to decode e-ac3 100%, am I missing something?
madshi
13th October 2007, 08:20
I'm a little confused why everyone seems to be playing around with nero directshow filters still when this appears to decode e-ac3 100%, am I missing something?
Three reasons:
(1) This open source code is brand new, while the Nero DirectShow filter has been around for quite a while.
(2) There's no DirectShow filter yet based on this code.
(3) The Nero decoder is using Dolby's reference code. I'm not sure what that means practically. Maybe decoding quality could be ever so slightly higher in quality? Or maybe not. But at least the Dolby reference code should be very stable/reliable.
This open source E-AC3 decoder is greatly welcome, in any case. And I think everybody who "plays around" with Nero's decoder will sooner or later also (or instead) make use of this new open source decoder. It might just take a while.
qubic
14th October 2007, 10:44
Hi
I've patched and installed mplayer and get this problem (on linux):
if I run this:
mplayer -demuxer lavf -fps 30000/1001 -ac ffeac3 FEATURE_1.EVO
I get this:
--snip--
Forced audio codec: ffeac3
Cannot find codec for audio format 0x2000.
--snip--
I then update the codec.conf. format from 0x0 to 0x2000
then I get this:
--snip--
Forced audio codec: ffeac3
Opening audio decoder: [ffmpeg] FFmpeg/libavcodec audio decoders
dec_audio: Allocating 192000 + 65536 = 257536 bytes for output buffer.
FFmpeg's libavcodec audio codec
Cannot find codec 'E-AC3' in libavcodec...
ADecoder init failed :(
ADecoder init failed :(
Cannot find codec for audio format 0x2000.
--snip--
Does anyone see what I'm doing wrong?
UPDATE::
I get this, after "./configure"
--snip--
Enabled optional drivers:
Input: ftp pvr tv-teletext tv-v4l2 tv-v4l tv libdvdcss(internal) dvdread(internal) vcd dvb network
Codecs: libavcodec real xanim faad2 libmpeg2 liba52 mp3lib tremor(internal) gif
Audio output: alsa esd oss v4l2 sdl mpegpes(dvb)
Video output: v4l2 sdl gif89a pnm jpeg png mpegpes(dvb) fbdev xvidix cvidix opengl dga xv x11 xover md5sum tga
Audio filters:
Disabled optional drivers:
Input: dvdnav vstream radio tv-dshow live555 nemesi cddb cdda smb
Codecs: x264 xvid libdv libamr_wb libamr_nb qtx win32 faac musepack libdca libtheora speex toolame twolame libmad liblzo
Audio output: sun openal jack polyp arts ivtv dxr2 nas
Video output: ivtv dxr3 dxr2 vesa zr zr2 svga caca aa ggi xmga mga winvidix 3dfx xvmc dfbmga directfb bl xvr100 tdfx_vid s3fb tdfxfb
Audio filters: ladspa
--snip--
should eac3 be among them? And if I try to do "--disable-liba52", I get a compile error?!
regards qubic
UPDATE: MPlayer dev-SVN-r24775-4.1.2
Jjeje007
17th October 2007, 17:44
Hi,
"Normaly" you don't have to enable something specific, since this is a part of libavcodec and mplayer will "make all" in libavcodec.
I don't have to disable liba52 to get eac3 decoder to work
I then update the codec.conf. format from 0x0 to 0x2000
This is NOT good, here is the stuff you have to add in 'codec.conf' :
audiocodec ffeac3
info "FFmpeg EAC3"
status buggy
format 0x0
driver ffmpeg
dll "E-AC3"
:: Edit ::
To see if you have ffeac3 "enable", just try this command :
mplayer -ac help | grep ffeac3
And you should see this :
ffeac3 ffmpeg problems FFmpeg EAC3 [E-AC3]
Jjeje007
qubic
17th October 2007, 22:19
thanks Jjeje007.
it is enabled. Got the same output.
regards qub
whurlston
22nd October 2007, 17:41
Thanks !
Here is the patch for mplayer (apply and compile ok, tested today) :
http://www.db-instable.org/misc/eac3v2.patch
I included all your mod, tebasuna51
Jjeje007Has anyone compiled a Windows mplayer with this patch?
Coolpplse
26th October 2007, 01:29
Funnily 16bit FLAC is comparable in file size to 1,5Mbps E-AC3/DTS. So for 16bit audio tracks I see no sense in using lossy compression. However, as soon as you go above 16bit, lossless compression loses efficiency.
This is most likely why many people in the industry call 1536kbps EAC3 and DTS as being perceptually lossless as even lossless audio falls into these rates...
madshi
26th October 2007, 08:41
This is most likely why many people in the industry call 1536kbps EAC3 and DTS as being perceptually lossless as even lossless audio falls into these rates...
Yep. I shouldn't come as a shock to see a lossy codec get near to lossless quality if bitrates are identical... :) That said, 24bit lossless tracks have about 2x higher bitrate.
qubic
12th November 2007, 20:46
Hi
Any new patch for v. 25030?
I get this error:
Hunk #1 FAILED at 269.
1 out of 1 hunk FAILED -- saving rejects to file libavcodec/avcodec.h.rej
regards qub
qubic
12th November 2007, 20:48
Anyone has a link to a movie clip, with EAC3 sound?
regards qub
TomZ
13th November 2007, 16:22
http://www.db-instable.org/samples/sample-matrix2.evo
Jjeje007
14th November 2007, 23:47
Hi,
Hi
Any new patch for v. 25030?
I get this error:
Hunk #1 FAILED at 269.
1 out of 1 hunk FAILED -- saving rejects to file libavcodec/avcodec.h.rej
regards qub
Apply ok with rev 25053 :
cat eac3v2.patch | patch -p0 --dry-run
patching file libavcodec/ac3.c
patching file libavcodec/ac3.h
patching file libavcodec/ac3dec.c
patching file libavcodec/ac3dec.h
patching file libavcodec/ac3tab.c
patching file libavcodec/ac3tab.h
Hunk #2 succeeded at 40 with fuzz 2.
patching file libavcodec/eac3dec.c
patching file libavcodec/eac3.h
patching file libavcodec/aac_ac3_parser.c
Hunk #1 succeeded at 50 with fuzz 2 (offset 2 lines).
Hunk #2 succeeded at 61 with fuzz 1 (offset 2 lines).
patching file libavcodec/aac_ac3_parser.h
patching file libavcodec/aac_parser.c
patching file libavcodec/ac3_parser.c
Hunk #3 succeeded at 159 (offset 3 lines).
patching file libavcodec/allcodecs.c
Hunk #1 succeeded at 178 with fuzz 1 (offset 6 lines).
Hunk #2 succeeded at 285 (offset 18 lines).
patching file libavcodec/avcodec.h
Hunk #1 succeeded at 268 (offset 10 lines).
patching file libavcodec/Makefile
Hunk #1 succeeded at 67 (offset 4 lines).
patching file libavcodec/ac3enc.c
patching file libavformat/wav.c
patch 2.5.9 :rolleyes:
Jjeje007
qubic
17th November 2007, 00:13
thanks. It was the eac3/mlp patch that did not work.
I took the matrix sample, and see what happends:
[root@dhcppc0 mplayer]# mplayer -demuxer lavf -fps 30000/1001 -ac ffeac3 -vid 1 -aid 2 ../Desktop/sample-matrix2.evo
MPlayer dev-SVN-r25059-4.1.2 (C) 2000-2007 MPlayer Team
CPU: AMD Sempron(tm) Processor 3400+ (Family: 15, Model: 44, Stepping: 2)
CPUflags: MMX: 1 MMX2: 1 3DNow: 1 3DNow2: 1 SSE: 1 SSE2: 1
Compiled for x86 CPU with extensions: MMX MMX2 3DNow 3DNowEx SSE SSE2
116 audio & 237 video codecs
Playing ../Desktop/sample-matrix2.evo.
libavformat file format detected.
[lavf] Video stream found, -vid 0
[lavf] Video stream found, -vid 1
[lavf] Audio stream found, -aid 2
[lavf] Audio stream found, -aid 3
[lavf] Audio stream found, -aid 4
[lavf] Audio stream found, -aid 5
[lavf] Audio stream found, -aid 6
[lavf] Audio stream found, -aid 7
[lavf] Audio stream found, -aid 8
VIDEO: [WVC1] 720x480 0bpp 29.970 fps 0.0 kbps ( 0.0 kbyte/s)
==========================================================================
Requested video codec family [wmvvc1dmo] (vfm=dmo) not available.
Enable it at compilation.
Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family
Selected video codec: [ffvc1] vfm: ffmpeg (FFmpeg M$ WVC1)
==========================================================================
==========================================================================
Forced audio codec: ffeac3
Cannot find codec for audio format 0x2000.
Read DOCS/HTML/en/codecs.html!
Audio: no sound
FPS forced to be 29.970 (ftime: 0.033).
Starting playback...
VDec: vo config request - 720 x 480 (preferred colorspace: Planar YV12)
VDec: using Planar YV12 as output csp (no 0)
Movie-Aspect is 1.36:1 - prescaling to correct movie aspect.
VO: [xv] 720x480 => 720x528 Planar YV12
No bind found for key 'c'.
V: 11.4 341/341 15% 5% 0.0% 0 0
MPlayer interrupted by signal 2 in module: sleep_timer
[root@dhcppc0 mplayer]# mplayer -demuxer lavf -fps 30000/1001 -ac ffeac3 -vid 1 -aid 6 ../Desktop/sample-matrix2.evo
MPlayer dev-SVN-r25059-4.1.2 (C) 2000-2007 MPlayer Team
CPU: AMD Sempron(tm) Processor 3400+ (Family: 15, Model: 44, Stepping: 2)
CPUflags: MMX: 1 MMX2: 1 3DNow: 1 3DNow2: 1 SSE: 1 SSE2: 1
Compiled for x86 CPU with extensions: MMX MMX2 3DNow 3DNowEx SSE SSE2
116 audio & 237 video codecs
Playing ../Desktop/sample-matrix2.evo.
libavformat file format detected.
[lavf] Video stream found, -vid 0
[lavf] Video stream found, -vid 1
[lavf] Audio stream found, -aid 2
[lavf] Audio stream found, -aid 3
[lavf] Audio stream found, -aid 4
[lavf] Audio stream found, -aid 5
[lavf] Audio stream found, -aid 6
[lavf] Audio stream found, -aid 7
[lavf] Audio stream found, -aid 8
VIDEO: [WVC1] 720x480 0bpp 29.970 fps 0.0 kbps ( 0.0 kbyte/s)
==========================================================================
Requested video codec family [wmvvc1dmo] (vfm=dmo) not available.
Enable it at compilation.
Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family
Selected video codec: [ffvc1] vfm: ffmpeg (FFmpeg M$ WVC1)
==========================================================================
==========================================================================
Forced audio codec: ffeac3
Opening audio decoder: [ffmpeg] FFmpeg/libavcodec audio decoders
Cannot find codec 'E-AC3' in libavcodec...
ADecoder init failed :(
ADecoder init failed :(
Cannot find codec for audio format 0x0.
Read DOCS/HTML/en/codecs.html!
Audio: no sound
FPS forced to be 29.970 (ftime: 0.033).
Starting playback...
VDec: vo config request - 720 x 480 (preferred colorspace: Planar YV12)
VDec: using Planar YV12 as output csp (no 0)
Movie-Aspect is 1.36:1 - prescaling to correct movie aspect.
VO: [xv] 720x480 => 720x528 Planar YV12
V: 9.1 277/277 18% 6% 0.0% 0 0
Exiting... (Quit)
[root@dhcppc0 mplayer]#
why 2 different error messages?
regards qub
sl1pkn07
22nd November 2007, 23:39
same audio error
and:
sl1pkn07@SpinFlo:~/Desktop$ mplayer -demuxer lavf -fps 30000/1001 -ac ffeac3 -vid 1 -aid 3 sample-matrix2.evo
........
[E-AC3 @ 0xf04420]transient pre-noise processing NOT IMPLEMENTED 0
.......
same on audio track 4,
i'm supossed this is normal, Really?
Jjeje007
23rd November 2007, 17:23
Hi,
same audio error
and:
sl1pkn07@SpinFlo:~/Desktop$ mplayer -demuxer lavf -fps 30000/1001 -ac ffeac3 -vid 1 -aid 3 sample-matrix2.evo
........
[E-AC3 @ 0xf04420]transient pre-noise processing NOT IMPLEMENTED 0
.......
same on audio track 4,
i'm supossed this is normal, Really?
You can just skip this, the frame is decoded, don't worry
Jjeje007
tebasuna51
23rd November 2007, 18:49
same audio error
and:
sl1pkn07@SpinFlo:~/Desktop$ mplayer -demuxer lavf -fps 30000/1001 -ac ffeac3 -vid 1 -aid 3 sample-matrix2.evo
........
[E-AC3 @ 0xf04420]transient pre-noise processing NOT IMPLEMENTED 0
.......
same on audio track 4,
i'm supossed this is normal, Really?
These frames aren't supported by the free decoder, I make a patch to be decoded like normal ones (http://forum.doom9.org/showthread.php?p=1048138#post1048138) to preserve the sync, but the message is send to remember than this is a unfinished decoder.
Blue_MiSfit
23rd November 2007, 20:54
Is it possible to use elementary streams as a source? For example, a DDP file demuxed from an EVO?
I only ask because it's troublesome to take two EVOs and join them before processing.
It would be very nice if this could be a free replacement for eac3to's reliance on Nero's payware DirectShow filters.
~MiSfit
vBulletin® v3.8.11, Copyright ©2000-2025, vBulletin Solutions Inc.