QOI เด‡เดฎเต‡เดœเต เด•เด‚เดชเตเดฐเดทเตป เดซเต‹เตผเดฎเดพเดฑเตเดฑเต เด…เดตเดคเดฐเดฟเดชเตเดชเดฟเดšเตเดšเต

เด’เดฐเต เดชเตเดคเดฟเดฏ เดญเดพเดฐเด‚ เด•เตเดฑเดžเตเดžเดคเตเด‚ เดจเดทเตเดŸเดฎเดฟเดฒเตเดฒเดพเดคเตเดคเดคเตเดฎเดพเดฏ เด‡เดฎเต‡เดœเต เด•เด‚เดชเตเดฐเดทเตป เดซเต‹เตผเดฎเดพเดฑเตเดฑเต เด…เดตเดคเดฐเดฟเดชเตเดชเดฟเดšเตเดšเต - QOI (เดคเดฟเด•เดšเตเดšเตเด‚ เดถเดฐเดฟ เด‡เดฎเต‡เดœเต), เด‡เดคเต RGB, RGBA เด•เดณเตผ เดธเตโ€Œเดชเต†เดฏเตโ€Œเดธเตเด•เดณเดฟเตฝ เดšเดฟเดคเตเดฐเด™เตเด™เตพ เดตเดณเดฐเต† เดตเต‡เด—เดคเตเดคเดฟเตฝ เด•เด‚เดชเตเดฐเดธเต เดšเต†เดฏเตเดฏเดพเตป เดจเดฟเด™เตเด™เดณเต† เด…เดจเตเดตเดฆเดฟเด•เตเด•เตเดจเตเดจเต. PNG เดซเต‹เตผเดฎเดพเดฑเตเดฑเตเดฎเดพเดฏเดฟ เดชเตเดฐเด•เดŸเดจเด‚ เดคเดพเดฐเดคเดฎเตเดฏเด‚ เดšเต†เดฏเตเดฏเตเดฎเตเดชเต‹เตพ, SIMD เดจเดฟเตผเดฆเตเดฆเต‡เดถเด™เตเด™เดณเตเด‚ เด…เดธเด‚เดฌเตเดฒเดฟ เด’เดชเตเดฑเตเดฑเดฟเดฎเตˆเดธเต‡เดทเดจเตเด•เดณเตเด‚ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เดพเดคเตเดค C เดญเดพเดทเดฏเดฟเดฒเต† QOI เดซเต‹เตผเดฎเดพเดฑเตเดฑเดฟเดจเตเดฑเต† เดธเดฟเด‚เด—เดฟเตพ-เดคเตเดฐเต†เดกเต เดฑเดซเดฑเตปเดธเต เดจเดŸเดชเตเดชเดฟเดฒเดพเด•เตเด•เตฝ, เดŽเตปเด•เต‹เดกเดฟเด‚เด—เต เดตเต‡เด—เดคเดฏเดฟเตฝ libpng, stb_image เดฒเตˆเดฌเตเดฐเดฑเดฟเด•เดณเต‡เด•เตเด•เดพเตพ 20-50 เดฎเดŸเด™เตเด™เต เดตเต‡เด—เดคเดฏเตเดณเตเดณเดคเดพเดฃเต, เด•เต‚เดŸเดพเดคเต† 3 เดกเต€เด•เต‹เดกเดฟเด‚เด—เต เดตเต‡เด—เดคเดฏเดฟเตฝ -4 เดฎเดŸเด™เตเด™เต เดตเต‡เด—เดค. เด•เด‚เดชเตเดฐเดทเตป เด•เดพเดฐเตเดฏเด•เตเดทเดฎเดคเดฏเตเดŸเต† เด•เดพเดฐเตเดฏเดคเตเดคเดฟเตฝ, เดฎเดฟเด•เตเด• เดŸเต†เดธเตเดฑเตเดฑเตเด•เดณเดฟเดฒเตเด‚ QOI libpng-เดจเต เด…เดŸเตเดคเตเดคเดพเดฃเต (เดšเดฟเดฒ เดŸเต†เดธเตเดฑเตเดฑเตเด•เดณเดฟเตฝ เด‡เดคเต เด…เตฝเดชเตเดชเด‚ เดฎเตเดจเตเดจเดฟเดฒเดพเดฃเต, เดฎเดฑเตเดฑเตเดณเตเดณเดตเดฏเดฟเตฝ เด‡เดคเต เดคเดพเดดเตเดจเตเดจเดคเดพเดฃเต), เดŽเดจเตเดจเดพเตฝ เดชเตŠเดคเตเดตเต† เด‡เดคเต stb_image-เดจเต‡เด•เตเด•เดพเตพ เดฎเตเดจเตเดจเดฟเดฒเดพเดฃเต (20% เดตเดฐเต† เดจเต‡เดŸเตเดŸเด‚).

