Aleksoid1978 / MPC-BE

MPC-BE – универсальный проигрыватель аудио и видеофайлов для операционной системы Windows.
GNU General Public License v3.0
1.88k stars 83 forks source link

Allow DShow players to display subtitles using MPC-VR's ISubRender interfaces #437

Closed Chetan-Ullal closed 2 months ago

Chetan-Ullal commented 2 months ago

Allows other DShow players (like Zoom Player) to use the MPC-VR ISubRender interface along with XYSubFilter to display subtitles without losing the HDR info.

Tested to work with a beta version of Zoom Player.

See: https://github.com/Aleksoid1978/VideoRenderer/issues/124

v0lt commented 2 months ago

Is the pull request title correct? I see the changes in MPC-BE and don't understand how this should help other players work with MPC VR.

Chetan-Ullal commented 2 months ago

Is the pull request title correct? I see the changes in MPC-BE and don't understand how this should help other players work with MPC VR.

Yes. This PR creates a new filter called MPCSubtitleHelper. ZP uses this filter along with MPC-VR and XYSubtitle filter to render subtitles, without losing HDR info. In my fork, I release the built filters for both x86 and x64 configurations. ZP will integrate the MPCSubtitleHelper filter into its installer and deploy it along with MPC-VR and XYSubfilter.

The changes are in MPC-BE since it implements the subtitle consumer code.

Aleksoid1978 commented 2 months ago

The player does not need this AT ALL.

v0lt commented 2 months ago

This PR creates a new filter called MPCSubtitleHelper. ZP uses this filter along with MPC-VR and XYSubtitle filter to render subtitles, without losing HDR info.

Thank you. I'll try to see your solution. I also think you should release this filter in your repository separately from MPC-BE.

v0lt commented 2 months ago

I cleaned up the source code a bit. MPC-BE-SubtitleHelper_cleaning_1.7z

Chetan-Ullal commented 2 months ago

I cleaned up the source code a bit. MPC-BE-SubtitleHelper_cleaning_1.7z

Thank you. Looking at the changes, it mostly seems to be removing code, like in AllocatorCommon.h/.cpp. The other change was the removal of the dependency on lcms2 from the helper project. Am I missing something?

v0lt commented 2 months ago

I tried to remove everything that does not belong to the filter.

A cleaner version of the filter with support for Visual Studio 2019. MPC-SubtitleHelper_cleaning_2.7z

Chetan-Ullal commented 2 months ago

I tried to remove everything that does not belong to the filter.

A cleaner version of the filter with support for Visual Studio 2019. MPC-SubtitleHelper_cleaning_2.7z

I understand. I'll take a look at the changes. Thanks.