[Kde-imaging] [kipiplugins] [Bug 319882] Crash when stitching a panorama
Axel Krebs
axel.krebs at t-online.de
Fri Jun 7 17:04:22 UTC 2013
https://bugs.kde.org/show_bug.cgi?id=319882
--- Comment #5 from Axel Krebs <axel.krebs at t-online.de> ---
To compare with digiKam/kipiplugin capabilities, I started HUGIN with the same
(both) pics: crash!
Bug-report from HUGIN:
===========================================================================
*************** Panorama makefile generated by Hugin ***************
===========================================================================
System information
===========================================================================
Operating system: GNU/Linux
Release: 3.8.0-25-generic
Kernel version: #37-Ubuntu SMP Thu Jun 6 20:47:07 UTC 2013
Machine: x86_64
Disc usage
Dateisystem Größe Benutzt Verf. Verw% Eingehängt auf
/dev/sda1 19G 7,3G 11G 42% /
none 4,0K 0 4,0K 0% /sys/fs/cgroup
udev 3,9G 4,0K 3,9G 1% /dev
tmpfs 799M 1,2M 798M 1% /run
none 5,0M 0 5,0M 0% /run/lock
none 3,9G 1,2M 3,9G 1% /run/shm
none 100M 12K 100M 1% /run/user
/dev/sda2 181M 86M 87M 50% /boot
/dev/sdb1 1,8T 1,7T 54G 97% /data
/dev/sda4 895G 751G 100G 89% /home
/dev/sdi1 30G 5,2G 25G 18% /media/CORSAIR
/dev/sdh1 1,8T 1,6T 187G 90% /media/INTENSO_2TB
/dev/sdg1 91M 5,6M 80M 7%
/media/3cbb70ec-84cf-466c-ac1a-067aa63519f6
Memory usage
total used free shared buffers cached
Speicher: 7986 5394 2591 0 265 1495
-/+ Puffer/Zwischenspeicher: 3633 4352
Auslagerungsdatei: 3717 0 3717
===========================================================================
Output options
===========================================================================
Hugin Version: 2011.4.0.cf9be9344356
Project file: /tmp/huginpto_HqyXVG
Output prefix: DSC_0037-DSC_0038
Projection: Equirectangular (2)
Field of view: 24 x 106
Canvas dimensions: 4586 x 20255
Crop area: (601,16780) - (4314,20201)
Output exposure value: 13.01
Selected outputs
Normal panorama
* Blended panorama
Using GPU for remapping
===========================================================================
Input images
===========================================================================
Number of images in project file: 2
Number of active images: 2
Image 0: /home/ak/Downloads/QUADRO_Bilder/130530_TM/DSC_0037.JPG
Image 0: Size 5520x3680, Exposure: 12.98
Image 1: /home/ak/Downloads/QUADRO_Bilder/130530_TM/DSC_0038.JPG
Image 1: Size 5520x3680, Exposure: 13.03
===========================================================================
Testing programs
===========================================================================
Checking nona...[OK]
Checking enblend...[OK]
Checking enfuse...[OK]
Checking hugin_hdrmerge...[OK]
Checking exiftool...[OK]
===========================================================================
Stitching panorama
===========================================================================
nona -g -z LZW -r ldr -m TIFF_m -o DSC_0037-DSC_0038 -i 0 /tmp/huginpto_HqyXVG
nona: using graphics card: nouveau Gallium 0.4 on NV98
destStart=[601, 16780]
destEnd=[4169, 20201]
destSize=[(3568, 3421)]
srcSize=[(5520, 3680)]
srcBuffer=0x2aaab6518010
srcAlphaBuffer=0
destBuffer=0x2aaab9f37010
destAlphaBuffer=0x2aaabc224010
destGLInternalFormat=GL_RGBA8
destGLFormat=GL_RGB
destGLType=GL_UNSIGNED_BYTE
srcGLInternalFormat=GL_RGBA8
srcGLFormat=GL_RGB
srcGLType=GL_UNSIGNED_BYTE
srcAlphaGLType=GL_BYTE
destAlphaGLType=GL_UNSIGNED_BYTE
warparound=0
needsAtanWorkaround=0
maxTextureSize=8192
Source chunks:
[(0, 0) to (5520, 3680) = (5520x3680)]
Dest chunks:
[(0, 0) to (1784, 1711) = (1784x1711)]
[(1784, 0) to (3568, 1711) = (1784x1711)]
[(0, 1711) to (1784, 3421) = (1784x1710)]
[(1784, 1711) to (3568, 3421) = (1784x1710)]
Total GPU memory used: 276501856
Interpolator chunks:
[(0, 0) to (4, 4) = (4x4)]
#version 110
#extension GL_ARB_texture_rectangle : enable
uniform sampler2DRect SrcTexture;
float sinh(in float x) { return (exp(x) - exp(-x)) / 2.0; }
float cosh(in float x) { return (exp(x) + exp(-x)) / 2.0; }
float atan2_xge0(const in float y, const in float x) {
return atan(y, x);
}
float atan2_safe(const in float y, const in float x) {
return atan(y, x);
}
float atan_safe(const in float yx) {
return atan(yx);
}
void main(void)
{
float discardA = 1.0;
float discardB = 0.0;
vec2 src = gl_TexCoord[0].st;
src -= vec2(2293.0000000000000000, 10127.500000000000000);
// rotate_erect(34395.000000000000000, 269.34601504281783946)
{
src.s += 269.34601504281783946;
float w = (abs(src.s) > 34395.000000000000000) ? 1.0 : 0.0;
float n = (src.s < 0.0) ? 0.5 : -0.5;
src.s += w * -68790.000000000000000 * ceil(src.s /
68790.000000000000000 + n);
}
// sphere_tp_erect(10948.268535291481385)
{
float phi = src.s / 10948.268535291481385;
float theta = -src.t / 10948.268535291481385 + 1.5707963267948965580;
if (theta < 0.0) {
theta = -theta;
phi += 3.1415926535897931160;
}
if (theta > 3.1415926535897931160) {
theta = 3.1415926535897931160 - (theta - 3.1415926535897931160);
phi += 3.1415926535897931160;
}
float s = sin(theta);
vec2 v = vec2(s * sin(phi), cos(theta));
float r = length(v);
theta = 10948.268535291481385 * atan2_safe(r, s * cos(phi));
src = v * (theta / r);
}
// persp_sphere(10948.268535291481385)
{
mat3 m = mat3(6.1232339957367660359e-17, -0.71629207928719007548,
0.69780058551883850093,
1.0000000000000000000, 4.3860240107682970194e-17,
-4.2727962674939726463e-17,
0.0000000000000000000, 0.69780058551883850093,
0.71629207928719007548);
float r = length(src);
float theta = r / 10948.268535291481385;
float s = 0.0;
if (r != 0.0) s = sin(theta) / r;
vec3 v = vec3(s * src.s, s * src.t, cos(theta));
vec3 u = v * m;
r = length(u.st);
theta = 0.0;
if (r != 0.0) theta = 10948.268535291481385 * atan2_safe(r, u.p) / r;
src = theta * u.st;
}
// rect_sphere_tp(10948.268535291481385)
{
float r = length(src);
float theta = r / 10948.268535291481385;
float rho = 0.0;
if (theta >= 1.5707963267948965580) rho = 1.6e16;
else if (theta == 0.0) rho = 1.0;
else rho = tan(theta) / theta;
src *= rho;
}
// resize(1.4705521652215638451, 1.4705521652215638451)
src *= vec2(1.4705521652215638451, 1.4705521652215638451);
// radial(0.97129638591855782526, 0.0000000000000000000,
0.028703614081442199030, 0.0000000000000000000, 1840.0000000000000000,
1000.0000000000000000)
{
float r = length(src) / 1840.0000000000000000;
float scale = 1000.0;
if (r < 1000.0000000000000000) {
scale = ((0.0000000000000000000 * r + 0.028703614081442199030) * r
+ 0.0000000000000000000) * r + 0.97129638591855782526;
}
src *= scale;
}
src += vec2(2759.5000000000000000, 1839.5000000000000000);
src = src * discardA + vec2(-1000.0, -1000.0) * discardB;
gl_FragColor = vec4(src.s, 0.0, 0.0, src.t);
}
#version 110
#extension GL_ARB_texture_rectangle : enable
uniform sampler2DRect CoordTexture;
uniform sampler2DRect SrcTexture;
uniform sampler2DRect AccumTexture;
uniform vec2 SrcUL;
uniform vec2 SrcLR;
uniform vec2 KernelUL;
uniform vec2 KernelWH;
float w(const in float i, const in float f) {
float A = -0.75000000000000000000;
float c = abs(i - 1.0);
float m = (i > 1.0) ? -1.0 : 1.0;
float p = c + m * f;
if (i == 1.0 || i == 2.0) {
return (( A + 2.0 )*p - ( A + 3.0 ))*p*p + 1.0;
} else {
return (( A * p - 5.0 * A ) * p + 8.0 * A ) * p - 4.0 * A;
}
}
void main(void)
{
vec2 src = texture2DRect(CoordTexture, gl_TexCoord[0].st).sq;
vec4 accum = texture2DRect(AccumTexture, gl_TexCoord[0].st);
src -= SrcUL;
vec2 t = floor(src) + -0.50000000000000000000;
vec2 f = fract(src);
vec2 k = vec2(0.0, 0.0);
for (float ky = 0.0; ky < 4.0000000000000000000; ky += 1.0) {
k.t = ky + KernelUL.t;
float wy = w(k.t, f.t);
for (float kx = 0.0; kx < 4.0000000000000000000; kx += 1.0) {
k.s = kx + KernelUL.s;
float wx = w(k.s, f.s);
vec2 ix = t + k;
vec4 sp = texture2DRect(SrcTexture, ix);
float weight = wx * wy * sp.a;
accum += sp * weight;
}
}
gl_FragColor = accum;
}
#version 120
#extension GL_ARB_texture_rectangle : enable
uniform sampler2DRect NormTexture;
uniform sampler2DRect CoordTexture;
uniform sampler2DRect InvLutTexture;
uniform sampler2DRect DestLutTexture;
void main(void)
{
// Normalization
vec4 n = texture2DRect(NormTexture, gl_TexCoord[0].st);
vec4 p = vec4(0.0, 0.0, 0.0, 0.0);
if (n.a >= 0.2) p = n / n.a;
// Photometric
// invLutSize = 256.00000000000000000
// pixelMax = 255.00000000000000000
// destLutSize = 1024.0000000000000000
// destExposure = 0.00012155526470237255378
// srcExposure = 0.00012398333886234303380
// whiteBalanceRed = 1.0000000000000000000
// whiteBalanceBlue = 1.0000000000000000000
p.rgb = p.rgb * 255.00000000000000000;
vec2 invR = texture2DRect(InvLutTexture, vec2(p.r, 0.0)).sq;
vec2 invG = texture2DRect(InvLutTexture, vec2(p.g, 0.0)).sq;
vec2 invB = texture2DRect(InvLutTexture, vec2(p.b, 0.0)).sq;
vec3 invX = vec3(invR.x, invG.x, invB.x);
vec3 invY = vec3(invR.y, invG.y, invB.y);
vec3 invA = fract(p.rgb);
p.rgb = mix(invX, invY, invA);
// VigCorrMode=VIGCORR_RADIAL
float vig = 1.0;
{
vec2 vigCorrCenter = vec2(2759.5000000000000000,
1839.5000000000000000);
float radiusScale=0.00030146749794849404857;
float radialVigCorrCoeff0 = 1.0000000000000000000;
float radialVigCorrCoeff1 = 0.18668408896774799088;
float radialVigCorrCoeff2 = -0.93686420389978897205;
float radialVigCorrCoeff3 = 0.63815654815826194923;
vec2 src = texture2DRect(CoordTexture, gl_TexCoord[0].st).sq;
vec2 d = src - vigCorrCenter;
d *= radiusScale;
vig = radialVigCorrCoeff0;
float r2 = dot(d, d);
float r = r2;
vig += radialVigCorrCoeff1 * r;
r *= r2;
vig += radialVigCorrCoeff2 * r;
r *= r2;
vig += radialVigCorrCoeff3 * r;
}
vec3 exposure_whitebalance = vec3(0.98041612540644407225,
0.98041612540644407225, 0.98041612540644407225);
p.rgb = (p.rgb * exposure_whitebalance) / vig;
p.rgb = p.rgb * 1023.0000000000000000;
vec2 destR = texture2DRect(DestLutTexture, vec2(p.r, 0.0)).sq;
vec2 destG = texture2DRect(DestLutTexture, vec2(p.g, 0.0)).sq;
vec2 destB = texture2DRect(DestLutTexture, vec2(p.b, 0.0)).sq;
vec3 destX = vec3(destR.x, destG.x, destB.x);
vec3 destY = vec3(destR.y, destG.y, destB.y);
vec3 destA = fract(p.rgb);
p.rgb = mix(destX, destY, destA);
gl_FragColor = p;
}
gpu shader program compile time = 0.093
nona: Unsupported framebuffer format in:
/build/buildd/hugin-2011.4.0+dfsg/src/hugin_base/vigra_ext/ImageTransformsGPU.cpp:713
make: *** [DSC_0037-DSC_00380000.tif] Fehler 1
--
You are receiving this mail because:
You are the assignee for the bug.
More information about the Kde-imaging
mailing list