View Full Version : FFDShow and 32bit Float.
leeperry
20th December 2010, 20:57
it automatically selects 32fp when using liba52/libdts because that's their native output format.
leeperry
20th December 2010, 23:04
BTW, I've often read ppl saying that the AC3/DTS decoders in ffdshow sounded too flat compared to AC3Filter...I've run many tests, and so did a friend of mine...we came to the conclusion that AC3Filter does some hidden loudness maximizing/DRC. It's very obvious when comparing DTS and FLAC(using madFlac) :devil:
The author even wrote a PDF about it: loudness_eng.pdf (http://ac3filter.net/files/docs/ac3filter_1_30b/loudness_eng.pdf)
It's based on libdts, and when running A/B comparisons against libdts in ffdshow the sound is far more punchy and less dynamic. It's very impressive for a day or two(especially on headphones), but then it gets odd IMHO. And I highly doubt that it does genuine 32int AC3/DTS, more like 32fp>32int. Libavcodec's DTS in 32fp(using madshi's patch) sounds great anyway, and so does liba52.
tetsuo55
21st December 2010, 10:23
It kind-off looks like a realtime replaygain from skimming through it.
Its probably best to (from now on), provide waveform comparisons for all the claims of better/lower quality.
kieranrk
21st December 2010, 14:15
Its probably best to (from now on), provide waveform comparisons for all the claims of better/lower quality.
Waveform comparisons are meaningless.
leeperry
21st December 2010, 15:38
ok, I've created a 24/48 -0.1dB 1kHz sinewave test tone, then encoded it to AC3 w/ eac3to. All the files are available here (http://www.mediafire.com/?8td4t5yfwt93903).
clearly liba52 is attenuated by -3dB(0.5bit) in ffdshow(using the latest SVN): http://thumbnails26.imagebam.com/11190/2ea21d111890461.jpg (http://www.imagebam.com/image/2ea21d111890461) http://thumbnails29.imagebam.com/11190/67c431111890470.jpg (http://www.imagebam.com/image/67c431111890470) http://thumbnails28.imagebam.com/11190/60b6f7111890475.jpg (http://www.imagebam.com/image/60b6f7111890475)
leeperry
21st December 2010, 18:49
now for the DTS test, files available here (http://www.mediafire.com/?pclx43codbtu710).
Kazuya used the Surcode encoder and couldn't get it to encode to stereo w/ eac3to, but anyway I've set a custom mixing matrix in ffdshow to only use the stereo front channels w/ a 1.0 coeff(in 32int).
I've compared AC3Filter and ffdshow using libdts/16int libavcodec/32fp libavcodec:
http://thumbnails26.imagebam.com/11192/1f7c36111911741.jpg (http://www.imagebam.com/image/1f7c36111911741)http://thumbnails31.imagebam.com/11192/6fc9a6111911744.jpg (http://www.imagebam.com/image/6fc9a6111911744)http://thumbnails26.imagebam.com/11192/0e83f8111911751.jpg (http://www.imagebam.com/image/0e83f8111911751)http://thumbnails36.imagebam.com/11192/4d3728111911754.jpg (http://www.imagebam.com/image/4d3728111911754)
AC3Filter clips to death :devil:
Here are my AC3F settings:
http://thumbnails25.imagebam.com/11192/bf0010111912206.jpg (http://www.imagebam.com/image/bf0010111912206)http://thumbnails30.imagebam.com/11192/1dd6d0111912212.jpg (http://www.imagebam.com/image/1dd6d0111912212)http://thumbnails37.imagebam.com/11192/de6635111912223.jpg (http://www.imagebam.com/image/de6635111912223)
http://thumbnails32.imagebam.com/11192/104e3c111912227.jpg (http://www.imagebam.com/image/104e3c111912227)http://thumbnails24.imagebam.com/11192/d34171111912237.jpg (http://www.imagebam.com/image/d34171111912237)http://thumbnails24.imagebam.com/11192/dfbe97111912253.jpg (http://www.imagebam.com/image/dfbe97111912253)
leeperry
21st December 2010, 19:30
ok, running more tests on a 5.1 DTS movie sample (http://www.mediafire.com/?dbm1mz5qeluyj7s), processed in 32int in ffdshow(96kHz libavcodec upsampling > 0.46 attenuation > stereo custom downmix matrix).
comparing AC3F(32fp)/libdts(32fp)/libavcodec(32fp):
http://thumbnails29.imagebam.com/11192/cf323c111917603.jpg (http://www.imagebam.com/image/cf323c111917603)http://thumbnails35.imagebam.com/11192/f97cde111917585.jpg (http://www.imagebam.com/image/f97cde111917585)http://thumbnails25.imagebam.com/11192/e0de8b111917597.jpg (http://www.imagebam.com/image/e0de8b111917597)
AC3F does a +3dB amplification, and I had it all set to "1.0" coeff in its GUI.
The loudness curves are identical...still ACFilter will clip anything that's louder than -3dB :devil: :
http://thumbnails34.imagebam.com/11192/666e95111917094.jpg (http://www.imagebam.com/image/666e95111917094)http://thumbnails33.imagebam.com/11192/447710111917097.jpg (http://www.imagebam.com/image/447710111917097)http://thumbnails30.imagebam.com/11192/6f27f5111917102.jpg (http://www.imagebam.com/image/6f27f5111917102)
leeperry
21st December 2010, 20:24
OK, so that's my -0.1dB AC3 sample in AC3Filter alone(no ffdshow):
http://thumbnails29.imagebam.com/11193/08a614111925011.jpg (http://www.imagebam.com/image/08a614111925011)http://thumbnails34.imagebam.com/11193/3c6e01111925018.jpg (http://www.imagebam.com/image/3c6e01111925018)http://thumbnails28.imagebam.com/11193/668d12111925022.jpg (http://www.imagebam.com/image/668d12111925022)
and now for the -0.1dB DTS file in AC3Filter(no ffdshow): http://thumbnails4.imagebam.com/11193/5c8599111925293.jpg (http://www.imagebam.com/image/5c8599111925293)http://thumbnails23.imagebam.com/11193/b9e550111925304.jpg (http://www.imagebam.com/image/b9e550111925304)http://thumbnails34.imagebam.com/11193/fef92d111925318.jpg (http://www.imagebam.com/image/fef92d111925318)http://thumbnails35.imagebam.com/11193/581efc111925325.jpg (http://www.imagebam.com/image/581efc111925325)
so basically AC3Filter amplifies DTS by +3dB, this is clearly not acceptable and will lead to clipping on loud sequences.
It would be nice if someone could fix the bogus -3dB attenuation done on liba52 in ffdshow ;)
leeperry
21st December 2010, 21:13
Been doing more tests w/ the 32int winamp2 DSP plugin ffdshow patch: http://thumbnails24.imagebam.com/11194/fe4402111930259.jpg (http://www.imagebam.com/image/fe4402111930259)
I've got it all checked in the ffdshow output options: http://thumbnails36.imagebam.com/11194/1a00dd111930263.jpg (http://www.imagebam.com/image/1a00dd111930263)
Reclock does see 32int: http://thumbnails29.imagebam.com/11194/5e3e70111930269.jpg (http://www.imagebam.com/image/5e3e70111930269)
On a -0.1dB test tone, Wavelab's bit-meter confirms that indeed 24bit are in use: http://thumbnails29.imagebam.com/11194/1cd6f7111931297.jpg (http://www.imagebam.com/image/1cd6f7111931297)
and so does Ozone4's bit-meter: http://thumbnails35.imagebam.com/11194/c4d473111933863.jpg (http://www.imagebam.com/image/c4d473111933863) http://thumbnails28.imagebam.com/11194/ce8eef111933869.jpg (http://www.imagebam.com/image/ce8eef111933869)
It would have been nice to go 32fp in order to avoid several useless int>fp conversions, but the official winamp2 DSP plugin SDK only supports 16int..it can be hacked to 32int, but 32fp isn't possible(both Vincent Burel & sansnom05 have confirmed it). Anyway, it's still a far cry from the nasty roundings you get w/ 16int :devil:
There isn't that many plugins that support 32int(most remain silent, as only 16int is officially supported), but the most important ones do work perfectly fine(you can always whine to your favorite plugin coder to have him accept BPS32 input on top of BPS16):
-Christian Budde's VST plugin wrapper (http://www.savioursofsoul.de/Christian/programs/winamp/)
-Vincent Burel's FFX-4 (http://vb-audio.pagesperso-orange.fr/us/products/dxrack/dxrack.htm)(DX plugin wrapper)
-OzoneMP (http://www.google.com/url?q=http://www.winamp.com/plugin/izotope-ozone/79374&sa=U&ei=QAcRTb_BEcek8QOow7SEBw&ved=0CAwQFjAA&usg=AFQjCNFD7v4EJSoPZLqmO-CUygpW8ZWhvA)
Hopefully, sansnom05 will be kind enough to commit this patch soon http://forum-images.hardware.fr/images/perso/otakonleboss.gif
tetsuo55
22nd December 2010, 10:54
Hey Leeperry, i can confiirm the liba52 -3DB problem, but i do not seem to notice it with mpc-hc's internal AC3 decoder (which is also liba52), can you check for me?
leeperry
22nd December 2010, 19:17
so I've used the standalone MPC audio decoder from this package (http://www.xvidvideo.ru/component/docman/doc_download/5010-standalonefilters-142797x86-msvc2008.html), and set it to 32int.
liba52 is not attenuated like in ffdshow: http://thumbnails30.imagebam.com/11206/6c3a16112053980.jpg (http://www.imagebam.com/image/6c3a16112053980)
24bit are in use: http://thumbnails26.imagebam.com/11206/d98152112053985.jpg (http://www.imagebam.com/image/d98152112053985)
but MPC's DTS decoder is attenuated by -0.5dB(unlike ffdshow): http://thumbnails30.imagebam.com/11206/529db6112053994.jpg (http://www.imagebam.com/image/529db6112053994)
24bit are also in use, though: http://thumbnails30.imagebam.com/11206/1075e0112054002.jpg (http://www.imagebam.com/image/1075e0112054002)
leeperry
22nd December 2010, 20:35
apparently the liba52 -3dB attenuation in ffdshow doesn't occur on all channels, meaning that it will also temper w/ custom mixing matrixes and standalone receivers calibration. Some channels will be dimmer than when using DTS/FLAC.
I'll have to make a -0.1dB 7.1 test tone in eac3to and check the level of each and every channel in AC3/DTS/FLAC...that would explain why the same stereo downmixing matrix doesn't give me the same results on AC3 and DTS/FLAC.
clsid
22nd December 2010, 21:31
Does it only happen with liba52? Or also with libavcodec/libdts? Does it also occur when the Mixer is disabled?
leeperry
22nd December 2010, 22:13
I had the mixer disabled on that stereo AC3 file, liba52 > 32int, nothing more...and it was -3dB attenuated as you can see.
I will run more tests w/ a -0.1dB 7.1 test tone using madFlac/liba52 and 32fp libavcodec DTS. These are my 3 favorite decoders, I will have to calibrate them using the ffdshow volume filter to make them all output -0.1dB on all channels. There's no point in calibrating your speakers/headphones stereo downmix matrix if decoders aren't outputting the right levels in the first place.
leeperry
22nd December 2010, 23:11
ok, I just made the -0.1dB 7.1 test tone (http://www.mediafire.com/?cuin8rgcxf4y3ug) in dBpoweramp: http://thumbnails33.imagebam.com/11209/0278ec112081402.jpg (http://www.imagebam.com/image/0278ec112081402)http://thumbnails35.imagebam.com/11209/651e12112081396.jpg (http://www.imagebam.com/image/651e12112081396)
more results tomorrow. I'll prolly have to revert to 5.1 for AC3(eac3to can't encode to 7.1) and libavcodec/libdts might not support 7.1 either.
leeperry
23rd December 2010, 01:02
tests I plan on conducting:
-checking whether the ffdshow built-in FLAC decoder is limited to 16int..urban legend? reality?
-checking if all channels output as -0.1dB w/:
-7.1 FLAC: ffdshow built-in decoder, madFlac
-5.1 AC3: ffdshow built-in 32fp liba52/32fp libavcodec(the coeffs seem wrong)/16int libavcodec, MPC audio decoder, AC3Filter, Sonic 4.2
-5.1 DTS: ffdshow built-in libdts/libavcodec, MPC audio decoder, AC3Filter, Sonic 4.2
I'm dubious about Sonic because it works exactly as I want in ffdshow(automatic profiles), but AC3 sounds very DRC'ed..and many ppl have stated that you can't disable SRC in Sonic. OTOH, eac3to can use it and the CRC is identical to Arcsoft on DTS-HD :confused:
PS: weird I was upsampling a WMV w/ libavcodec, my media player crashed and DrWatson says that it was because of ff_samplerate(libsamplerate) :confused:
I will delete it from now on, together w/ the other DLL's I don't need(theora and so). I use an ICL12 VS2010 build on XPSP3.
leeperry
23rd December 2010, 14:14
ok, so I've used 2 songs, one 16/44.1 and the other 24/96. I had to remux to MKV to use ffdshow's built-in FLAC decoder, considering it doesn't have a source filter(unlike madFlac).
left side is madFlac, right side is ffdshow's libavcodec.
16/44.1: http://thumbnails35.imagebam.com/11216/ac4512112155709.jpg (http://www.imagebam.com/image/ac4512112155709) http://thumbnails24.imagebam.com/11216/cf8ed8112155707.jpg (http://www.imagebam.com/image/cf8ed8112155707)
24/96: http://thumbnails25.imagebam.com/11216/0a3129112155719.jpg (http://www.imagebam.com/image/0a3129112155719) http://thumbnails36.imagebam.com/11216/d55a10112155714.jpg (http://www.imagebam.com/image/d55a10112155714)
so unlike all that's been said, ffdshow *can* decode 24bit FLAC...but maybe not 7.1, I shall try and check the output volume of all channels later on.
tetsuo55
23rd December 2010, 15:33
Just to be sure: none of those open source decoders support DTS-ES(6.1) and DTS 96/24 right?
leeperry
23rd December 2010, 16:36
I don't think so.
From some preliminary tests, the first five channels are indeed -0.1dB when using liba52 in ffdshow(LFE can't be tested as it seems limited to 80Hz)...but on a stereo AC3 stream they're attenuated by -3dB. I might need to try all possible combinations..mono/stereo/3/4/5 channels to nail it down.
And the built-in ffdshow FLAC decoder can also decode 7.1 24bit...so madFlac isn't needed anymore for FLAC within a container.
leeperry
23rd December 2010, 18:06
I'm struggling a bit w/ the LFE in AC3/DTS :o
in AC3, it's limited to -35dB(capped to 80Hz), but in DTS it's EMPTY. Apparently, it's normal behavior: http://www.hometheaterhifi.com/volume_7_2/feature-article-misunderstood-lfe-channel-april-2000.html
DTS's LFE channel is a little different. In fact, in the cinema, DTS is actually 5.0 (as oppose to 5.1) in that there is no discrete LFE channel. The LFE channel from the mixing sessions gets low-passed at 80 Hz and added to the surround channels. In the theater, the surround channels are high-passed at 80 Hz with the reciprocal becoming the LFE channel. The reasons for this multiplexing is one of space. DTS's original encoder only handles full-bandwidth channels so a discrete LFE channel would require a full 20% more space on the medium (the disc) as if it were another full range channel.
so I can't isolate and measure the volume level of the discrete LFE channel...considering it does not exist :rolleyes:
leeperry
23rd December 2010, 22:17
alright! doing a 60Hz test tone for DTS does the trick, I do get sound on the phantom LFE channel...anyways:
madFlac, -0.1dB 1kHz 7.1 24/48:
L: -0.1dB
C: -0.1dB
R: -0.1dB
SL: -0.1dB
SR: -0.1dB
BL: -0.1dB
BR: -0.1dB
LFE: -0.1dB
ffdshow's built-in libavcodec FLAC decoder, -0.1dB 1kHz 7.1 24/48:
L: -0.1dB
C: -0.1dB
R: -0.1dB
SL: -0.1dB
SR: -0.1dB
BL: -0.1dB
BR: -0.1dB
LFE: -0.1dB
ffdshow's built-in libavcodec FLAC decoder, -0.1dB 1kHz 5.1 24/48:
L: -0.1dB
C: -0.1dB
R: -0.1dB
BL: -0.1dB
BR: -0.1dB
LFE: -0.1dB
ffdshow's built-in libavcodec FLAC decoder, -0.1dB 1kHz 5.1 24/48:
L: -0.1dB
C: -0.1dB
R: -0.1dB
BL: -0.1dB
BR: -0.1dB
LFE: -0.1dB
ffdshow's built-in 32fp liba52 AC3 decoder, -0.1dB 1kHz 5.1 48kHz 640kbit AC3:
L: -0.1dB
C: -0.1dB
R: -0.1dB
BL: -0.1dB
BR: -0.1dB
LFE: -35dB
ffdshow's built-in 16int libavcodec AC3 decoder, -0.1dB 1kHz 5.1 48kHz 640kbit AC3:
L: -0.1dB
C: -0.1dB
R: -0.1dB
BL: -0.1dB
BR: -0.1dB
LFE: -35dB
ffdshow's built-in 32fp libavcodec DTS decoder, -0.1dB 60Hz 5.1 48kHz 1.5Mbit DTS:
L: -0.1dB
C: -0.1dB
R: -0.1dB
BL: -0.1dB
BR: -0.1dB
LFE: -1.2dB
ffdshow's built-in 32fp libdts DTS decoder, -0.1dB 5.1 60Hz 48kHz 1.5Mbit DTS:
L: -0.1dB
C: -0.1dB
R: -0.1dB
BL: -0.1dB
BR: -0.1dB
LFE: -1.2dB
AC3Filter:
32fp, -0.1dB 1kHz 5.1 48kHz 640kbit AC3:
L: -0.1dB
C: -0.1dB
R: -0.1dB
BL: -0.1dB
BR: -0.1dB
LFE: -35dB
32fp, -0.1dB 5.1 60Hz 48kHz 1.5Mbit DTS:
L: -0dB (requires 0.99 coeff to reach -0.1dB)
C: -0dB (requires 0.99 coeff to reach -0.1dB)
R: -0dB (requires 0.99 coeff to reach -0.1dB)
BL: -0dB (requires 0.99 coeff to reach -0.1dB)
BR: -0dB (requires 0.99 coeff to reach -0.1dB)
LFE: -1.2dB
My AC3Filter settings: http://thumbnails29.imagebam.com/11222/32f1b8112214834.jpg (http://www.imagebam.com/image/32f1b8112214834) http://thumbnails33.imagebam.com/11222/457c41112214838.jpg (http://www.imagebam.com/image/457c41112214838) http://thumbnails20.imagebam.com/11222/c4d5e8112214840.jpg (http://www.imagebam.com/image/c4d5e8112214840)
Sonic 4.2.2:
-0.1dB 1kHz 5.1 48kHz 640kbit AC3:
L: -0.1dB
C: -0.1dB
R: -0.1dB
BL: -0.1dB
BR: -0.1dB
LFE: -36dB
16int, -0.1dB 1kHz stereo 48kHz 640kbit AC3:
L: -0.1dB
R: -0.1dB
-0.1dB 5.1 60Hz 48kHz 1.5Mbit DTS:
L: -0.1dB
C: -0.1dB
R: -0.1dB
BL: -0.1dB
BR: -0.1dB
LFE: -0dB (requires 0.99 coeff to reach -0.1dB, but it should be -1.2dB)
PowerDVD 10:
-0.1dB 1kHz 5.1 48kHz 640kbit AC3:
L: -0.1dB
C: -0.1dB
R: -0.1dB
BL: -0.1dB
BR: -0.1dB
LFE: -35dB
-0.1dB 5.1 60Hz 48kHz 1.5Mbit DTS:
L: -0.6dB
C: -0.6dB
R: -0.6dB
BL: -0.6dB
BR: -0.6dB
LFE: -0dB (requires 0.99 coeff to reach -0.1dB)
MPC Audio Decoder:
32fp, -0.1dB 1kHz 5.1 48kHz 640kbit AC3:
L: -0.1dB
C: -0.1dB
R: -0.1dB
BL: -0.1dB
BR: -0.1dB
LFE: -35dB
32fp, -0.1dB 5.1 60Hz 48kHz 1.5Mbit DTS:
L: -0.6dB
C: -0.6dB
R: -0.6dB
BL: -0.6dB
BR: -0.6dB
LFE: -1.2dB
conclusions:
-AC3Filter always clips DTS(except the phantom LFE channel), whatever stereo or 5.1
-Sonic 4.22/PDVD decoder output a louder LFE than the GPL decoders
-MPC's audio decoder attenuates stereo and 5.1 DTS by -0.5dB
I shall run more tests on stereo DTS, and using 1/2/3/4/5/6 channels AC3 using ffdshow's liba52.
tetsuo55
23rd December 2010, 22:51
unsettling results.
So there is a bug in MPC-HC.
Could you please try MP3, AAC and COOK ?
In my samples i have to put those 3 audio types on i have to lower my audio with 10 points.
So AC3/DTS on 40 points, and those 3 on 25-30 points.
leeperry
23rd December 2010, 23:51
why not, but right now I'm more focused on my own use within ffdshow :)
I've added measurements for PDVD10 on AC3/DTS, and it clips the LFE just like Sonic 4.22. The DTS file was encoded using the Surcode encoder...I find it kinda weird that the GPL decoders output a dimmer phantom LFE than commercial decoders. If Arcsoft didn't install so much bloat, I'd give it a shot.
leeperry
24th December 2010, 07:03
It seems that "dialog normalization" is enforced on stereo AC3 when using liba52 in ffdshow: http://everything2.com/title/Dolby+Digital+vs.+DTS
DD uses a feature called 'dialogue normalisation' which usually reduces overall volume by 3dB, in an effort to standardise volume across all Dolby software
And apparently, this is more of a headache than it seems:
Using a 1kHz test tone a 0.6dB difference was found between the DD and DTS encoders. The studio is said to have reported this to DTS, who then "updated the code in the unit," removing the gain.
It's still not too clear to me what the LFE volume should be between AC3/DTS: http://www.hometheaterhifi.com/technical-articles/163-the-misunderstood-01-lfe-channel-in-51-digital-surround-sound.html
DTS's LFE channel in consumer applications, unlike its cinema counterpart, is discrete but still has a few 'special' considerations. In the early days of mixing 5.1 for DTS CDs, the studios were not being calibrated correctly, with the end result of the LFE channel being set too low. When the material is played back on a correctly calibrated system, the LFE channel is way too high. THX was forced to introduce DTS Music and DTS Movie playback modes which distinguish between a correct LFE setting and a -10 dB setting to compensate for material assembled under mis-calibrated circumstances
Production facilities know that unless they provide a dedicated two channel soundtrack, nothing important should be exclusively put in the LFE channel: Depending on the playback system, it may not be heard.
tebasuna51
24th December 2010, 15:00
- To make a proper ac3 decoder test first you need encode your sample with:
Dialog Normalization: -31 dB
Dynamic Range Compression: none
RF overmodulation protection: none
Digital deemphasis: none
DC high-pass filter: none
Bandwidth low-pass filter: none
LFE low-pass filter: none
90 Degree phase shift: none
3 dB attenuation: none
Then you avoid any Preprocessing issue of the encoder or any Postprocessing issue of the decoder and can compare the source with the decoder output. You can use Aften encoder, all disabled by default.
The LFE -35 dB problem is clearly a effect of the LFE low-pass filter, enabled by default in some encoders, when you use a 1KHz sample. Also the low bitrate assigned to LFE channel can produce problems with samplerates > 100Hz (use 60 Hz al least in LFE Channel)
- About DTS decoders:
I don't know how disable LFE low-pass filter in DTS encoders, BTW you are using 60 Hz already.
Yes, seems there are a different output with LFE volume between commercial decoders (tested ArcSoft) and free decoders (tested libav and NicAudio, I found -1.8 dB)
The Ac3Filter DTS decoder clip the output to +3dB (try with -3dB in Master Gain and you can see like all the channels (not LFE) reach your -0.1 dB source volume without clip)
- About phantom LFE channel.
Maybe you mistake the subwoofer speaker with the LFE channel. All receivers/amplifiers/soft-decoders can extract the low frequencies from all the channels and send to subwoofer, don't matter if LFE is empty or not. This is your phantom LFE channel?
leeperry
24th December 2010, 15:38
thanks for the insights!
Is there any free AC3 encoder where I could set the Dialog Normalization to -31 dB? My sample was emcoded in eac3to from a plain 24/48 5.1 FLAC(made w/ dBpoweramp).
tbh I'm able to "fix" any volume output by myself using the custom mixing matrix of ffdshow, I'm just wondering if when using a -0.1dB test tone, they're all supposed to be -0.1dB when using DTS? Sonic/PDVD clip the LFE in my tests, and libdts/libavcodec play it at -1.2dB
Also, there's a lot of confusion about the LFE channel in AC3...but I guess I'd need a proper test tone before drawing conclusions. Life is easier w/ lossless soundtracks :o
tebasuna51
24th December 2010, 18:44
eac3to uses Aften and always encode with Dialog Normalization to -31 dB and all other options to none.
I can't test Sonic/PDVD, with ArcSoft I get -1 dB and -3 dB with free decoders.
leeperry
24th December 2010, 20:34
OK, I guess I'd need to look up some DTS decoding white paper...the Sonic decoder was meant to be used w/ their DVD authoring software for soft proofing, it also decodes DTS-HD and so...I find it hard to believe that they'd have goofed up on the coeffs.
Both commercial/freeware decoders agree on the -35dB of my AC3 sample so I'm more confident. I've put it here (http://www.mediafire.com/?aekc3k6mxbzhssa) in case you could get it through Arcsoft. My DTS sample is available there (http://www.mediafire.com/?iyfap0vyydekqzy).
leeperry
18th January 2011, 19:31
been doing more tests, 32int is nice and all...but lossy audio decodes to 32fp and Reclock converts to 32fp prior to resampling...and each int<>fp conversion is very lossy FWIR.
The optimal ffdshow-audio pipeline seems to be: 32fp lossy decoding > 32fp processing(possibly using 96/192kHz upsampling to increase the accuracy of the trebles (http://www.gearslutz.com/board/5101666-post296.html) beforehand?) > 32fp VST plugins > 32fp Reclock resampling > 24/96 KS/WASAPI output.
http://www.pixelz.fr/6/7/7/51a90b7114ab8616cfae3eea4f138tt.jpg (http://www.pixelz.fr/6/7/7/51a90b7114ab8616cfae3eea4f138.png)
I shall write a guide to all this anytime soon if there's any interest. I also need to clear up the license scheme of FFX-4 w/ Vincent Burel. But 32fp VST in ffdshow is very much real(thank you so much sansnom05http://forum-images.hardware.fr/images/perso/mzarella.gif) and it sounds spectacular http://forum-images.hardware.fr/images/perso/fumble.gif
TheLion
19th January 2011, 15:16
been doing more tests, 32int is nice and all...but lossy audio decodes to 32fp and Reclock converts to 32fp prior to resampling...and each int<>fp conversion is very lossy FWIR.
The optimal ffdshow-audio pipeline seems to be: 32fp lossy decoding > 32fp processing(possibly using 96/192kHz upsampling to increase the accuracy of the trebles (http://www.gearslutz.com/board/5101666-post296.html) beforehand?) > 32fp VST plugins > 32fp Reclock resampling > 24/96 KS/WASAPI output.
http://www.pixelz.fr/6/7/7/51a90b7114ab8616cfae3eea4f138tt.jpg (http://www.pixelz.fr/6/7/7/51a90b7114ab8616cfae3eea4f138.png)
I shall write a guide to all this anytime soon if there's any interest. I also need to clear up the license scheme of FFX-4 w/ Vincent Burel. But 32fp VST in ffdshow is very much real(thank you so much sansnom05http://forum-images.hardware.fr/images/perso/mzarella.gif) and it sounds spectacular http://forum-images.hardware.fr/images/perso/fumble.gif
That's great. I would appreciate it very much if you could provide a guide.
Please allow for two questions: Which version of ffdshow are you using and is it a special build that allows for 32bit VST processing or is it part of the latest revisions anyway?
Which pipeline would you suggest for lossless audio decoding (flac in mkv container transcoded from DTS-HD MA/TrueHD) together with VST and reclock?
Thank you very much for all your efforts!
leeperry
20th January 2011, 16:00
Which version of ffdshow are you using and is it a special build that allows for 32bit VST processing or is it part of the latest revisions anyway?
I currently use a beta build that adds 32fp off libavcodec(using madshi's patch), DTS is fine but 2 channels are swapped in AC3...this issue is being looked into.
liba52 is nice(and output 32fp as well), but it mistakenly forces -3dB "dialog normalization" attenuation on stereo AC3 in ffdshow...libavcodec doesn't.
The winamp 32bit patch has made it to the SVN...it supports both 32int and 32fp, depending on what you've set in the general ffdshow post-processing bit depth settting.
Which pipeline would you suggest for lossless audio decoding (flac in mkv container transcoded from DTS-HD MA/TrueHD) together with VST and reclock?
decoding > 32fp processing > 32fp to Reclock > 24int rendering via KS/WASAPI.
bur
14th September 2011, 22:00
While browsing through the ffdshow settings I came across these 16/24/32 bit output options. With my onboard sound chip I'm pretty sure I won't hear any difference whatsoever but I'd still like to know which setting would THEORETICALLY be able to produce the best results on a 24 bit chip. Is it better to use 24 bit ffdshow output in that case?
Also is FP worse than INT in most cases? If all options are checked ffdshow seems to default to 32fp though.
Simply put, if wasting processing power doesn't matter - which output option should I choose?
mindbomb
15th September 2011, 03:13
you should use lav audio, as it always chooses the best option.
bur
15th September 2011, 08:23
LAV also chooses 32bit FP ... so is this the best choice under some circumstances?
And offtopic, I noticed LAV outputs 6 channel ac3 as 6 channel pcm but I only have stereo speakers. I guess DirectSound takes care of that or the sound chip? Are there any disadvantages compared to ffdshow that outputs directly as 2-channel?
clsid
15th September 2011, 14:46
Enable everything in ffdshow that your card supports and it will automatically use the best one. Usually that means using the same format that the decoder outputs.
bur
15th September 2011, 14:55
In my case that's 32bit FP. I was just wondering because of this post:
32FP is WORSE than 32bit INT
nevcairiel
15th September 2011, 14:57
32-bit int might have a few more bits to code the actual data, however, if the decoder outputs 32-fp, converting it to 32bit int will not improve anything!
I'm not aware of any decoder that actually natively deals with 32bit INT. PCM Lossless decoders are toping out at 24-bit int, and lossy decoders will either give you 16 int or 32fp
bur
15th September 2011, 18:19
Ok so I can just have ffdshow make the choice. Will it be better to prevent 32bit from being chosen since the soundchip supports 24bit only?
mindbomb
15th September 2011, 23:23
no. assuming you are using directsound, windows will convert it to the default format, which is 16 bit or 24 bit. you actually can set this in the control panel.
leeperry
16th September 2011, 11:38
DS works in 32fp in Vista/W7 AFAIK.
bur
20th September 2011, 23:10
no. assuming you are using directsound, windows will convert it to the default format, which is 16 bit or 24 bit.So there's no disadvantage by this conversion? Will there be any advantage of having ffdshow output 32bit only to have DS convert it to 24bit?
I'm just wondering, normally you'd think, if the soundcard is 24 bit anyway, then having the decoder output 32bit data will yield nothing but might have an (if ever so slight) impact on performance.
Mitchan81
26th October 2011, 15:20
been doing more tests, 32int is nice and all...but lossy audio decodes to 32fp and Reclock converts to 32fp prior to resampling...and each int<>fp conversion is very lossy FWIR.
The optimal ffdshow-audio pipeline seems to be: 32fp lossy decoding > 32fp processing(possibly using 96/192kHz upsampling to increase the accuracy of the trebles (http://www.gearslutz.com/board/5101666-post296.html) beforehand?) > 32fp VST plugins > 32fp Reclock resampling > 24/96 KS/WASAPI output.
I shall write a guide to all this anytime soon if there's any interest. I also need to clear up the license scheme of FFX-4 w/ Vincent Burel. But 32fp VST in ffdshow is very much real(thank you so much sansnom05http://forum-images.hardware.fr/images/perso/mzarella.gif) and it sounds spectacular http://forum-images.hardware.fr/images/perso/fumble.gif
thx for all
now i'm waiting for your guide :p
jaytrinitron
8th February 2017, 07:28
So obviously this thread is over 5.5 years old but it's the only thing I could find while googling. I still use ffdshow's audio processor to mix my surround and stereo tracks into ffdshow's headphone spatialization. If my audio decoder decodes a 16int or 24int track into pcm and then passes it to ffdshow, and my sound card can handle 16int or 24int output from ffdshow, what should I use for ffdshow's processing and mixing, keeping in mind that at the end of mixing the output has to be converted to either 16int or 24int? My options for ffdshow processing are 16int, 32int, or 32fp. Furthermore, should I have ffdshow output 16int or 24int for best quality? What is the combination of formats for processing and output for best quality overall?
vBulletin® v3.8.11, Copyright ©2000-2025, vBulletin Solutions Inc.