Welcome to Doom9's Forum, THE in-place to be for everyone interested in DVD conversion. Before you start posting please read the forum rules. By posting to this forum you agree to abide by the rules. |
28th September 2010, 16:25 | #12541 | Link | |
Registered Developer
Join Date: Sep 2006
Posts: 9,140
|
Quote:
I'm not really sure if you understand how lossy encoding/decoding works. Look, the encoder gets samples in the time domain, but encoding is done in the frequency domain (for lossy formats). After conversion to frequency domain, you end up with floating point data with full precision. The precision is not limited to 16bit here, because the conversion to frequency domain is a complex mathematical process. In the next step the encoder compresses the frequency domain audio data. Later, when you decode that, you again get floating point frequency data back. This will not be identical to the input data, of course, since the encoder is lossy. The decoder converts the frequency data back to time domain, which means that you end up with *full precision* floating point time domain data. Because of that you cannot say that only 16bit contain data and the rest is noise. That doesn't make any sense. The native output of a lossy decoder is usually *full precision* floating point. This data will only be an approximation of the original input data, but still it is full precision. You can't say that the data is only 16bit and the rest is noise. That's not true. After decoding, the data is floating point, not 16bit. The decoder doesn't even *try* to reproduce the original 16bit PCM data. Instead the decoder tries to reproduce an approximation of the original frequencies. And it does so in full floating point precision. Of course the decoding result will never sound better than the 16bit original, though, because it's only an approximation. |
|
28th September 2010, 17:22 | #12542 | Link |
*****
Join Date: Feb 2005
Posts: 5,642
|
I am OK with removing Theora and mp3lib.
__________________
MPC-HC 2.1.7.2 |
28th September 2010, 18:14 | #12544 | Link | |
Registered Developer
Join Date: Mar 2010
Location: Hamburg/Germany
Posts: 10,342
|
Quote:
No downsides, just added value. Why are you arguing?
__________________
LAV Filters - open source ffmpeg based media splitter and decoders |
|
28th September 2010, 18:26 | #12545 | Link | |
Kid for Today
Join Date: Aug 2004
Posts: 3,477
|
Quote:
madVR brings world class PQ, and ffdshow sub-par consumer SQ...you're watching your videos in YV12 OVERLAY point resize on an ATi I presume All it needs is a few fixes, it will not worsen the SQ...at worst, it'll sound the same to your ears. Point of the matter is that either the few active coders don't care(libavcodec) or can't fix it due to an unmanageably messy code(ffdshow audio) so it's a lost cause. WYSIWYG. Last edited by leeperry; 28th September 2010 at 19:40. |
|
28th September 2010, 18:41 | #12547 | Link | |
Registered User
Join Date: Jun 2009
Location: London, United Kingdom
Posts: 707
|
Quote:
All I'm saying is that the people arguing for float output because of "higher quality" are wrong. It is also laughable to see leeperry's talk of 64bit float - I can guarantee the decoder from the audio codec is 16-bit int or possibly 32-bit float at most. As reimar said the encoder had most likely 16-bit input in the first place so insisting on float producing a higher quality is an invalid argument. The LSBs of audio are generally noise anyway. Feel free to also add the slowest but "highest quality" DCTs for mpeg-2 video and other codecs while you're at it. Also rewrite ffmpeg's MDCT to use 64-bit float since it "only" uses 32-bit float. Last edited by kieranrk; 28th September 2010 at 18:54. |
|
28th September 2010, 19:00 | #12548 | Link | |
Registered Developer
Join Date: Sep 2006
Posts: 9,140
|
Quote:
No, they are right. Because of the simple reason that libav currently does not *dither* down to 16bit, but they *round* down the internal float32 decoding data to 16bit int. Which is a violation of audio processing laws and adds quantization noise. If libav correctly dithered down to 16bit, there would be little point to ask for floating point output. Not for ffdshow, at least. |
|
28th September 2010, 19:50 | #12550 | Link | ||
Kid for Today
Join Date: Aug 2004
Posts: 3,477
|
Quote:
Quote:
Reclock provides 53bit volume attenuation and bit-perfect float/integer conversions(they all pass the HDCD flag and were looked over by WingFeather -a pro VST plugin coder from diyaudio.com-, James and yesgrey). I use a low jitter 24/96 transport w/ Reclock via a bit-perfect audio renderer, and my two bottlenecks are libavcodec for DTS and the VST plugins processed in 16int...Some call it parroting, I call it uncalled for and a damn shame as the chain is only as strong as its weakest link. But nothing ever works the way it should thanks to Murphy's Law, so that's no big deal. |
||
28th September 2010, 19:51 | #12551 | Link | |||
4:2:0 hater
Join Date: Apr 2008
Posts: 1,302
|
Quote:
Quote:
Quote:
|
|||
28th September 2010, 20:00 | #12552 | Link | |
4:2:0 hater
Join Date: Apr 2008
Posts: 1,302
|
Quote:
lol, you talk like if it were my responsability or something. I was going to fix it, but now I don't feel like it. Enjoy the wonderful 16-bit integer output, troll Last edited by STaRGaZeR; 28th September 2010 at 20:03. |
|
28th September 2010, 20:12 | #12554 | Link | |
Kid for Today
Join Date: Aug 2004
Posts: 3,477
|
Quote:
I don't think I'm the troll here, but the french and british have never managed to get along nicely...that's what hundred years of history are teaching us. 3 highly skilled coders(Vincent Burel, Wingfeather and Christian Budde) said that ffdshow shouldn't even work as is...but surely you could fix it, I believe you. I really do. Last edited by leeperry; 28th September 2010 at 20:30. |
|
28th September 2010, 20:43 | #12556 | Link |
4:2:0 hater
Join Date: Apr 2008
Posts: 1,302
|
Cool, I can own our two resident trolls in one shot
Winamp works with 32-bit integer max, and there you have it working with a simple equalizer. If you want a video of it working, just let me know |
28th September 2010, 20:46 | #12557 | Link | |
Capture, Deinterlace
Join Date: Feb 2002
Location: Right there
Posts: 1,971
|
Quote:
Thanks. |
|
28th September 2010, 21:32 | #12558 | Link | |
Kid for Today
Join Date: Aug 2004
Posts: 3,477
|
Quote:
I've inserted the Ozone4 bitmeter in MPC Classic between ffdshow and Reclock, and set ffdshow to 32fp: DTS in ffdshow/libavcodec: DTS in ffdshow/libdts: DTS in ffdshow/libdts + a winamp2 DSP wrapper>VST plugin in ffdshow: both libavcodec and the winamp2 DSP plugins are processed in 16int and trim the 8 least significant bits...but nice try. Sorry for that, I know that posting in the ffdshow thread is a waste of time. Won't happen again Last edited by leeperry; 28th September 2010 at 21:40. |
|
28th September 2010, 23:18 | #12560 | Link |
Registered User
Join Date: Feb 2007
Posts: 49
|
While this 16-bit int vs * float seems to get people a bit defensive I would like to ask how "inaccurate" is it really? Given that many formats except HD formats are 16-bit or even lower the degradation should be minimal or none at all nor do you really know if the encoder used a higher precision during encoding right? As far as I know most people use analogue cabling at least to the speakers you would also introduce further degradation since there's no digital correction of any kind. Also having in mind that speakers or headphones usually don't have a flat frequency curve this would sound degrade even further. While I do agree that precision is a good thing in general and that it may / may not make a huge performance impact I also understand if some say that rounding doesn't matter since the sound will get dirty on the way to your ears. Fine, audio processing should be lossless but interpolating which might happen since you have more precision (and then at some point round it) than during encode time might not be a great solution either.
Am I missing something here? |
Tags |
ffdshow, ffdshow tryouts, ffdshow-mt, ffplay, icl |
Thread Tools | Search this Thread |
Display Modes | |
|
|