From ee06796209773fc6dcb8ad5b358c3b1b07264a31 Mon Sep 17 00:00:00 2001 From: v0lt Date: Mon, 15 Apr 2024 21:20:07 +0300 Subject: [PATCH] =?UTF-8?q?=D0=98=D0=B3=D0=BD=D0=BE=D1=80=D0=B8=D1=80?= =?UTF-8?q?=D1=83=D0=B5=D0=BC=20ffdshow=20Video=20Codec=20x64,=20=D0=BF?= =?UTF-8?q?=D0=BE=D1=82=D0=BE=D0=BC=D1=83=20=D1=87=D1=82=D0=BE=20=D0=BE?= =?UTF-8?q?=D0=BD=20=D0=BF=D0=B0=D0=B4=D0=B0=D0=B5=D1=82=20=D0=BF=D0=BE?= =?UTF-8?q?=D1=81=D0=BB=D0=B5=20=D1=81=D0=BC=D0=B5=D0=BD=D1=8B=20=D0=BA?= =?UTF-8?q?=D0=BE=D0=BC=D0=BF=D0=B8=D0=BB=D1=8F=D1=82=D0=BE=D1=80=D0=B0=20?= =?UTF-8?q?=D0=B4=D0=BB=D1=8F=20VirtualDub2=20=D1=81=20Visual=20Studio=202?= =?UTF-8?q?008=20(=D1=81=D0=BC.=20About=20=D0=B1=D0=B8=D0=BB=D0=B4=D0=B0?= =?UTF-8?q?=2044282)=20=D0=BD=D0=B0=20Visual=20Studio=202019.=20=D0=9F?= =?UTF-8?q?=D1=80=D0=BE=D0=B1=D0=BB=D0=B5=D0=BC=D0=B0=20=D0=BF=D0=BE=D1=8F?= =?UTF-8?q?=D0=B2=D0=B8=D0=BB=D0=B0=D1=81=D1=8C=20=D1=81=D1=80=D0=B0=D0=B7?= =?UTF-8?q?=D1=83=20=D0=BF=D0=BE=D1=81=D0=BB=D0=B5=20commit=206b6e93d.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/VirtualDub/source/compchoose.cpp | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/src/VirtualDub/source/compchoose.cpp b/src/VirtualDub/source/compchoose.cpp index 6137761..a3cb4b3 100644 --- a/src/VirtualDub/source/compchoose.cpp +++ b/src/VirtualDub/source/compchoose.cpp @@ -531,10 +531,20 @@ void VDUIDialogChooseVideoCompressorW32::EnumerateCodecs() { swprintf(buf, 64, L"A video codec with FOURCC '%.4S'", (const char *)&info.fccHandler); VDExternalCodeBracket bracket(buf, __FILE__, __LINE__); - if (isEqualFOURCC(info.fccHandler, '1VSA')) + if (isEqualFOURCC(info.fccHandler, MAKEFOURCC('A','S','V','1'))) { plugin.hic = ICOpenASV1(info.fccType, info.fccHandler, ICMODE_COMPRESS); - else + } +#ifdef _M_AMD64 + else if (info.fccHandler == MAKEFOURCC('f','f','d','s')) { + // ffdshow Video Codec x64 crashes after changing the compiler + // for VirtualDub2 from VS 2008 to VS 2019 + // TODO: patches welcome + plugin.hic = 0; + } +#endif + else { plugin.hic = ICOpen(info.fccType, info.fccHandler, ICMODE_COMPRESS); + } } if (plugin.hic) {