Mve: PNG рдлрд╝рд╛рдЗрд▓реЗрдВ рдЖрдпрд╛рдд рдХрд░рддреЗ рд╕рдордп рдореЗрдХрд╕реАрди рдХреНрд░реИрд╢ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ

рдХреЛ рдирд┐рд░реНрдорд┐рдд 5 рд╕рд┐рддре░ 2017  ┬╖  30рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: simonfuhrmann/mve

рдореБрдЭреЗ рдореЗрдХрд╕реАрди рдХрдорд╛рдВрдб рдХреЗ рд╕рд╛рде рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рд╣реИ рдЬрд┐рд╕реЗ рдореИрдВ рд╕реНрд╡рдпрдВ рд╣рд▓ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ред

рдореИрдВрдиреЗ рдЙрдмрдВрдЯреВ 16.04 64 рдмрд┐рдЯ рдХреЗ рддрд╣рдд Readme.md рдореЗрдВ рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХрд╛ рдХреНрд▓реЛрди рдФрд░ рдирд┐рд░реНрдорд╛рдг рдХрд┐рдпрд╛ рд╣реИред рдмрд┐рд▓реНрдб рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЗ рдмрд┐рдирд╛ рд╕рдВрдХрд▓рд┐рдд рдХрд░рддрд╛ рд╣реИ рдФрд░ рд╕рднреА рдРрдкреНрд╕ рд╡рд╣рд╛рдВ рдореМрдЬреВрдж рд╣реИрдВред

рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЕрдЧрд░ рдореИрдВ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд╕рд╛рде рдореЗрдХрд╕реАрди рдХрдорд╛рдВрдб рдЪрд▓рд╛рддрд╛ рд╣реВрдВ -i, рдпрд╣ рдХреЗрд╡рд▓ рджреГрд╢реНрдп рдлрд╝реЛрд▓реНрдбрд░ рдмрдирд╛рдПрдЧрд╛ рдФрд░ рдлрд┐рд░ "Ung├╝ltiger Maschinenbefehl (Speicherabzug geschrieben)" рд╕рдВрджреЗрд╢ рдХреЗ рд╕рд╛рде рдХреНрд░реИрд╢ рд╣реЛ рдЬрд╛рдПрдЧрд╛ (рдореИрдВ рдЙрдмрдВрдЯреВ рдХрд╛ рдЬрд░реНрдорди рд╕рдВрд╕реНрдХрд░рдг рдЪрд▓рд╛рддрд╛ рд╣реВрдВ)

рдореИрдВрдиреЗ рдХреЛрдб рдореЗрдВ рдЖрдЙрдЯрдкреБрдЯ рд╕рдВрджреЗрд╢реЛрдВ рдХреЛ рдпрд╣ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЬреЛрдбрд╝рд╛ рд╣реИ рдХрд┐ рдХрдорд╛рдВрдб рдХрд┐рддрдиреА рджреВрд░ рддрдХ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рд╣реЛрддрд╛ рд╣реИ рдФрд░ рдЬрд╛рд╣рд┐рд░ рддреМрд░ рдкрд░, рдХреНрд░реИрд╢ image_io.cc рдлрд╝рд╛рдЗрд▓ рдореЗрдВ, load_png_file рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ, 311-314 рд▓рд╛рдЗрдиреЛрдВ рдХреЗ рдЖрд╕рдкрд╛рд╕ рд╣реЛрддрд╛ рд╣реИ, рдЬрд╣рд╛рдВ рдкреЙрдЗрдВрдЯрд░реНрд╕ рд╕реЗрдЯ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред

рд╣рд╛рд▓рд╛рдВрдХрд┐, рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рдЗрд╕реЗ рдХреИрд╕реЗ рдареАрдХ рдХрд┐рдпрд╛ рдЬрд╛рдПред Headers.height рдФрд░ Headers.channels рдХреЗ рдорд╛рди рд╕рдордЭ рдореЗрдВ рдЖрддреЗ рд╣реИрдВред

рд╕рднреА 30 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

image_io рдореЗрдВ рджреБрд░реНрдШрдЯрдирд╛ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдЕрдкреЗрдХреНрд╖рд╛рдХреГрдд рдХрдо рд╣реИред рдХреНрдпрд╛ рдЖрдк рдПрдХ рдкрд░реАрдХреНрд╖рдг рдХрд╛рд░реНрдпрдХреНрд░рдо рд▓рд┐рдЦрдиреЗ рдФрд░ рдЫрд╡рд┐ рдХреЛ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рд▓реЛрдб рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?

