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

ad_spdif: Use only DTSHD if profile is HD audio #1949

Closed
maniacgit opened this issue May 16, 2015 · 5 comments
Closed

ad_spdif: Use only DTSHD if profile is HD audio #1949

maniacgit opened this issue May 16, 2015 · 5 comments

Comments

@maniacgit
Copy link

With my new AV receiver I've the issue if a standard DTS track is played with the parameters of DTSHD (da->opts->dtshd is true in ad_spdif) then only 2 channels are used by the receiver, DTSHD plays fine.

If I play the same with dtshd disabled the standard DTS plays fine but for DTSHD the standard DTS is used (correct behaviour).

But I want to play DTSHD if available and if only standard DTS is available it should work also without changing the command line of mpv.

I think the stream->codec->profile could be used for this. In case of FF_PROFILE_DTS_HD_MA and FF_PROFILE_DTS_HD_HRA the HD parameters should be used. For other profiles it should use the standard DTS parameters.

@ghost
Copy link

ghost commented May 16, 2015

The problem is that with Matroska, we don't have the profile available. (And I think in general, the demuxer shouldn't have to provide such information.)

@maniacgit
Copy link
Author

Do we have another possibility to get this information? I think we need it there to correctly set up the parameters.

@ghost
Copy link

ghost commented May 16, 2015

Possibly it could be done by using libavcodec to parse the incoming packets in ad_spdif.c. Initialization would have to be delayed to happen on the first packet (which requires minor restructuring in ad_spdif.c).

@ghost ghost added the meta:feature-request label May 16, 2015
@ghost
Copy link

ghost commented May 16, 2015

These are the DTS profiles ffmpeg know (both builtin and libdadec decoders):

    { FF_PROFILE_DTS,         "DTS"         },
    { FF_PROFILE_DTS_ES,      "DTS-ES"      },
    { FF_PROFILE_DTS_96_24,   "DTS 96/24"   },
    { FF_PROFILE_DTS_HD_HRA,  "DTS-HD HRA"  },
    { FF_PROFILE_DTS_HD_MA,   "DTS-HD MA"   },
    { FF_PROFILE_DTS_EXPRESS, "DTS Express" },

Which should use the high bitrate setting?

@maniacgit
Copy link
Author

{ FF_PROFILE_DTS_HD_HRA,  "DTS-HD HRA"  },
{ FF_PROFILE_DTS_HD_MA,   "DTS-HD MA"   },

@ghost ghost closed this as completed in 1919f1e May 19, 2015
This issue was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant