[vlc-devel] [PATCH V3 2/4] aout: add "audio-bitexact" option
Steve Lhomme
robux4 at ycbcr.xyz
Tue Dec 10 08:22:11 CET 2019
On 2019-12-09 21:16, Remi Denis-Courmont wrote:
> Le 2019-12-09 16:20, Thomas Guillem a écrit :
>>> If you do bit exact in aout, you don't have a filter chain.
>
>> I could have used a boolean for the "audio-bitexact" option. In that
>> case, indeed, there is no need to use a filters chain.
>>
>> But what about --audio-bitexact with an aout specific exclusive mode ?
>
> Hmm yeah, what about it?
>
> First off, I am not convinced that we need a core flag at all. It seems
> that the intended semantics are exactly the same as '--audio-filter=
> --resampler=none --no-audio-time-stretch', which means that it already
> works. And I don't think we should go actively out of our way to support
> audiophile nonsense... just tell them how to configure it.
>
> (Actually, it is not so much that audio-time-stretch should be disabled,
> than that the playback rate should be fixed to 1, but I digress.)
>
>> People won't be able to play mp3 with these 2 modes enabled (FL32
>> decoder). Is that wanted ? And what about S16N when you have a S24N or
>> S32N soundcard ?
>
> Bit exact with a floating point format sounds like an oxymoron. AFAIK,
> auto-proclaimed audiophiles use lossless formats which they expect to
> decode as fixed point.
>
> The discussion is turning in circle now. If the goal is to forcefully
> fail if the audio decoder output _cannot_ be rendered in bit exact mode,
> then we need a boolean flag. But if the goal is merely to minimise
> filtering to necessary conversion, then I don't think we need much
> anything?
>
> In any case, I don't see why this needs to be exposed to the filter
> chain; it should be exposed to the owner of the filter chain. And
> conversely, I do see why it should not be exposed there: it's used in
> different contexts some of which should not be affected by aout settings.
>
>> Using "on"/"off" for "audio-bitexact" seems dubious. That is why I
>> would prefer using something like the following:
>>
>> --audio-bitexact=0: default
>>
>> --audio-bitexact=1: on (with one converter)
>
> Meaning format conversion only? Should only lossless format conversions
> be allowed? What about (mathematically) exact rate-multiple up-sampling
> (8k, 16k, or 24k to 48k, 11025 or 22050 to 44100)? ...
I think there's even 2 kinds of conversions, the lossless ones and the
lossy ones (24 bits to 16 bits soundcard). Given the name
"audio-bitexact" the lossy ones should probably not be allowed or only
in the most permissive mode (0=default=off).
>> --audio-bitexact=2: strict (without any converters)
>>
>> The big question is: should we remove 1 or 2 ?
>
> Again, I think we should really *not* go out of our way to support this.
> Just make a boolean that refuses to convert and filter if somebody wants
> one. We already have settings to turn filters off, but retain any
> necessary conversions.
>
> --
> Rémi Denis-Courmont
> _______________________________________________
> vlc-devel mailing list
> To unsubscribe or modify your subscription options:
> https://mailman.videolan.org/listinfo/vlc-devel
More information about the vlc-devel
mailing list