diff options
author | kongfl888 <kongfl888@outlook.com> | 2016-12-16 08:54:56 +0300 |
---|---|---|
committer | Kacper Michajłow <kasper93@users.noreply.github.com> | 2017-03-07 01:19:34 +0300 |
commit | 2f00b0e1f63346042a49a695ee5e1d977c08d2b4 (patch) | |
tree | 6292151a2035ecedca010d7c9bd88d8e28cb9f7f | |
parent | ef84997561ed0bb29c8be12308c3fe08f0da5991 (diff) |
Internal filters: enable Microsoft Video 1 support.
-rw-r--r-- | include/moreuuids.h | 12 | ||||
-rw-r--r-- | src/mpc-hc/AppSettings.cpp | 3 | ||||
-rw-r--r-- | src/mpc-hc/FGManager.cpp | 6 | ||||
-rw-r--r-- | src/mpc-hc/FilterEnum.h | 3 | ||||
-rw-r--r-- | src/mpc-hc/InternalFiltersConfig.h | 3 | ||||
-rw-r--r-- | src/mpc-hc/PPageInternalFilters.cpp | 5 |
6 files changed, 31 insertions, 1 deletions
diff --git a/include/moreuuids.h b/include/moreuuids.h index 87db4eaa5..46a43d9b3 100644 --- a/include/moreuuids.h +++ b/include/moreuuids.h @@ -1016,6 +1016,18 @@ DEFINE_GUID(MEDIASUBTYPE_MPG2, DEFINE_GUID(MEDIASUBTYPE_FLIC,
0x434C4641, 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xAA, 0x00, 0x38, 0x9B, 0x71);
+// {4D415243-0000-0010-8000-00AA00389B71}
+DEFINE_GUID(MEDIASUBTYPE_CRAM,
+ MAKEFOURCC('C', 'R', 'A', 'M'), 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xAA, 0x00, 0x38, 0x9B, 0x71);
+
+// {4D414857-0000-0010-8000-00AA00389B71}
+DEFINE_GUID(MEDIASUBTYPE_WHAM,
+ MAKEFOURCC('W', 'H', 'A', 'M'), 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xAA, 0x00, 0x38, 0x9B, 0x71);
+
+// {4356534D-0000-0010-8000-00AA00389B71}
+DEFINE_GUID(MEDIASUBTYPE_MSVC,
+ MAKEFOURCC('M', 'S', 'V', 'C'), 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xAA, 0x00, 0x38, 0x9B, 0x71);
+
// {30313476-0000-0010-8000-00AA00389B71}
DEFINE_GUID(MEDIASUBTYPE_v410,
MAKEFOURCC('v', '4', '1', '0'), 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xAA, 0x00, 0x38, 0x9B, 0x71);
diff --git a/src/mpc-hc/AppSettings.cpp b/src/mpc-hc/AppSettings.cpp index 643fef890..2fc4cd757 100644 --- a/src/mpc-hc/AppSettings.cpp +++ b/src/mpc-hc/AppSettings.cpp @@ -408,6 +408,9 @@ CAppSettings::CAppSettings() #if INTERNAL_DECODER_FLIC
TraFiltersKeys[TRA_FLIC] = FilterKey(_T("TRA_FLIC"), true);
#endif
+#if INTERNAL_DECODER_MSVIDEO
+ TraFiltersKeys[TRA_MSVIDEO] = FilterKey(_T("TRA_MSVIDEO"), true);
+#endif
#if INTERNAL_DECODER_V210_V410
TraFiltersKeys[TRA_V210_V410] = FilterKey(_T("TRA_V210_V410"), false);
#endif
diff --git a/src/mpc-hc/FGManager.cpp b/src/mpc-hc/FGManager.cpp index ae75d40d7..a96f0d6df 100644 --- a/src/mpc-hc/FGManager.cpp +++ b/src/mpc-hc/FGManager.cpp @@ -2122,6 +2122,12 @@ CFGManagerCustom::CFGManagerCustom(LPCTSTR pName, LPUNKNOWN pUnk) pFGF = tra[TRA_FLIC] ? pFGLAVVideo : pFGLAVVideoLM;
pFGF->AddType(MEDIATYPE_Video, MEDIASUBTYPE_FLIC);
#endif
+#if INTERNAL_DECODER_MSVIDEO
+ pFGF = tra[TRA_MSVIDEO] ? pFGLAVVideo : pFGLAVVideoLM;
+ pFGF->AddType(MEDIATYPE_Video, MEDIASUBTYPE_CRAM);
+ pFGF->AddType(MEDIATYPE_Video, MEDIASUBTYPE_WHAM);
+ pFGF->AddType(MEDIATYPE_Video, MEDIASUBTYPE_MSVC);
+#endif
#if INTERNAL_DECODER_V210_V410
pFGF = tra[TRA_V210_V410] ? pFGLAVVideo : pFGLAVVideoLM;
pFGF->AddType(MEDIATYPE_Video, MEDIASUBTYPE_v210);
diff --git a/src/mpc-hc/FilterEnum.h b/src/mpc-hc/FilterEnum.h index 921d6e204..6f53b9679 100644 --- a/src/mpc-hc/FilterEnum.h +++ b/src/mpc-hc/FilterEnum.h @@ -228,6 +228,9 @@ enum DECODER { #if INTERNAL_DECODER_FLIC
TRA_FLIC,
#endif
+#if INTERNAL_DECODER_MSVIDEO
+ TRA_MSVIDEO,
+#endif
#if INTERNAL_DECODER_V210_V410
TRA_V210_V410,
#endif
diff --git a/src/mpc-hc/InternalFiltersConfig.h b/src/mpc-hc/InternalFiltersConfig.h index fb0f8499f..5287a06a0 100644 --- a/src/mpc-hc/InternalFiltersConfig.h +++ b/src/mpc-hc/InternalFiltersConfig.h @@ -105,6 +105,7 @@ #define INTERNAL_DECODER_INDEO INTERNAL_FILTERS_ENABLED
#define INTERNAL_DECODER_SCREEN INTERNAL_FILTERS_ENABLED
#define INTERNAL_DECODER_FLIC INTERNAL_FILTERS_ENABLED
+#define INTERNAL_DECODER_MSVIDEO INTERNAL_FILTERS_ENABLED
#define INTERNAL_DECODER_V210_V410 INTERNAL_FILTERS_ENABLED
@@ -127,4 +128,4 @@ (INTERNAL_DECODER_MPEG1 || INTERNAL_DECODER_MPEG2 || INTERNAL_DECODER_REALVIDEO || INTERNAL_DECODER_H264 || INTERNAL_DECODER_HEVC || INTERNAL_DECODER_VC1 || \
INTERNAL_DECODER_FLV || INTERNAL_DECODER_DIVX || INTERNAL_DECODER_XVID || INTERNAL_DECODER_WMV || INTERNAL_DECODER_MSMPEG4 || INTERNAL_DECODER_SVQ || \
INTERNAL_DECODER_H263 || INTERNAL_DECODER_THEORA || INTERNAL_DECODER_AMVV || INTERNAL_DECODER_VP356 || INTERNAL_DECODER_VP8 || INTERNAL_DECODER_VP9 || \
- INTERNAL_DECODER_MJPEG || INTERNAL_DECODER_INDEO || INTERNAL_DECODER_SCREEN || INTERNAL_DECODER_V210_V410)
+ INTERNAL_DECODER_MJPEG || INTERNAL_DECODER_INDEO || INTERNAL_DECODER_SCREEN || INTERNAL_DECODER_V210_V410 || INTERNAL_DECODER_MSVIDEO)
diff --git a/src/mpc-hc/PPageInternalFilters.cpp b/src/mpc-hc/PPageInternalFilters.cpp index 5556aa73c..1e812abf8 100644 --- a/src/mpc-hc/PPageInternalFilters.cpp +++ b/src/mpc-hc/PPageInternalFilters.cpp @@ -631,6 +631,11 @@ void CPPageInternalFilters::InitFiltersList() m_filters.Add(filter_t(_T("FLIC"), VIDEO_DECODER, TRA_FLIC, IDS_INTERNAL_LAVF));
}
#endif
+#if INTERNAL_DECODER_MSVIDEO
+ if (bLAVVideoIsAvailable) {
+ m_filters.Add(filter_t(_T("Microsoft Video"), VIDEO_DECODER, TRA_MSVIDEO, IDS_INTERNAL_LAVF));
+ }
+#endif
#if INTERNAL_DECODER_V210_V410
if (bLAVVideoIsAvailable) {
m_filters.Add(filter_t(_T("v210/v410"), VIDEO_DECODER, TRA_V210_V410, IDS_INTERNAL_LAVF));
|