文章目录
<2022-03-30 Wed>
关于ImageMagick中resizeHorizontalFilter()中的scale变量
分析ImageMagick的accelerate.c:resizeHorizontalFilter()的源代码发现它的scale变量计算后只停留在此函数内,并没有往下传递进kernel函数,关于scale的计算代码是不是多余的?从目前我理解到的ImageMagick的逻辑来看,我认为它是多余的。因为向下传递给kernel函数的是resizeFilterScale变量,这个变量的值不依赖scale变量,而是通过传参获取现有的结构体中的值,且它进入kernel函数ResizeHorizontalFilter()后通过调用getResizeFilterWeight()函数再以filterType获得计算函数来进一步计算scale值,进而最终返回weight值。
另外发现在kernel函数ResizeHorizontalFilter()的开始部分scale又被计算了一次,因此我觉得可以确认accelerate.c:resizeHorizontalFilter()中的scale变量是多余的。
我在GraphicsMagick中应该怎么处理呢?考虑到GPU并行运行的影响,scale

文章讨论了ImageMagick中resizeHorizontalFilter()函数中scale变量的冗余性,以及在使用GPU加速时如何处理。同时提到了OpenCL编译错误,需要cl_khr_fp64support扩展,通过将double类型转换为float暂时解决。
最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