C-เดฏเดฟเดฒเต† เด•เตเดฏเตเด’เดเดฏเตเดŸเต† เดฑเดซเดฑเตปเดธเต เดจเดŸเดชเตเดชเดฟเดฒเดพเด•เตเด•เตฝ เด•เต‹เดกเดฟเดจเตเดฑเต† 300 เดตเดฐเดฟเด•เตพ เดฎเดพเดคเตเดฐเดฎเดพเดฃเต. MIT เดฒเตˆเดธเตปเดธเดฟเดจเต เด•เต€เดดเดฟเดฒเดพเดฃเต เดธเต‹เดดเตเดธเต เด•เต‹เดกเต เดตเดฟเดคเดฐเดฃเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเต. เด•เต‚เดŸเดพเดคเต†, เด—เต‹, เดธเดฟเด—เต, เดฑเดธเตเดฑเตเดฑเต เดญเดพเดทเด•เดณเดฟเตฝ เดŽเตปเด•เต‹เดกเดฑเตเด•เดณเตเดŸเต†เดฏเตเด‚ เดกเต€เด•เต‹เดกเดฑเตเด•เดณเตเดŸเต†เดฏเตเด‚ เดจเดŸเดชเตเดชเดพเด•เตเด•เดฒเตเด•เตพ เด‰เดคเตเดธเดพเดนเดฟเด•เตพ เดคเดฏเตเดฏเดพเดฑเดพเด•เตเด•เดฟเดฏเดฟเดŸเตเดŸเตเดฃเตเดŸเต. MPEG1 เดตเต€เดกเดฟเดฏเต‹ เดกเต€เด•เต‹เดกเต เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเดพเดฏเดฟ เด’เดฐเต เดฒเตˆเดฌเตเดฐเดฑเดฟ เดธเตƒเดทเตโ€ŒเดŸเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเตฝ เดชเดฐเดฟเดšเดฏเดฎเตเดณเตเดณ เด—เต†เดฏเดฟเด‚ เดกเต†เดตเดฒเดชเตเดชเดฑเดพเดฏ เดกเตŠเดฎเดฟเดจเดฟเด•เต เดธเดพเดฌเตเดฒเต†เดตเตโ€Œเดธเตโ€Œเด•เดฟ เด†เดฃเต เดˆ เดชเตเดฐเต‹เดœเด•เตโ€Œเดฑเตเดฑเต เดตเดฟเด•เดธเดฟเดชเตเดชเดฟเด•เตเด•เตเดจเตเดจเดคเต. QOI เดซเต‹เตผเดฎเดพเดฑเตเดฑเต เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต, เด…เดคเดฟเดธเด™เตเด•เต€เตผเดฃเตเดฃเดฎเดพเดฏ เด†เดงเตเดจเดฟเด• เด‡เดฎเต‡เดœเต เดŽเตปเด•เต‹เดกเดฟเด‚เด—เต เดซเต‹เตผเดฎเดพเดฑเตเดฑเตเด•เตพเด•เตเด•เต เดซเดฒเดชเตเดฐเดฆเดตเตเด‚ เดฒเดณเดฟเดคเดตเตเดฎเดพเดฏ เด’เดฐเต เดฌเดฆเตฝ เดธเตƒเดทเตเดŸเดฟเด•เตเด•เดพเตป เด•เดดเดฟเดฏเตเดฎเต†เดจเตเดจเต เดฐเดšเดฏเดฟเดคเดพเดตเต เด•เดพเดฃเดฟเด•เตเด•เดพเตป เด†เด—เตเดฐเดนเดฟเดšเตเดšเต.

