แƒ“แƒแƒœแƒ”แƒ แƒ’แƒ˜แƒšแƒ˜แƒ QOI แƒ’แƒแƒ›แƒแƒกแƒแƒฎแƒฃแƒšแƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒ™แƒฃแƒ›แƒจแƒ•แƒ˜แƒก แƒคแƒแƒ แƒ›แƒแƒขแƒ˜

แƒ“แƒแƒ˜แƒœแƒ”แƒ แƒ’แƒ แƒแƒฎแƒแƒšแƒ˜ แƒ›แƒกแƒฃแƒ‘แƒฃแƒฅแƒ˜, แƒฃแƒ“แƒแƒœแƒแƒ™แƒแƒ แƒ’แƒ แƒ’แƒแƒ›แƒแƒกแƒแƒฎแƒฃแƒšแƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒ™แƒฃแƒ›แƒจแƒ•แƒ˜แƒก แƒคแƒแƒ แƒ›แƒแƒขแƒ˜ - QOI (Quite OK Image), แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒแƒก แƒ’แƒแƒซแƒšแƒ”แƒ•แƒ— แƒซแƒแƒšแƒ˜แƒแƒœ แƒกแƒฌแƒ แƒแƒคแƒแƒ“ แƒจแƒ”แƒ™แƒฃแƒ›แƒจแƒแƒ— แƒกแƒฃแƒ แƒแƒ—แƒ”แƒ‘แƒ˜ RGB แƒ“แƒ RGBA แƒคแƒ”แƒ แƒ—แƒ แƒกแƒ˜แƒ•แƒ แƒชแƒ”แƒ”แƒ‘แƒจแƒ˜. แƒจแƒ”แƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒ˜แƒก PNG แƒคแƒแƒ แƒ›แƒแƒขแƒ—แƒแƒœ แƒจแƒ”แƒ“แƒแƒ แƒ”แƒ‘แƒ˜แƒกแƒแƒก, QOI แƒคแƒแƒ แƒ›แƒแƒขแƒ˜แƒก แƒ”แƒ แƒ—แƒœแƒแƒ™แƒแƒ“แƒ˜แƒแƒœแƒ˜ แƒ›แƒ˜แƒ—แƒ˜แƒ—แƒ”แƒ‘แƒ C แƒ”แƒœแƒแƒ–แƒ”, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒแƒ  แƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒก SIMD แƒ˜แƒœแƒกแƒขแƒ แƒฃแƒฅแƒชแƒ˜แƒ”แƒ‘แƒก แƒ“แƒ แƒแƒกแƒแƒ›แƒ‘แƒšแƒ”แƒ˜แƒก แƒแƒžแƒขแƒ˜แƒ›แƒ˜แƒ–แƒแƒชแƒ˜แƒ”แƒ‘แƒก, แƒ™แƒแƒ“แƒ˜แƒ แƒ”แƒ‘แƒ˜แƒก แƒกแƒ˜แƒฉแƒฅแƒแƒ แƒ”แƒจแƒ˜ 20-50-แƒฏแƒ”แƒ  แƒฃแƒคแƒ แƒ แƒกแƒฌแƒ แƒแƒคแƒ˜แƒ, แƒ•แƒ˜แƒ“แƒ แƒ” libpng แƒ“แƒ stb_image แƒ‘แƒ˜แƒ‘แƒšแƒ˜แƒแƒ—แƒ”แƒ™แƒ”แƒ‘แƒ˜, แƒ“แƒ 3. -4-แƒฏแƒ”แƒ  แƒฃแƒคแƒ แƒ แƒกแƒฌแƒ แƒแƒคแƒ˜ แƒ“แƒ”แƒ™แƒแƒ“แƒ˜แƒ แƒ”แƒ‘แƒ˜แƒก แƒกแƒ˜แƒฉแƒฅแƒแƒ แƒ”แƒจแƒ˜. แƒจแƒ”แƒ™แƒฃแƒ›แƒจแƒ•แƒ˜แƒก แƒ”แƒคแƒ”แƒฅแƒขแƒฃแƒ แƒแƒ‘แƒ˜แƒก แƒ—แƒ•แƒแƒšแƒกแƒแƒ–แƒ แƒ˜แƒกแƒ˜แƒ— QOI แƒขแƒ”แƒกแƒขแƒ”แƒ‘แƒ˜แƒก แƒฃแƒ›แƒ”แƒขแƒ”แƒกแƒแƒ‘แƒแƒจแƒ˜ แƒแƒฎแƒšแƒแƒก แƒแƒ แƒ˜แƒก libpng-แƒ—แƒแƒœ (แƒ–แƒแƒ’แƒ˜แƒ”แƒ แƒ— แƒขแƒ”แƒกแƒขแƒจแƒ˜ แƒแƒ“แƒœแƒแƒ• แƒฃแƒกแƒฌแƒ แƒ”แƒ‘แƒก, แƒ–แƒแƒ’แƒจแƒ˜ แƒ™แƒ˜ แƒฃแƒคแƒ แƒ แƒ“แƒแƒ‘แƒแƒšแƒ˜แƒ), แƒ›แƒแƒ’แƒ แƒแƒ› แƒ–แƒแƒ’แƒแƒ“แƒแƒ“ แƒจแƒ”แƒกแƒแƒ›แƒฉแƒœแƒ”แƒ•แƒแƒ“ แƒฃแƒกแƒฌแƒ แƒ”แƒ‘แƒก stb_image-แƒก (20%-แƒ›แƒ“แƒ” แƒ›แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ).

