From d6c178f9dc157d4e828614d9e6257912730f9aef Mon Sep 17 00:00:00 2001 From: Jake Archibald Date: Tue, 15 Dec 2020 10:32:20 +0000 Subject: [PATCH] Tweaking wp2 options --- codecs/wp2/dec/wp2_dec.wasm | Bin 478003 -> 478003 bytes codecs/wp2/dec/wp2_node_dec.wasm | Bin 478014 -> 478003 bytes codecs/wp2/enc/wp2_enc.cpp | 2 + codecs/wp2/enc/wp2_enc.d.ts | 9 +++ codecs/wp2/enc/wp2_enc.wasm | Bin 882887 -> 882894 bytes codecs/wp2/enc/wp2_enc_mt.wasm | Bin 893449 -> 893456 bytes codecs/wp2/enc/wp2_enc_mt_simd.wasm | Bin 996865 -> 996872 bytes codecs/wp2/enc/wp2_node_enc.wasm | Bin 882894 -> 882894 bytes src/features/encoders/wp2/client/index.tsx | 73 ++++++++++++++------- src/features/encoders/wp2/shared/meta.ts | 3 +- 10 files changed, 62 insertions(+), 25 deletions(-) mode change 100644 => 100755 codecs/wp2/dec/wp2_dec.wasm mode change 100644 => 100755 codecs/wp2/enc/wp2_enc.wasm mode change 100644 => 100755 codecs/wp2/enc/wp2_enc_mt.wasm mode change 100644 => 100755 codecs/wp2/enc/wp2_enc_mt_simd.wasm diff --git a/codecs/wp2/dec/wp2_dec.wasm b/codecs/wp2/dec/wp2_dec.wasm old mode 100644 new mode 100755 index 63aaf79737e32d74465448afcc03ee776d3481e7..48cba1100c44633d7b4da8276fb661e5026a1427 GIT binary patch delta 299 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 delta 6013 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 diff --git a/codecs/wp2/enc/wp2_enc.cpp b/codecs/wp2/enc/wp2_enc.cpp index 91989d4c..a85b38f1 100644 --- a/codecs/wp2/enc/wp2_enc.cpp +++ b/codecs/wp2/enc/wp2_enc.cpp @@ -18,6 +18,7 @@ struct WP2Options { int csp_type; int error_diffusion; bool use_random_matrix; + int tile_shape; }; val encode(std::string image_in, int image_width, int image_height, WP2Options options) { @@ -32,6 +33,7 @@ val encode(std::string image_in, int image_width, int image_height, WP2Options o config.sns = options.sns; config.error_diffusion = options.error_diffusion; config.use_random_matrix = options.use_random_matrix; + config.tile_shape = static_cast(options.tile_shape); uint8_t* image_buffer = (uint8_t*)image_in.c_str(); WP2::ArgbBuffer src = WP2::ArgbBuffer(); diff --git a/codecs/wp2/enc/wp2_enc.d.ts b/codecs/wp2/enc/wp2_enc.d.ts index 00ee4e63..9b85a4b1 100644 --- a/codecs/wp2/enc/wp2_enc.d.ts +++ b/codecs/wp2/enc/wp2_enc.d.ts @@ -8,6 +8,7 @@ export interface EncodeOptions { csp_type: Csp; error_diffusion: number; use_random_matrix: boolean; + tile_shape: TileShape; } export const enum UVMode { @@ -24,6 +25,14 @@ export const enum Csp { kYIQ, } +export const enum TileShape { + Square128, + Square256, + Square512, + Wide, + Auto, +} + export interface WP2Module extends EmscriptenWasm.Module { encode( data: BufferSource, diff --git a/codecs/wp2/enc/wp2_enc.wasm b/codecs/wp2/enc/wp2_enc.wasm old mode 100644 new mode 100755 index 80871e037722519ecbb69033eb8a46c1f93ea3d0..b7015720a0d55ed74baef87c47a891960f4b4a8c GIT binary patch delta 983 zcmXX_U2IfE6rM9P+u6H!Z@JxN!L%A?w;L$IHTY8-NCP_?YJE`?(ijc++um)#7}E!y z)TGkHO#ubEveViJi9f8+5+RFBX?DB!qFq8k(Zr`}V!;PUd>}|8C2Dl;+L_Gx&Ue1a zoS$Sa-D&^+PWzcGWhM@-2Z-k1q(4Uqu@DaMc*cUYYrz6Qq_iv0g#!oaD3$py*xTeV z{jk&;Y`~!p=mtazhN+ zgETE5-YBluL*jq%vJYbRoz48 z_d!J+_?65?)Qu&=hT_VrmJe9ZZk&1fy4>AR-hstd4CW7=t8aO@vDF<=9 zEQ3p=TMphQvE0lu(TD02P&3O7q^$0qXYYWlo@Ym|Qm6YeVrdx`LyvI28TeMKKDAWnmeWXQ*N5xT3mM^d!F^`E!Ee8Z2 zOpq2))ci9~#%9=hIHfvgSdf9Ix;&j(I%js4C}} z4f6LnwoA@mVZW%SYU~<@DYfP@JBM>8t}=DvYH;CsI4$36HAb*omf@t)qv>l&<5|2| z&Yevf>TELf+duH9I+iedzzA^KhLca?DRr~e{E7rNV%|a2#0E3B&2F=k36wz{{!D#P zk7doRo0}@E4I^>reuF^%wol4;3+8UPnOi8BYM~ImUBjQOQdeHGwlg`MwO)VdcA1&0 zhaO1n==m#dq*u`8cL9kb71`ui-B6J)I@ShbmYEPnqBtu@9IK^H8Vx?OL~i5G673L5K>b2}vImv{Ir*XV;$OobP<+ zJ2^9FGT+=!%->I3OmmEE0FwqFdw}1HfJGT2KF5l-)z@19gh76fubuji@Dn_j{Q}=+ zL;QHY(O*LYNBM{R6yJ4{AIm-+*hn9a1+KiFqFD`HX*v#B8R(_!>RjxP)(RR81)1sK6D;XO>|wd3mnPS{7zEQX z#36ftCj~@9;!d?B?z$*`cI8MfO_?q_&=517fITVwee``eFOT-o{Td$j(RsL#araT> z?qk;vLO~t*iOq!7Cx5aDSbcLA`!_P8_pWjH*-sr1zs<_7W!52ISz>K)P7W`zm*BA4 z`G6Tr-d$n^Iq-R}2 z5AvBg9FsS{!Vd7{+Btk&E`E)BRBRrwi8wPOJJVLYUDHsQ5E2eo zqBetwL09*fL>$*x7pN4g!7wW+(NSx~N{>F}n#Lx%Ds8Qi-=(e9`sMDWt*wuFXi}xG uHaLr>@860Mq5qe;SJtJhHyhj%nhX5U+Lj%ie?^Vt3VN0Csi)Gp2d diff --git a/codecs/wp2/enc/wp2_enc_mt.wasm b/codecs/wp2/enc/wp2_enc_mt.wasm old mode 100644 new mode 100755 index 5e4285d72e06acb84f8a1eb2e59648e61e1521fe..dc74307828a555b5244131f4d3bb27ce87eab5ea GIT binary patch delta 992 zcmYL{e`p*<6vyYioz3jt-d^`iPTHj4T&|HjOIj@C(n!%v$f+RdA6iQhL_rf{i^fZ8 z{>dK=t@IkGRylCMUxZpIv_X`Vj>U_)YhzoJT&z_q#*0MJ(!+>Bp(SuoXIG>w!}s&P zZ|3d3w=*`Aesd=M$u^TY7)k*&nU~7Ol*40g{CHO4FEzXAFR8Du#ivN2aJpK z%gN8|1`N&65}l|0bM$=vnzIGon>54e1bmy{v2|nODqZJr(n^esOE|O=nxUOsllM)K z&~RmPWb5rVC?6W>&5iVe8tKK91ts~>OE?I#YW>Uj8p2od{a0{W%hOrxf`S~+;vTpx z*Rps&6y@eY%xjq*#M9c`H-wF`BHJ5}3XDg>hQnFP=;Za@CHc+}cHUEDVQ{!DM!hWU z6cCSyUjj?~T4Z9mDA$It*C{d%P0bDud1d+Hemn^Ca%Dg6)3WDPyabnXd>9oUHg*of zlpI(w`tWNiqo1;vT3Im`$FG_oGmdY0z=#;t`p%c(BT3~xO8$^$y zj??ku9K?7*9`@)Xay3R{xsDjs%han*b;MZZf--+%yFp%AWNk9F$WGd}KAXfHUP3-q zVb8Rd{HAm>cZqz7aq2hcl1A}%5J130Cm~)h-YUuK71kXqF>zX_O~JFxMw2+H;}1*n zp(S=N%&ER5W-%zKf#2BOp!M+Y?0H}RxXyY&@+#Y)f6)U~woz`s!EUJ7k1Paoca=RV z&;G@h)CX1eoB?Hpf3h=}%daw(U$ss=0Sj__w>^f%g1pde@6zG=jJ*?=3%UM`t@<;e zh1>9tYR@>kz&1He;-)lCsIiBg{;-)s-fpOyk2}}eyrkFGOu9(BKR{np<%n~9OLU4Q zk%*&fb%OYhH>-{*Cu|%jlbTgW#KA9^wl~xqBHj%!Ub7exg**25|JxQ3H}BZTru~EW z)hwHca{&iMt_B#XSs@~p15Wt059w<}gs!dmgwId@_s*%nzoow=OvD*IZ6cEX{z`yY zvs@y64!9*KbKc)!)~pB-M*^NFzW-gol@>YhxpNAtxyFK{8Vh0b6!a+G=PtL%k6(93 S&mMIr04ptO+Z*l=_5T80?l(-8n?Q))={DC!=w;!=iV_qaCm;t z|9S5Jp6755ji(Ndr_Ma9vuG<==!as5{&xh>rc_U?wl_64+8O|%F#NplA;NSqW$x9k z(ksK?no;zR(aUs-_Ds_8;%#d!93IvKsRZ0CZdkV}af2?i9MVp-j7=P9Cp1ITj-t?Y zub|-j;rzNsNw~E?pDpCGAoE#lHJ~ECdJFqtTCR8-KSY=kpS_D^6<*C@Cya<=Iot`8 zVkw8uKv}f)VNr#0AD)8mL~lQ?jFs8$c$i~67|<+-wQ6Z65}FW4`!W4gnFYXdOg*|J#b$E;Om4m37djz3ftZ|=c;%6DN8_NuV+J-iB&1!n-IGoWo9 zfRcD;LF>jU72&fiCKnd8nYes1LQg~V`Y7AorV%x;&!NYTJHQu5#oZ`2|zL;U(h~62Nl(C=K4iGQhVXw7U+)>qt4ZK)k4s}Pi$x432OTc5IiV%#!soT&YfJ7*2uqB`Ii-utg$t4O}GMriXZ&WcDeE1A8ZSVU2|+6 zk^<&fR9}|kgB7uHj;#_q?z4?D{}+2hgR1=H0Xv7{^ZV>>p}5FoanU%j4JO2MUFJbN zG$t-}ncG#mB4cjFGh>CGj469E{^}!`m+Lduc92J2u(|_!3py#3u+6%i46P0&n@A^F z?_M(}N}fAl9bX$Ru@)qJXvxQw%1LNi9+g%=+dD<-hL7-l7nqWts9S`8>S4TYFv3fZ z}nFL?Sx zb(R3(=hPh&-s1MxJjA+T6aKTu&7RGu+o9KuAmIl*o*=HS-j~v6*NFE=tdsDd&|I=) jb19&ogw3+8+n#Nf9}U^30ab@JWDioJmhAZ0{xR||H4Qy8 diff --git a/codecs/wp2/enc/wp2_enc_mt_simd.wasm b/codecs/wp2/enc/wp2_enc_mt_simd.wasm old mode 100644 new mode 100755 index d71e33decfd4788cd2c4845460a29942ce74bf69..2fff957c1fd6d4da3c5a45107bf0271e476cc973 GIT binary patch delta 1055 zcmYL_ZERCj7{|}^+|%CE-rE=0W+H6sZMR{e*$7dDn1$?gE)sQ=k6cu8W z#1Bq{lqH%V-EuI|IjZZ}3#L$#^M#7-bnn38KIr1iLI4vYA26thmgwmv!Q7nt|2_Zb zoaa2}dH+W9ksHm~Wr~%a)Mfg-?m{C1P?g&1_`^pjI@UbY4z;xaKxpo1=XFh+px@;- zyDQQCEiKYn`t}SRPbJJI_$hbTtgnOl)X4hkx=Yk&Sfr6?Z60DlBcW}y#Zu(IXeSh0 z$X#Fm%qE!opmn!w-3^NlxR$Kh3$kV}Y7r=k;Bnj!Q?mCsJ`3_}8ru;j1rFkQCB;FE zLS8sB*a;J&D}x)LAdY4*rKElcM`23L58|npDE}(TM%6*@g<|6Td+E0SZ@EUxOfr|!i?w`##fc(hjCI} zeRu?CR-C?|Y(j7O~sQtX}SOP@fF}Bg=Qf0!}?5`7nUiMt$z4t+ICBLE`M$1q4 zkX8H_I{=%BNeApb|D9o*U%(pK}^D!x?^w2!TUX&LEbOoyU;eJv1^e1EZ-eq z8xUsYsWdx_$t@Wsw`5$s@4%c`sB!n;(Y)xYb;nhht95U~Y(A+4+-ez83z)CP;HrG{ zb+Zjz4vU7d{!tv0xi`!>b*x2elP1l#Oi!dL?B7`K;O@#0+%;&qC8BaopPPX%R^;_C z5@%scPh`H`AB;kQ*U9>Nb5%R#ujf6PWK zF)!g?+1y~4vC&atKEi*rd5)C*FUQL#ml{MQ<~arF` S~FQ1KtN6G@H$ delta 1026 zcmYL{U2IfE6vyYxo!vWoKXw<|VuXI&-IiL|6w(+gBn@^J8hM~B6xh@UiNp^g3W_mG z;)6xhwMI;In+&EOyDgz6w3^})=cUT+7TQV|AvRHY&_bvtAP*W*LS3R~FA3gc^8cOx znS0JXbLYLAEr)NmjLkD@m#43?r}T;#1gHt=&Az`vKpFGZKh$1b4L}&=w)n4W+BBQW ztuxB0G0D!cS@zm_b~c@~*1)CQJ62sSTuh%_TUq-p3z-gSBwCwI9B3r0jkP*R;R{{@ zp^&@2_K8Q~(vgjO)yBPW*#`@$s{Np<_ERke6Ebp)z5=tV=NNqw)X^b2$<-g9&~^&v z8`;}Wo4}P9`e_k{_hAscj=vZ5z=p9)fY@)Uoc^mpj=glxOq$zL-XEcE7{2LkR|1VSDz->&j7#3cek^rQEqH!TT#|`utRdw4mK|5lB^R`SG>NHdJz^j%W ztEdY<5+!kRcWD&vnheJm1as>%R?YDx<9Y)nqHxDA&=n*+tDcYBcg!~nq{ww5zWYi? z`@y0~#BUx(ikuVi!Pocg6CR=+AY$r&d)~vLD%iAQ7K?ywWSR!5Ka~9knCeA2 diff --git a/codecs/wp2/enc/wp2_node_enc.wasm b/codecs/wp2/enc/wp2_node_enc.wasm index cba2e782cfa0459a22f7aaae9dfa6c759a1b5c82..b7015720a0d55ed74baef87c47a891960f4b4a8c 100755 GIT binary patch delta 9117 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 delta 9063 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 SS(PisqeA=_v?|x=*Z&pwfu~*o diff --git a/src/features/encoders/wp2/client/index.tsx b/src/features/encoders/wp2/client/index.tsx index a7c4953e..4e9f64c9 100644 --- a/src/features/encoders/wp2/client/index.tsx +++ b/src/features/encoders/wp2/client/index.tsx @@ -10,6 +10,7 @@ import Checkbox from 'client/lazy-app/Compress/Options/Checkbox'; import Expander from 'client/lazy-app/Compress/Options/Expander'; import linkState from 'linkstate'; import Revealer from 'client/lazy-app/Compress/Options/Revealer'; +import { TileShape } from 'codecs/wp2/enc/wp2_enc'; export const encode = ( signal: AbortSignal, @@ -38,6 +39,7 @@ interface State { useRandomMatrix: boolean; showAdvanced: boolean; separateAlpha: boolean; + tileShape: number; } export class Options extends Component { @@ -62,6 +64,7 @@ export class Options extends Component { errorDiffusion: options.error_diffusion, useRandomMatrix: options.use_random_matrix, separateAlpha: options.quality !== options.alpha_quality, + tileShape: options.tile_shape, }; // If quality is > 95, it's lossless with slight loss @@ -121,6 +124,7 @@ export class Options extends Component { csp_type: optionState.colorSpace, error_diffusion: optionState.errorDiffusion, use_random_matrix: optionState.useRandomMatrix, + tile_shape: optionState.tileShape, }; // Updating options, so we don't recalculate in getDerivedStateFromProps. @@ -151,6 +155,7 @@ export class Options extends Component { useRandomMatrix, separateAlpha, showAdvanced, + tileShape, }: State, ) { return ( @@ -213,17 +218,23 @@ export class Options extends Component { )} - + + )} + + + + {showAdvanced && ( +
- {showAdvanced && ( + {!lossless && (
-
+ {/*
{ > Passes: -
+
*/}
{ Spatial noise shaping:
-
- - Error diffusion: - -
- */} +
+ + Error diffusion: + +
)}
+
)}
diff --git a/src/features/encoders/wp2/shared/meta.ts b/src/features/encoders/wp2/shared/meta.ts index d986fb34..2500b71d 100644 --- a/src/features/encoders/wp2/shared/meta.ts +++ b/src/features/encoders/wp2/shared/meta.ts @@ -11,7 +11,7 @@ * limitations under the License. */ import type { EncodeOptions } from 'codecs/wp2/enc/wp2_enc'; -import { UVMode, Csp } from 'codecs/wp2/enc/wp2_enc'; +import { UVMode, Csp, TileShape } from 'codecs/wp2/enc/wp2_enc'; export { EncodeOptions, UVMode, Csp }; @@ -28,4 +28,5 @@ export const defaultOptions: EncodeOptions = { csp_type: Csp.kYCoCg, error_diffusion: 0, use_random_matrix: false, + tile_shape: TileShape.Auto, };