diff --git a/src/filters/transform/vsfilter/csriapi.cpp b/src/filters/transform/vsfilter/csriapi.cpp index e7b5a0869..c99d28118 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];