QOI-แƒ˜แƒก แƒ›แƒ˜แƒ—แƒ˜แƒ—แƒ”แƒ‘แƒ C-แƒจแƒ˜ แƒแƒ แƒ˜แƒก แƒ™แƒแƒ“แƒ˜แƒก แƒ›แƒฎแƒแƒšแƒแƒ“ 300 แƒฎแƒแƒ–แƒ˜. แƒฌแƒงแƒแƒ แƒแƒก แƒ™แƒแƒ“แƒ˜ แƒœแƒแƒฌแƒ˜แƒšแƒ“แƒ”แƒ‘แƒ MIT แƒšแƒ˜แƒชแƒ”แƒœแƒ–แƒ˜แƒ˜แƒ—. แƒ’แƒแƒ แƒ“แƒ แƒแƒ›แƒ˜แƒกแƒ, แƒ”แƒœแƒ—แƒฃแƒ–แƒ˜แƒแƒกแƒขแƒ”แƒ‘แƒ›แƒ แƒ›แƒแƒแƒ›แƒ–แƒแƒ“แƒ”แƒก แƒ”แƒœแƒ™แƒแƒ“แƒ”แƒ แƒ”แƒ‘แƒ˜แƒกแƒ แƒ“แƒ แƒ“แƒ”แƒ™แƒแƒ“แƒ”แƒ แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒœแƒฎแƒแƒ แƒชแƒ˜แƒ”แƒšแƒ”แƒ‘แƒ”แƒ‘แƒ˜ Go, Zig แƒ“แƒ Rust แƒ”แƒœแƒ”แƒ‘แƒ–แƒ”. แƒžแƒ แƒแƒ”แƒฅแƒขแƒก แƒแƒ›แƒฃแƒจแƒแƒ•แƒ”แƒ‘แƒก แƒ“แƒแƒ›แƒ˜แƒœแƒ˜แƒ™ แƒจแƒแƒ‘แƒšแƒ”แƒ•แƒกแƒ™แƒ˜, แƒ—แƒแƒ›แƒแƒจแƒ˜แƒก แƒ“แƒ”แƒ•แƒ”แƒšแƒแƒžแƒ”แƒ แƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒกแƒแƒช แƒแƒฅแƒ•แƒก แƒ’แƒแƒ›แƒแƒชแƒ“แƒ˜แƒšแƒ”แƒ‘แƒ MPEG1 แƒ•แƒ˜แƒ“แƒ”แƒแƒก แƒ“แƒ”แƒ™แƒแƒ“แƒ˜แƒ แƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒ‘แƒ˜แƒ‘แƒšแƒ˜แƒแƒ—แƒ”แƒ™แƒ˜แƒก แƒจแƒ”แƒกแƒแƒฅแƒ›แƒœแƒ”แƒšแƒแƒ“. QOI แƒคแƒแƒ แƒ›แƒแƒขแƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ— แƒแƒ•แƒขแƒแƒ แƒก แƒกแƒฃแƒ แƒ“แƒ แƒ”แƒฉแƒ•แƒ”แƒœแƒ”แƒ‘แƒ˜แƒœแƒ, แƒ แƒแƒ› แƒจแƒ”แƒกแƒแƒซแƒšแƒ”แƒ‘แƒ”แƒšแƒ˜แƒ แƒ–แƒ”แƒ“แƒ›แƒ”แƒขแƒแƒ“ แƒ แƒ—แƒฃแƒšแƒ˜ แƒ—แƒแƒœแƒแƒ›แƒ”แƒ“แƒ แƒแƒ•แƒ” แƒ’แƒแƒ›แƒแƒกแƒแƒฎแƒฃแƒšแƒ”แƒ‘แƒ˜แƒก แƒ™แƒแƒ“แƒ˜แƒ แƒ”แƒ‘แƒ˜แƒก แƒคแƒแƒ แƒ›แƒแƒขแƒ”แƒ‘แƒ˜แƒก แƒ”แƒคแƒ”แƒฅแƒขแƒฃแƒ แƒ˜ แƒ“แƒ แƒ›แƒแƒ แƒขแƒ˜แƒ•แƒ˜ แƒแƒšแƒขแƒ”แƒ แƒœแƒแƒขแƒ˜แƒ•แƒ˜แƒก แƒจแƒ”แƒฅแƒ›แƒœแƒ.