QOI เดชเตเดฐเด•เดŸเดจเด‚ เดŽเตปเด•เต‹เดกเต เดšเต†เดฏเตเดค เดšเดฟเดคเตเดฐเดคเตเดคเดฟเดจเตเดฑเต† (O(n)) เดฑเต†เดธเดฒเตเดฏเต‚เดทเดจเดฟเตฝ เดจเดฟเดจเตเดจเตเด‚ เดธเตเดตเดญเดพเดตเดคเตเดคเดฟเตฝ เดจเดฟเดจเตเดจเตเด‚ เดธเตเดตเดคเดจเตเดคเตเดฐเดฎเดพเดฃเต. เดŽเตปเด•เต‹เดกเดฟเด‚เด—เตเด‚ เดกเต€เด•เต‹เดกเดฟเด‚เด—เตเด‚ เด’เดฐเต เดชเดพเดธเดฟเดฒเดพเดฃเต เดจเดŸเดคเตเดคเตเดจเตเดจเดคเต - เด“เดฐเต‹ เดชเดฟเด•เตเดธเดฒเตเด‚ เด’เดฐเต เดคเดตเดฃ เดฎเดพเดคเตเดฐเดฎเต‡ เดชเตเดฐเต‹เดธเดธเตเดธเต เดšเต†เดฏเตเดฏเตเด•เดฏเตเดณเตเดณเต‚, เดฎเตเดฎเตเดชเดคเตเดคเต† เดชเดฟเด•เตเดธเดฒเตเด•เดณเตเดŸเต† เดฎเต‚เดฒเตเดฏเด™เตเด™เตพ เด…เดจเตเดธเดฐเดฟเดšเตเดšเต เดคเดฟเดฐเดžเตเดžเต†เดŸเตเดคเตเดค 4 เดตเดดเดฟเด•เดณเดฟเตฝ เด’เดจเตเดจเดฟเตฝ เดŽเตปเด•เต‹เดกเต เดšเต†เดฏเตเดฏเดพเด‚. เด…เดŸเตเดคเตเดค เดชเดฟเด•เตเดธเตฝ เดฎเตเดฎเตเดชเดคเตเดคเต‡เดคเตเดฎเดพเดฏเดฟ เดชเตŠเดฐเตเดคเตเดคเดชเตเดชเต†เดŸเตเดจเตเดจเต†เด™เตเด•เดฟเตฝ, เด†เดตเตผเดคเตเดคเดจ เด•เต—เดฃเตเดŸเตผ เดตเตผเดฆเตเดงเดฟเด•เตเด•เตเดจเตเดจเต. 64 เด•เดดเดฟเดžเตเดž เดชเดฟเด•เตเดธเตฝ เดฌเดซเดฑเดฟเดฒเต† เดฎเต‚เดฒเตเดฏเด™เตเด™เดณเดฟเดฒเตŠเดจเตเดจเตเดฎเดพเดฏเดฟ เดชเดฟเด•เตเดธเตฝ เดชเตŠเดฐเตเดคเตเดคเดชเตเดชเต†เดŸเตเดจเตเดจเตเดตเต†เด™เตเด•เดฟเตฝ, เดฎเต‚เดฒเตเดฏเด‚ 6-เดฌเดฟเดฑเตเดฑเต เด“เดซเตเดธเต†เดฑเตเดฑเต เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดชเดดเดฏ เดชเดฟเด•เตเดธเดฒเดฟเดฒเต‡เด•เตเด•เต เดฎเดพเดฑเตเดฑเตเด‚. เดฎเตเดฎเตเดชเดคเตเดคเต† เดชเดฟเด•เตเดธเดฒเดฟเดจเตเดฑเต† เดจเดฟเดฑเด‚ เด…เดฒเตเดชเด‚ เดตเตเดฏเดคเตเดฏเดธเตเดคเดฎเดพเดฃเต†เด™เตเด•เดฟเตฝ, เดตเตเดฏเดคเตเดฏเดพเดธเด‚ เด’เดฐเต เดนเตเดฐเดธเตเดต เดฐเต‚เดชเดคเตเดคเดฟเตฝ เดธเต‚เดšเดฟเดชเตเดชเดฟเดšเตเดšเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต (2,4, 5, XNUMX เดฌเดฟเดฑเตเดฑเตเด•เดณเดฟเดฒเต‡เด•เตเด•เต เดฏเต‹เดœเดฟเด•เตเด•เตเดจเตเดจ เดตเตผเดฃเตเดฃ เด˜เดŸเด•เด™เตเด™เดณเดฟเดฒเต† เดตเตเดฏเดคเตเดฏเดพเดธเด™เตเด™เดณเตเดŸเต† เดนเตเดฐเดธเตเดต เดŽเตปเด•เต‹เดกเดฟเด‚เด—เต). เด’เดชเตเดฑเตเดฑเดฟเดฎเตˆเดธเต‡เดทเตป เดฌเดพเดงเด•เดฎเดฒเตเดฒเต†เด™เตเด•เดฟเตฝ, เดฎเตเดดเตเดตเตป rgba เดฎเต‚เดฒเตเดฏเดตเตเด‚ เดจเตฝเด•เดฟเดฏเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต.

เด…เดตเดฒเด‚เดฌเด‚: opennet.ru

เด’เดฐเต เด…เดญเดฟเดชเตเดฐเดพเดฏเด‚ เดšเต‡เตผเด•เตเด•เตเด•