diff --git a/src/filters/transform/vsfilter/csriapi.cpp b/src/filters/transform/vsfilter/csriapi.cpp index f4536459..0436a28c 100644 --- a/src/filters/transform/vsfilter/csriapi.cpp +++ b/src/filters/transform/vsfilter/csriapi.cpp @@ -114,6 +114,7 @@ CSRIAPI int csri_request_fmt(csri_inst *inst, const struct csri_fmt *fmt) // Check if pixel format is supported switch (fmt->pixfmt) { case CSRI_F_BGR_: + case CSRI_F_BGRA: inst->pixfmt = fmt->pixfmt; break; @@ -136,7 +137,10 @@ CSRIAPI void csri_render(csri_inst *inst, struct csri_frame *frame, double time) spd.w = inst->screen_res.cx; spd.h = inst->screen_res.cy; switch (inst->pixfmt) { + // xy-VSFilter treats BGR_ as having an alpha channel since 2014, + // specifically commit 6a6f7cb39a446aa761abe40ffc94d659fe4a4c3f case CSRI_F_BGR_: + case CSRI_F_BGRA: spd.type = MSP_RGBA; spd.bpp = 32; spd.bits = frame->planes[0]; @@ -146,7 +150,7 @@ CSRIAPI void csri_render(csri_inst *inst, struct csri_frame *frame, double time) default: ASSERT(0); CString msg; - msg.Format(_T("Anything other then RGB32 is NOT supported!")); + msg.Format(_T("Anything other than BGR(A)32 is NOT supported!")); MessageBox(NULL, msg, _T("Warning"), MB_OKCANCEL|MB_ICONWARNING); return; }