From b3d6e94984ad6c6c73816153e0b174889be942d0 Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Tue, 26 Jan 2016 18:25:23 +0000 Subject: [PATCH] Optimisation for integral factors: favour shrink over affine --- src/pipeline.cc | 2 +- test/fixtures/expected/gamma-0.0.jpg | Bin 1729 -> 359 bytes 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pipeline.cc b/src/pipeline.cc index 02c812e0..c1d65c84 100644 --- a/src/pipeline.cc +++ b/src/pipeline.cc @@ -925,7 +925,7 @@ class PipelineWorker : public AsyncWorker { */ int CalculateShrink(double factor, int interpolatorWindowSize) { int shrink = 1; - if (factor >= 2 && interpolatorWindowSize > 3) { + if (factor >= 2.0 && trunc(factor) != factor && interpolatorWindowSize > 3) { // Shrink less, affine more with interpolators that use at least 4x4 pixel window, e.g. bicubic shrink = static_cast(floor(factor * 3.0 / interpolatorWindowSize)); } else { diff --git a/test/fixtures/expected/gamma-0.0.jpg b/test/fixtures/expected/gamma-0.0.jpg index 1734a5cc80cc85cd4c936e8c6d500c57da31a07d..01dba1c194d5dcc35791cd14268c05b244242a15 100644 GIT binary patch literal 359 zcmb`AO%8%E6olWi(83E*8fw9+fk@C|B;f`wJdjt=o4N21{v4)?J7i_z?B>gt8FzC} zH~{y2?t7g3TnHXeOcaKs#*-*cRhFenYqP9!GcOlf7rUZdZ|ZG5%bT{bZDniQji3;M z0!oMyYqYUH$6Y`MaD+3%6^tY@iS7zhK!koetm1D99UZtIDu?a^B8Kl5CSeb!{{EjE GbN3hPy(7y2 delta 1590 zcmV-62Fdy70>KRw|JeWF01!$>Nk#wx0RR9200961kpiH982|tS0RaI30000000000 z000020|5jD|HJ?)5C8%K0RsaB0s;d800000000335g`K-F(N@x1QRl0ae<++k-_lM z|HJ?q0RRI50RaI3000000000000IL91pxpC|HJ?z5dZ=L0s#d90RaI300000009C3 z0}&xH1QHW}K~XXy6eIuI01N{G00I#M5dc2`XR7f+y+?O!Nw%BtNw&$7lq3JMhMz&<^Oys$QUva0)H{5<$la36J7F>vbjx&k1(FC}ELtnoRXDWXwk1qAf-w~#}~LZzF7Eiq}ro%wWZIHvSURzYDxEh zvgANiL2NpViEX!wK?rSm&4~p!R+F(c6yW|&ysQR(W_g0DuZ%Yl+ z-1tRjTaIEBWX`QP?9);3HZLa8f=td1bKDN*HAcgbmRH~)3w~$Nbe%!Equt1Vl>h=L zGm};|EW0IC?}ECoIjRy$l4gZ}ktaGc6RufpKCV@!Ld&k0DR^S~kIn}s1@;kNZ?i1X z$?D;@N>SoRZW6IIA@0Ga!I{(D<9_4B%c|2`W+$U>*-7_!H`ID>ac|Sa`>!FPr?NU} zzNG&E*n0h4u=eBfmp@3hyBXYnl|JEzb8b-cJm%~G!ufu4%-_N2Xv5orUHhEglS_2> zJ|q2|yenWkdXn`PWcCOvVAV4e@zksFkWx}uV)rKOVX`6Ji>HT7c&4v#Rk}wB(T}3z zOZN!iF6npzJWVh4RrYggER*`k^IYACljRrJ`GlBYH5w6BoR^BYwD@X&j(DtFdGK^; zTd_S)8ItwKN(5~;a7ps8QZ&f?XD<&Xxz}?s>m>gGKKC@3YRF zUo%hg9znkh8Iq}jTB{G1~KL=9nGc&+X79(+~L&ZKW9X=a%Z!g(Moj* ziM3sUM1*qqc6341ZJM-c@;1x~y7g^HdZ!Nf`4&00`4^{iwbK=UZyc6Tq(*RWa`ME| z>)uI$RtruYSvk$g^4PJ2r7f{m&ZnSsXlN)$?c}`mC~LP7PAhieN-?QbE4<{R