QOI แƒจแƒ”แƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒ แƒ“แƒแƒ›แƒแƒฃแƒ™แƒ˜แƒ“แƒ”แƒ‘แƒ”แƒšแƒ˜แƒ แƒ™แƒแƒ“แƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒกแƒฃแƒ แƒแƒ—แƒ˜แƒก แƒ’แƒแƒ แƒฉแƒ”แƒ•แƒแƒ“แƒแƒ‘แƒ˜แƒกแƒ แƒ“แƒ แƒฎแƒแƒกแƒ˜แƒแƒ—แƒ˜แƒกแƒ’แƒแƒœ (O(n)). แƒ“แƒแƒจแƒ˜แƒคแƒ•แƒ แƒ แƒ“แƒ แƒ’แƒแƒจแƒ˜แƒคแƒ•แƒ แƒ แƒฎแƒแƒ แƒชแƒ˜แƒ”แƒšแƒ“แƒ”แƒ‘แƒ แƒ”แƒ แƒ—แƒ˜ แƒžแƒแƒกแƒ˜แƒ— - แƒ—แƒ˜แƒ—แƒแƒ”แƒฃแƒšแƒ˜ แƒžแƒ˜แƒฅแƒกแƒ”แƒšแƒ˜ แƒ›แƒฃแƒจแƒแƒ•แƒ“แƒ”แƒ‘แƒ แƒ›แƒฎแƒแƒšแƒแƒ“ แƒ”แƒ แƒ—แƒฎแƒ”แƒš แƒ“แƒ แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ“แƒแƒจแƒ˜แƒคแƒ แƒฃแƒšแƒ˜ แƒ˜แƒงแƒแƒก 4-แƒ“แƒแƒœ แƒ”แƒ แƒ—-แƒ”แƒ แƒ—แƒ˜ แƒ’แƒ–แƒ˜แƒ—, แƒจแƒ”แƒ แƒฉแƒ”แƒฃแƒšแƒ˜ แƒฌแƒ˜แƒœแƒ แƒžแƒ˜แƒฅแƒกแƒ”แƒšแƒ”แƒ‘แƒ˜แƒก แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ‘แƒ”แƒ‘แƒ˜แƒก แƒ›แƒ˜แƒฎแƒ”แƒ“แƒ•แƒ˜แƒ—. แƒ—แƒฃ แƒจแƒ”แƒ›แƒ“แƒ”แƒ’แƒ˜ แƒžแƒ˜แƒฅแƒกแƒ”แƒšแƒ˜ แƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒ แƒฌแƒ˜แƒœแƒแƒก, แƒ›แƒแƒจแƒ˜แƒœ แƒ’แƒแƒ›แƒ”แƒแƒ แƒ”แƒ‘แƒ˜แƒก แƒ›แƒ แƒ˜แƒชแƒฎแƒ•แƒ”แƒšแƒ˜ แƒ›แƒฎแƒแƒšแƒแƒ“ แƒ˜แƒ–แƒ แƒ“แƒ”แƒ‘แƒ. แƒ—แƒฃ แƒžแƒ˜แƒฅแƒกแƒ”แƒšแƒ˜ แƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒ แƒ”แƒ แƒ—-แƒ”แƒ แƒ— แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ‘แƒแƒก 64 แƒฌแƒแƒ แƒกแƒฃแƒšแƒ˜ แƒžแƒ˜แƒฅแƒกแƒ”แƒšแƒ˜แƒก แƒ‘แƒฃแƒคแƒ”แƒ แƒจแƒ˜, แƒ›แƒแƒจแƒ˜แƒœ แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ‘แƒ แƒจแƒ”แƒ˜แƒชแƒ•แƒšแƒ”แƒ‘แƒ 6-แƒ‘แƒ˜แƒขแƒ˜แƒแƒœแƒ˜ แƒแƒคแƒกแƒ”แƒขแƒฃแƒ แƒ˜แƒ— แƒฌแƒ˜แƒœแƒ แƒžแƒ˜แƒฅแƒกแƒ”แƒšแƒ—แƒแƒœ. แƒ—แƒฃ แƒฌแƒ˜แƒœแƒ แƒžแƒ˜แƒฅแƒกแƒ”แƒšแƒ˜แƒก แƒคแƒ”แƒ แƒ˜ แƒแƒ“แƒœแƒแƒ• แƒ’แƒแƒœแƒกแƒฎแƒ•แƒแƒ•แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ, แƒ’แƒแƒœแƒกแƒฎแƒ•แƒแƒ•แƒ”แƒ‘แƒ แƒ›แƒ˜แƒ—แƒ˜แƒ—แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒ›แƒแƒ™แƒšแƒ” แƒคแƒแƒ แƒ›แƒ˜แƒ— (แƒคแƒ”แƒ แƒแƒ•แƒแƒœแƒ˜ แƒ™แƒแƒ›แƒžแƒแƒœแƒ”แƒœแƒขแƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒœแƒกแƒฎแƒ•แƒแƒ•แƒ”แƒ‘แƒ”แƒ‘แƒ˜แƒก แƒ›แƒแƒ™แƒšแƒ” แƒ™แƒแƒ“แƒ˜แƒ แƒ”แƒ‘แƒ, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒฏแƒ“แƒ”แƒ‘แƒ 2,4, 5 แƒ“แƒ XNUMX แƒ‘แƒ˜แƒขแƒจแƒ˜). แƒ—แƒฃ แƒแƒžแƒขแƒ˜แƒ›แƒ˜แƒ–แƒแƒชแƒ˜แƒ แƒแƒ  แƒ’แƒแƒ›แƒแƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒ, แƒ›แƒแƒฌแƒแƒ“แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒกแƒ แƒฃแƒšแƒ˜ rgba แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ‘แƒ.

แƒฌแƒงแƒแƒ แƒ: opennet.ru

แƒแƒฎแƒแƒšแƒ˜ แƒ™แƒแƒ›แƒ”แƒœแƒขแƒแƒ แƒ˜แƒก แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