#include "mve/image_io.h"
int main() {
  mve::image::load_png_file("your path");
  return 0;
}

рдХреНрдпрд╛ рдЫрд╡рд┐ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рдФрд░ рдЦрд╛рд╕ рд╣реИ? рдХреНрдпрд╛ рдпрд╣ 8 рдпрд╛ 16 рдмрд┐рдЯ рдкреАрдПрдирдЬреА рд╣реИ?

рдареАрдХ рд╣реИ, рдореИрдВрдиреЗ рдкрд░реАрдХреНрд╖рдг рдХрд╛рд░реНрдпрдХреНрд░рдо рд╕рдВрдХрд▓рд┐рдд рдХрд┐рдпрд╛ рд╣реИ рдФрд░ рдПрдХ рдкреАрдПрдирдЬреА рд▓реЛрдб рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛ рд╣реИ рдЬреЛ рдкрд░реАрдХреНрд╖рдг рдРрдк рдХреЗ рд╕рдорд╛рди рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рд╣реИред рдореБрдЭреЗ рдПрдХ рд╣реА рдкрд░рд┐рдгрд╛рдо рдорд┐рд▓рддрд╛ рд╣реИ, рдХрд╛рд░реНрдпрдХреНрд░рдо "рдЕрдирдЧреБрд▓реНрдЯрд┐рдЧрд░ рдорд╛рд╕реНрдЪрд┐рдиреЗрдирдмреЗрдлреЗрд▓ (рд╕реНрдкреАрдЪреЗрд░рдмрдЬрд╝рдЧ рдЧреЗрд╕реНрдХреНрд░рд┐рдмреЗрди)" рдХреЗ рд╕рд╛рде рджреБрд░реНрдШрдЯрдирд╛рдЧреНрд░рд╕реНрдд рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред

рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЕрдЧрд░ рдореИрдВ рдлрд╝рдВрдХреНрд╢рди рдХреЙрд▓ рдХреЛ "load_tiff_file" рдореЗрдВ рдмрджрд▓рддрд╛ рд╣реВрдВ рдФрд░ рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдПрдХ TIFF рдлрд╝рд╛рдЗрд▓ рд▓реЛрдб рдХрд░рддрд╛ рд╣реВрдВ, рддреЛ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдареАрдХ рдЪрд▓ рд░рд╣рд╛ рд╣реИред рд╢рд╛рдпрдж load_png_file рдлрд╝рдВрдХреНрд╢рди рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЯреВрдЯрд╛ рд╣реБрдЖ рд╣реИ?

рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рдХрд┐рд╕реА рднреА рдорджрдж рдХреА рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ рдХреЛрдб рдХреЛ рд╡рд╛рдкрд╕ load_png_file рдореЗрдВ рдмрджрд▓ рджрд┐рдпрд╛ рд╣реИ рдФрд░ рдЗрд╕ рдРрдк рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╕рд┐рд╕реНрдЯрдо рд▓реЙрдЧ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрдЯреНрд░реЗрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рд╣реИред рдХреНрд░реИрд╢ рд╣реЛрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдпреЗ рдЙрд╕ рд▓реЙрдЧ рдХреА рдЕрдВрддрд┐рдо рдХреБрдЫ рдкрдВрдХреНрддрд┐рдпрд╛рдБ рд╣реИрдВ:

