mirror of
https://mirror.skon.top/https://github.com/FFmpeg/FFmpeg
synced 2026-04-23 02:11:14 +08:00
swscale/vulkan: implement SWS_OP_MIN/SWS_OP_MAX
Sponsored-by: Sovereign Tech Fund
This commit is contained in:
@@ -283,6 +283,19 @@ static int add_ops_glsl(VulkanPriv *p, FFVulkanOpsCtx *s,
|
||||
av_bprintf(&shd->src, " %s = %s*%i/%i;\n",
|
||||
type_name, type_name, op->c.q.num, op->c.q.den);
|
||||
break;
|
||||
case SWS_OP_MIN:
|
||||
case SWS_OP_MAX:
|
||||
for (int i = 0; i < 4; i++) {
|
||||
if (!op->c.q4[i].den)
|
||||
continue;
|
||||
av_bprintf(&shd->src, " %s.%c = %s(%s.%c, "QSTR");\n",
|
||||
type_name, "xyzw"[i],
|
||||
op->op == SWS_OP_MIN ? "min" : "max",
|
||||
type_name, "xyzw"[i],
|
||||
op->c.q4[i].num, op->c.q4[i].den,
|
||||
op->type == SWS_PIXEL_F32 ? ".0f" : "");
|
||||
}
|
||||
break;
|
||||
default:
|
||||
return AVERROR(ENOTSUP);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user