Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Suggestion for upcoming HDCD filter #635

Open
111MilesToGo opened this issue Aug 30, 2019 · 3 comments

Comments

@111MilesToGo
Copy link

commented Aug 30, 2019

Feature request

Actually just a suggestion for your HDCD filter code under construction for mpd v0.22. I read in another closed issue here that the FFmpeg HDCD filter is NOT guaranteed to not do anything when non-HDCD 16/44.1 PCM data are input to it - really bad. Your HDCD filter is already written so as to just call the null filter when the data is not 16/44.1, great.

I would like to suggest a mechanism for the mpd HDCD filter that could be similar to what Christopher Snowhill (aka Chris Moeller aka kode54) built into his HDCD DSP for foobar2000. He completely bars the HDCD DSP from being instantiated when a metadata tag ”HDCD“ is set to ”no“.

So, if mpd would be able to read a tag ”HDCD“ from the metadata of a given track after checking for 16/44.1, then your mpd HDCD filter could call the FFmpeg HDCD filter only if this tag is ”yes“, and just call the null filter if such ”HDCD“ tag is not present or is ”no“.

In this way
(a) you could make life much easier for mpd to handle Redbook tracks with and without HDCD encoding,
and (b) mpd and foobar2000 as the two major high-end audio players with upcoming/existing HDCD capability would be nicely in sync.
(c) Users with an interest in HDCD-enabled audio players would just have to once tag their music library accordingly.

Thank you for considering this suggestion.

@MaxKellermann

This comment has been minimized.

Copy link
Member

commented Aug 30, 2019

Stupid question: what problem does this solve? Do you really know what currently happens when non-HDCD data is fed into the filter? And what part of that bothers you?

@111MilesToGo

This comment has been minimized.

Copy link
Author

commented Aug 30, 2019

No, I do not know precisely what FFmpeg‘s HDCD filter does in case of non-HDCD 16/44.1 PCM data. Just took your comment #513 (comment) as indicating ”no guarantee for leaving non-HDCD intact“. I took a look at the FFmpeg af_hdcd code, but oh boy...

Such metadata tag would help mpd to not bother with non-HDCD tracks at all when the mpd HDCD filter is enabled.

The hassle for you would be to make mpd aware of an ”HDCD“ tag.

As a user, one could add such a tag to the entire music library quite easily and outside of any player. Could e.g. be using FFmpeg in a shell script.

@111MilesToGo

This comment has been minimized.

Copy link
Author

commented Aug 30, 2019

Plus, there must have been a reason for kode54 to quite recently put this ”barring HDCD DSP by such a tag“ into his HDCD foobar2000 component. His HDCD code ended up in the FFmpeg HDCD filter (aka Chris Moeller) and was enhanced there by others (Burt P.).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
2 participants
You can’t perform that action at this time.