14:00: 46.197536 рдЦреБрд▓рд╛ ("./frame_0001.png", O_RDONLY) = 3
14:00:46.197561 fstat(3, {st_mode=S_IFREG|0664, st_size=407653, ...}) = 0
14:00:46.197582 рдкрдврд╝реЗрдВ(3, "\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\5\0\0\2\320\10\2\0 \0\0@\37J"..., 4096) = 4096
14:00:46.197651 mmap(NULL, 2768896, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fcadc163000
14:00:46.198666 --- рд╕рд┐рдЧрд┐рд▓ {si_signo=SIGILL, si_code=ILL_ILLOPN, si_addr=0x40b69d} ---
14:00: 46.337334 +++ рд╕рд┐рдЧрд┐рд▓ рджреНрд╡рд╛рд░рд╛ рдорд╛рд░реЗ рдЧрдП (рдХреЛрд░ рдбрдВрдк рдХрд┐рдпрд╛ рдЧрдпрд╛) +++

рдХреНрдпрд╛ рдЖрдк рдореБрдЭреЗ рдЙрд╕ рдЫрд╡рд┐ рдХрд╛ рд▓рд┐рдВрдХ рднреЗрдЬрдиреЗ рдореЗрдВ рдХреЛрдИ рдЖрдкрддреНрддрд┐ рдХрд░ рд░рд╣реЗ рд╣реИрдВ?

рдореЗрд░рд╛ рдЕрдиреБрдорд╛рди рд╣реИ рдХрд┐ рдЫрд╡рд┐ рдореЗрдВ рд╕рд┐рд░реНрдл рдПрдХ рдкреАрдПрдирдЬреА рдПрдХреНрд╕рдЯреЗрдВрд╢рди рд╣реИ рд▓реЗрдХрд┐рди рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ рдкреАрдПрдирдЬреА рдирд╣реАрдВ рд╣реИ ... рдореИрдВрдиреЗ рдРрд╕реЗ рд╣реА рдореБрджреНрджреЛрдВ рдХреЛ рджреЗрдЦрд╛ рд╣реИ рдЬрд╣рд╛рдВ рдПрдХ ".рдкреАрдПрдирдЬреА" рдлрд╝рд╛рдЗрд▓ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЬреЗрдкреАрдИрдЬреА рдПрдиреНрдХреЛрдбреЗрдб рдереАред

http://maxdid.it/gamejam/img/frame_0001.png

рдореИрдВрдиреЗ рдПрдХ рд╡реАрдбрд┐рдпреЛ рдХреЗ рдлреНрд░реЗрдо рдХреЛ рдЫрд╡рд┐ рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ рдирд┐рд░реНрдпрд╛рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП ffmpeg рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ред

рдореИрдВрдиреЗ рд╕реЛрдЪрд╛ рдХрд┐ рдпрд╣ рдЧрд▓рдд рдлрд╝рд╛рдЗрд▓ рдкреНрд░рд╛рд░реВрдк рднреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ рдХрдиреНрд╡рд░реНрдЯ рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдЗрд╕реЗ рдкреАрдПрдирдЬреА рд╕реЗ рдЯрд┐рдл рдФрд░ рдмреИрдХ рдореЗрдВ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рд╣реИ, рдмрд┐рдирд╛ рдХрд┐рд╕реА рдкреНрд░рднрд╛рд╡ рдХреЗред

рдлрд╝рд╛рдЗрд▓ рдпрд╣рд╛рдБ рдареАрдХ рд▓реЛрдб рд╣реЛрддреА рд╣реИред

open("frame_0001.png", O_RDONLY) = 3
fstat(3, {st_mode=S_IFREG|0640, st_size=691915, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f5395d8a000
read(3, "\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\5\0\0\0\2\320\10\2\0\0\0@\37J"..., 4096) = 4096
mmap(NULL, 2768896, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f5393b87000
read(3, "\7\0?)\363\207i\27\30x'\356\330\214Xg\7\260\334W\23G\371\323\31 \323\2S\273\353\\"..., 4096) = 4096
...

рдЖрдкрдХреЗ strace рдХреЗ рдЕрдиреБрд╕рд╛рд░, рдЖрдкрдХрд╛ рдкреНрд░реЛрдЧреНрд░рд╛рдо SIGILL (KILL рдирд╣реАрдВ) рджреНрд╡рд╛рд░рд╛ рдорд╛рд░рд╛ рдЧрдпрд╛ рд╣реИред рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдЖрдкрдХрд╛ рдкреНрд░реЛрд╕реЗрд╕рд░ рдпрд╛ рдУрдПрд╕ рдПрдХ рдЕрдорд╛рдиреНрдп рдирд┐рд░реНрджреЗрд╢ рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд░рд╣рд╛ рд╣реИред рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рдЗрд╕рдХрд╛ рдХреНрдпрд╛ рдмрдирд╛рдирд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛтАЛтАЛрд╣реИ рдХрд┐ рдпрд╣ рдЖрдкрдХрд╛ рд╕рд┐рд╕реНрдЯрдо рд╣реИ, рдпрд╛ рдЖрдкрдХреА libpng рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд╣реИ рдЬреЛ рдХрд┐рд╕реА рддрд░рд╣ рдЧрдбрд╝рдмрдбрд╝ рд╣реИред рдХреНрдпрд╛ рдЖрдк libpng рдХреЛ рдкреБрдирдГ рд╕реНрдерд╛рдкрд┐рдд/рдЕрдкрдЧреНрд░реЗрдб рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?

рдЗрд╕рд▓рд┐рдП, рдореИрдВрдиреЗ apt-get install рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдП рдЧрдП libpng рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рдЕрдирдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░ рджрд┐рдпрд╛ рд╣реИ рдФрд░ рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рд╕реАрдзреЗ libpng рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдпрд╛ рд╣реИ, рдЗрд╕реЗ рдПрдХ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд┐рдпрд╛ рд╣реИред

рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдЗрд╕рдХрд╛ рдПрдХ рд╣реА рдкреНрд░рднрд╛рд╡ рд╣реИред рд╢рд╛рдпрдж рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдореЗрд░рд╛ рдкреНрд░реЛрд╕реЗрд╕рд░ рд╣реИ? рдореИрдВ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдПрдХ AMD Phenom II X4 965 рдкреНрд░реЛрд╕реЗрд╕рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ, рдЬреЛ рдХрд┐ рдирд╡реАрдирддрдо рдореЙрдбрд▓ рдирд╣реАрдВ рд╣реИ, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИред рдлрд┐рд░ рднреА, рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдореБрдЭреЗ рдкрд╣рд▓реЗ рдХрднреА рднреА рдЗрд╕реА рддрд░рд╣ рдХреА рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рд╣реБрдИ рдереАред

рд╡реИрд╕реЗ рднреА, рдЪреВрдВрдХрд┐ рдЖрдк рд▓реЛрдЧ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рдкреБрдирд░реБрддреНрдкрд╛рджрди рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореИрдВ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдмрдВрдж рдХрд░ рджреВрдВрдЧрд╛ред

рдореБрдЭреЗ рдпрд╣ рд╕реБрдирдХрд░ рдЦреЗрдж рд╣реИ рдХрд┐ рдпрд╣ рдЕрднреА рднреА рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдпрд╣ рдЖрдкрдХрд╛ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рд╣реИ... рд▓реЗрдХрд┐рди рдореИрдВ рд╡рд┐рдЪрд╛рд░реЛрдВ рд╕реЗ рдмрд╛рд╣рд░ рд╣реВрдВред рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ libpng рдХреЗ рд▓рд┐рдП рдХреБрдЫ рддреНрд╡рд░рдг рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЛ рдЕрдХреНрд╖рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдВрдХрд▓рди-рд╕рдордп рдХреЗ рдЭрдВрдбреЗ рд╣реЛрдВ? рдЗрд╕ рдмрд┐рдВрджреБ рдкрд░ рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдпрд╣ рдЬрд╛рдиреЗ рдмрд┐рдирд╛ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛ рд░рд╣рд╛ рд╣реВрдВ рдХрд┐ рд╕рдорд╕реНрдпрд╛ рдХреНрдпрд╛ рд╣реИред

рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рдХрдИ рдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рдмрд╛рдж рдЫрд╡рд┐ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдЖрдпрд╛рдд рдХрд░рддреЗ рд╕рдордп рдореЗрдХрд╕реАрди рдХреНрд░реИрд╢ рдХреНрдпреЛрдВ рд╣реЛрддрд╛ рд╣реИред рдпрд╣ libjpeg рдпрд╛ libpng рдХрд╛ рдХрд╛рд░рдг рдирд╣реАрдВ рд╣реИ, рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдХрд╛рд░рдг openMP рд╣реИред рдЖрдк Makecene.cc рдореЗрдВ рдЗрди рдХреЛрдбреЛрдВ рдХреЗ рд╕рд╛рде рдЗрд╕ рдмрдЧ рдХреЛ рдареАрдХ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
845 рд▓рд╛рдЗрди
mve::ImageBase::Ptr рдЫрд╡рд┐;

рдЖрджреЗрд╢рд┐рдд рдЕрдиреБрд╕реВрдЪреА рдХреЗ рд▓рд┐рдП рдкреНрд░рдЧрддрд┐ omp рд╕рдорд╛рдирд╛рдВрддрд░ (рдЧрддрд┐рд╢реАрд▓, 1)

for (std::size_t i = 0; i < dir.size(); ++i)

....
рдПрд╕рдЯреАрдбреА :: рд╕реНрдЯреНрд░рд┐рдВрдЧ рдПрдХреНрд╕рд┐рдл;

рдкреНрд░рдЬреНрдЮрд╛ рдУрдПрдордкреА рдХреНрд░рд┐рдЯрд┐рдХрд▓

    image = load_any_image(afname, &exif);

...

рд▓реЗрдХрд┐рди рдпрд╣ рдмрджрд▓рд╛рд╡ рдмрд╣реБрдд рдорд╛рдпрдиреЗ рдирд╣реАрдВ рд░рдЦрддрд╛ред рдЖрдк рдЫрд╡рд┐ рдХреЛ image рдЪрд░ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдЬреЛ рд╕рднреА рдереНрд░реЗрдбреНрд╕ рдореЗрдВ рд╕рд╛рдЭрд╛ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдФрд░ рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЫрд╡рд┐ рд▓реЛрдб рдХрд░рдирд╛ рдЕрдм рдХреНрд░рдордмрджреНрдз рд╣реИ, рдЖрдк рджреМрдбрд╝ рдХреА рд╕реНрдерд┐рддрд┐ рдХреЗ рдХрд╛рд░рдг рдЫрд╡рд┐ рдХреЛ рдЕрдзрд┐рд▓реЗрдЦрд┐рдд рдХрд░ рджреЗрдВрдЧреЗ рдФрд░ рдЫрд╡рд┐ рд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдЧрд▓рдд рдбреЗрдЯрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗред ..

рдХреНрдпрд╛ рдЖрдкрдиреЗ рдЗрдореЗрдЬ рд▓реЛрдб рд╣реЛрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рд╕рд┐рд░реНрдл #pragma omp рдХреНрд░рд┐рдЯрд┐рдХрд▓ рдбрд╛рд▓рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рд╣реИ?

@timlgy , рдХреНрдпрд╛ рдЖрдк рдХреГрдкрдпрд╛ рд╣рдореЗрдВ рдЕрдкрдиреЗ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рдФрд░ рдмрддрд╛ рд╕рдХрддреЗ рд╣реИрдВ? рдЖрдк рдХрд┐рд╕ рд╕реАрдкреАрдпреВ, рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдФрд░ рдХрдВрдкрд╛рдЗрд▓рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ?

рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП Ubuntu 14.04.5 LTS, 16U32G рдкрд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдФрд░ рдХрдВрдкрд╛рдЗрд▓рд░ gcc 4.8.4 (Ubuntu 4.8.4-2ubuntu1~14.04.3) PS 'рдЧрд▓рдд рдбреЗрдЯрд╛' рд╣реИ, рд╡рд╣ рдХреНрдпрд╛ рд╣реИ? рдкреНрд░реАрдмрдВрдбрд▓.рдПрд╕рдПрдлрдПрдо?

рдЗрд╕ рд▓реЗрдЦ рдХреЗ рдЕрдиреБрд╕рд╛рд░ #pragma omp рдХреНрд░рд┐рдЯрд┐рдХрд▓
omp рдХреНрд░рд┐рдЯрд┐рдХрд▓ рдбрд╛рдпрд░реЗрдХреНрдЯрд┐рд╡ рдХреЛрдб рдХреЗ рдПрдХ рд╕реЗрдХреНрд╢рди рдХреА рдкрд╣рдЪрд╛рди рдХрд░рддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рдПрдХ рд╕рдордп рдореЗрдВ рдПрдХ рд╣реА рдереНрд░реЗрдб рджреНрд╡рд╛рд░рд╛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рд╕реЛрдЪрд╛ рдХрд┐ рд╢рд╛рдпрдж рдЗрд╕ рдХреЛрдб рдХреЛ mve::ImageBase::Ptr imagel=oad_any_image(afname, &exif); рдХреЗ рдЕрдВрджрд░ рдбрд╛рд▓рддреЗ рд╕рдордп 'load_any_image' рдЦрддрд░рдирд╛рдХ рд╣реИ

load_any_image рдмрд╕ рдкреГрд╖реНрдарднреВрдорд┐ рдореЗрдВ libpng рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдареАрдХ рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рдкрд░ рдереНрд░реЗрдб-рд╕реБрд░рдХреНрд╖рд┐рдд рд╣реИ, рдЬреЛ рдореБрдЭреЗ рдЖрд╢рд╛ рд╣реИ рдХрд┐ рд╣рдо рдХрд░реЗрдВрдЧреЗред "рдЧрд▓рдд рдбреЗрдЯрд╛" рд╕реЗ рдореЗрд░рд╛ рдорддрд▓рдм рд╣реИ рдХрд┐, рдЙрдкрд░реЛрдХреНрдд рдХреЛрдб рдореЗрдВ, рдЫрд╡рд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдХрд┐рд╕реА рдЕрдиреНрдп рдЫрд╡рд┐ рдХреЗ рд╕рд╛рде рдУрд╡рд░рд░рд╛рдЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдЖрдк рдЕрдкрдиреЗ рд╡рд┐рдЪрд╛рд░ рдореЗрдВ рдЧрд▓рдд рдЫрд╡рд┐ рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рд╕рдорд╛рдкреНрдд рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВред

рдЕрдм рдмрд╕ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП, рдЗрди рджреБрд░реНрдШрдЯрдирд╛рдУрдВ рд╕реЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреМрди рдкреНрд░рднрд╛рд╡рд┐рдд рд╣реЛрддрд╛ рд╣реИ?

рдЬрдм рдореИрдВ рдХреЗрд╡рд▓ рдПрдХ рдЫрд╡рд┐ рд▓реЛрдб рдХрд░рддрд╛ рд╣реВрдВ (рдХрд┐рд╕реА рднреА рдкреНрд░рдХрд╛рд░ рдХрд╛ рдЬреЗрдкреАрдЬреА рдЯреАрдЖрдИрдПрдл рдпрд╛ рдкреАрдПрдирдЬреА) рдпрд╣ рдареАрдХ рд╣реИ, рд▓реЗрдХрд┐рди рдЬрдм рдореИрдВ рджреЛ рдЫрд╡рд┐рдпреЛрдВ (рдХрд┐рд╕реА рднреА рдкреНрд░рдХрд╛рд░) рдХреЛ рд▓реЛрдб рдХрд░рддрд╛ рд╣реВрдВ рддреЛ рдпрд╣ рдЙрдЪреНрдЪ рд╕рдВрднрд╛рд╡рдирд╛ рдХреЗ рд╕рд╛рде рджреБрд░реНрдШрдЯрдирд╛рдЧреНрд░рд╕реНрдд рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред

рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рдХрд╛рд░рдг рдХреНрдпрд╛ рд╣реИред рдЫрд╡рд┐рдпреЛрдВ рдХреЛ рд▓реЛрдб рдХрд░рдирд╛ рд╕рдорд╛рдирд╛рдВрддрд░ рдореЗрдВ рд╕рдВрднрд╡ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рдФрд░ рдореИрдВрдиреЗ рдХрднреА рднреА рдореБрджреНрджреЛрдВ рдХреЛ рдирд╣реАрдВ рджреЗрдЦрд╛ рд╣реИред рдпрджрд┐ рдЖрдк рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдмрдбрд╝реА рдЫрд╡рд┐рдпреЛрдВ рдХреЛ рд▓реЛрдб рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдХреНрдпрд╛ рдпрд╣ рджреБрд░реНрдШрдЯрдирд╛ рдЖрдкрдХреА рдЙрдкрд▓рдмреНрдз рд╕реНрдореГрддрд┐ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реЛ рд╕рдХрддреА рд╣реИ? рдореИрдВ рдХрд▓реНрдкрдирд╛ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ 2 рдЬреАрдмреА рд░реИрдо рдорд╢реАрди рдкрд░ рд╕рдорд╛рдирд╛рдВрддрд░ рдореЗрдВ 32 рдЫрд╡рд┐рдпреЛрдВ (рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдЗрддрдиреЗ рдХреЛрд░ рд╣реИрдВ) рд▓реЛрдб рдХрд░рдиреЗ рд╕реЗ рд╕рдорд╕реНрдпрд╛рдПрдВ рдкреИрджрд╛ рд╣реЛрдВрдЧреАред

рдЗрд╕ рдмреАрдЪ, $#$ load_any_image $#$ рд╕реЗ рдкрд╣рд▓реЗ рдХреЗрд╡рд▓ #pragma omp critical рдПрдХ рд▓рд╛рдЗрди рдбрд╛рд▓реЗрдВ, рдЬрд┐рд╕рд╕реЗ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рдорд╛рдзрд╛рди рд╣реЛ рдЬрд╛рдПред

@timlgy , рдХреНрдпрд╛ рдЖрдк рджреБрд░реНрдШрдЯрдирд╛ рдХрд╛ рдмреИрдХрдЯреНрд░реИрдХ рдкреЛрд╕реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?
рд╕рд╛рде рд╣реА, "16U32G" рд╕реЗ рдЖрдкрдХрд╛ рдХреНрдпрд╛ рдЕрднрд┐рдкреНрд░рд╛рдп рд╣реИ?

@andre-schulz 16U32G рдХрд╛ рдЕрд░реНрде рд╣реИ CPU 16 рдорд▓реНрдЯреАрдкрд▓ рдереНрд░реЗрдбреНрд╕ рдФрд░ 32GB рдореЗрдо

рдореИрдВ рд╡рд┐рдВрдбреЛрдЬ 7 64x рдкрд░ рдПрдХ рд╣реА рджреБрд░реНрдШрдЯрдирд╛ рдХрд╛ рдирд┐рд░реАрдХреНрд╖рдг рдХрд░рддрд╛ рд╣реВрдВ рдЬрд┐рд╕рдореЗрдВ рдирд┐рд░реНрджреЗрд╢ рджреНрд╡рд╛рд░рд╛ рдирд╡реАрдирддрдо рдПрдорд╡реА рдирд┐рд░реНрдорд╛рдг рд╣реЛрддрд╛ рд╣реИ:

crash

рд▓реЛрдб_рдПрдиреА_рдЗрдореЗрдЬ рд╕реЗ рдкрд╣рд▓реЗ ''рдПрдХ рд▓рд╛рдЗрди #pragma omp рдХреНрд░рд┐рдЯрд┐рдХрд▓ рдбрд╛рд▓рдиреЗ'' рдХреА рдХреЛрд╢рд┐рд╢ рдХреА, рд▓реЗрдХрд┐рди рдпрд╣ рдорджрдж рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдореИрдВ рдирд┐рд░реНрдорд╛рдг рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ред рд╣рдо рдЗрд╕реЗ рдХреИрд╕реЗ рд╣рд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ? рдпрд╣рд╛рдВ рдУрдкрдирдПрдордкреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдЙрджреНрджреЗрд╢реНрдп рдХреНрдпрд╛ рд╣реИ?

image

рд╕рд┐рд░реНрдл рдПрдХ рдЫрд╡рд┐ рдЖрдпрд╛рдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛: рдореБрдЭреЗ рднреА рд╡рд╣реА рджреБрд░реНрдШрдЯрдирд╛ рдорд┐рд▓рддреА рд╣реИред

рд╣рд╛рдп @ рд╕реНрдЯрд┐рд╡-рдпрд╛рдХреЛрд╡реЗрдВрдХреЛ,
рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд▓рд┐рдП рдЖрднрд╛рд░ред рдХреНрдпрд╛ рдЖрдкрдХреЗ рд▓рд┐рдП рд╕рдорд╕реНрдпрд╛ рдкреИрджрд╛ рдХрд░рдиреЗ рд╡рд╛рд▓реА рдкреАрдПрдирдЬреА рдлрд╝рд╛рдЗрд▓ рдкреЛрд╕реНрдЯ рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИ?
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЖрдк рдХрд┐рд╕ рд╕реАрдкреАрдпреВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ?

cpuz

рд╕рдорд╕реНрдпрд╛ рдпрд╣ рдкреНрд░рддреАрдд рд╣реЛрддреА рд╣реИ рдХрд┐ makescene рдбреАрдмрдЧ рдореЛрдб рдореЗрдВ рд╕рдВрдХрд▓рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рд▓реЗрдХрд┐рди рд░рд┐рд▓реАрдЬ рдореЛрдб рдореЗрдВ libpng рд╕реЗ рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рдерд╛; рд╢рд╛рдпрдж рд╡рд┐рднрд┐рдиреНрди рд░рдирдЯрд╛рдЗрдо рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ (/ рдПрдордбреА рдмрдирд╛рдо/рдПрдордбреАрдбреА) рдХреЗ рдЦрд┐рд▓рд╛рдл рдЬреЛрдбрд╝рдиреЗ рдореЗрдВ рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рд╣реИред рдореМрдЬреВрджрд╛ рдмрд┐рд▓реНрдб рд╕рд┐рд╕реНрдЯрдо рдХреЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЗ рдореЗрдВ рдпрд╣ рдПрдХ рд╕рдорд╕реНрдпрд╛ рд╣реИред рдореБрдЭреЗ рдЗрд╕рдХреА рдФрд░ рдЬрд╛рдВрдЪ-рдкрдбрд╝рддрд╛рд▓ рдХрд░рдиреА рд╣реИред
рдХреНрдпрд╛ рдЖрдк рдкреБрд╖реНрдЯрд┐ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ makescene RelWithDebInfo рдореЛрдб рдореЗрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ?

рдпрджрд┐ рдЖрдкрдХреЛ рдбреАрдмрдЧ рдореЛрдб рдореЗрдВ makescene рдЪрд▓рд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рдЖрдк рддреГрддреАрдп рдкрдХреНрд╖ $#$ CMakeLists.txt $#$ рдореЗрдВ Debug рд╕реЗ CMAKE_CONFIGURATION_TYPES рдЬреЛрдбрд╝рдХрд░ рдбреАрдмрдЧ рдореЛрдб рдореЗрдВ рддреГрддреАрдп рдкрдХреНрд╖ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЛ рд╕рдВрдХрд▓рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдлрд┐рд░, рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЗ рдбреАрдмрдЧ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЛ makescene рдХреЗ рдбреАрдмрдЧ рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд╕реНрдерд╛рди рдкрд░ рд╣рд╛рде рд╕реЗ рдкреБрди: рд╕рдВрдХрд▓рд┐рдд рдФрд░ рдХреЙрдкреА рдХрд░реЗрдВред рдореИрдВ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реВрдВрдЧрд╛ рдХрд┐ рдХреНрдпрд╛ рдореИрдВ рдЗрд╕реЗ рдХрд┐рд╕реА рддрд░рд╣ рдареАрдХ/рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВред

рдореИрдВ рдкреБрд╖реНрдЯрд┐ рдХрд░рддрд╛ рд╣реВрдВ рдХрд┐ рд░рд┐рд▓реАрдЬрд╡рд┐рдердбреЗрдм рд╕рдВрд╕реНрдХрд░рдг рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред

@ andre-schulz рд╣рд╛рдп, рдбрд┐рдмрдЧ рдореЛрдб рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЖрдкрдХреЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред рдореИрдВрдиреЗ рдбреАрдмрдЧ рдореЛрдб рдореЗрдВ рддреГрддреАрдп рдкрдХреНрд╖ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЛ рдлрд┐рд░ рд╕реЗ рд╕рдВрдХрд▓рд┐рдд рдХрд┐рдпрд╛ рд╣реИ рдФрд░ рдореЗрдХрд╕реАрди рдХреЗ рдбреАрдмрдЧ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ tiffd.dll, zlibd.dll рдЬреЛрдбрд╝реЗрдВред рдХрд╛рд░реНрдпрдХреНрд░рдо рдЕрднреА рднреА рджреБрд░реНрдШрдЯрдирд╛рдЧреНрд░рд╕реНрдд рд╣реЛ рдЧрдпрд╛

png_read_image(png, &row_pointers[0]);

image

@ рдЖрдВрджреНрд░реЗ-рд╢реБрд▓реНрдЬ рдЕрдм рдареАрдХ рд╣реИ! рддреГрддреАрдп рдкрдХреНрд╖ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЗ CMakeLists.txt рдореЗрдВ CMAKE_CONFIGURATION_TYPES рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдиреЗ рдФрд░ MVE.sln рдХреЗ рдЗрдирдкреБрдЯ рд▓рд┐рдм рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдбреАрдмрдЧ рдХреЗ рдкреВрд░реНрдг рд╕рдВрдХрд▓рди рдХреЗ рдмрд╛рдж, рдпрд╣ jpg рд▓реЛрдбрд┐рдВрдЧ рд╕рдорд╕реНрдпрд╛ рдХреЗ рд▓рд┐рдП рд╣рд▓ рд╣реЛ рдЧрдпрд╛ рд╣реИред

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

GustavoCamargoRL picture GustavoCamargoRL  ┬╖  13рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

HelliceSaouli picture HelliceSaouli  ┬╖  12рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

Jus80687 picture Jus80687  ┬╖  11рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

HelliceSaouli picture HelliceSaouli  ┬╖  14рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

daleydeng picture daleydeng  ┬╖  8рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