From 5b12b152cfd36e10a59bf7a4c19b165912e6c713 Mon Sep 17 00:00:00 2001 From: Norman Rzepka Date: Mon, 24 Jun 2024 17:48:17 +0200 Subject: [PATCH] Adds checksum flag to zstd codec (#519) * expose checksum toggle for zstd * fixes zstd checksumming * less fixtures * write_checksum -> checksum * adds release notes * set default clevel to 0 * release * update fixtures * fix checksum flag * add test for checksum * adds wrapper codecs for the v2 codec pipeline * docstring --- docs/release.rst | 5 +- fixture/zstd/codec.00/config.json | 2 +- fixture/zstd/codec.07/config.json | 5 ++ fixture/zstd/codec.07/encoded.00.dat | Bin 0 -> 1911 bytes fixture/zstd/codec.07/encoded.01.dat | Bin 0 -> 5020 bytes fixture/zstd/codec.07/encoded.02.dat | Bin 0 -> 6994 bytes fixture/zstd/codec.07/encoded.03.dat | Bin 0 -> 264 bytes fixture/zstd/codec.07/encoded.04.dat | Bin 0 -> 475 bytes fixture/zstd/codec.07/encoded.05.dat | Bin 0 -> 8014 bytes fixture/zstd/codec.07/encoded.06.dat | Bin 0 -> 8014 bytes fixture/zstd/codec.07/encoded.07.dat | Bin 0 -> 3923 bytes fixture/zstd/codec.07/encoded.08.dat | Bin 0 -> 3924 bytes fixture/zstd/codec.07/encoded.09.dat | Bin 0 -> 651 bytes fixture/zstd/codec.07/encoded.10.dat | Bin 0 -> 652 bytes fixture/zstd/codec.07/encoded.11.dat | Bin 0 -> 659 bytes fixture/zstd/codec.07/encoded.12.dat | Bin 0 -> 657 bytes fixture/zstd/codec.08/config.json | 5 ++ fixture/zstd/codec.08/encoded.00.dat | Bin 0 -> 1911 bytes fixture/zstd/codec.08/encoded.01.dat | Bin 0 -> 5020 bytes fixture/zstd/codec.08/encoded.02.dat | Bin 0 -> 6994 bytes fixture/zstd/codec.08/encoded.03.dat | Bin 0 -> 264 bytes fixture/zstd/codec.08/encoded.04.dat | Bin 0 -> 475 bytes fixture/zstd/codec.08/encoded.05.dat | Bin 0 -> 8014 bytes fixture/zstd/codec.08/encoded.06.dat | Bin 0 -> 8014 bytes fixture/zstd/codec.08/encoded.07.dat | Bin 0 -> 3923 bytes fixture/zstd/codec.08/encoded.08.dat | Bin 0 -> 3924 bytes fixture/zstd/codec.08/encoded.09.dat | Bin 0 -> 651 bytes fixture/zstd/codec.08/encoded.10.dat | Bin 0 -> 652 bytes fixture/zstd/codec.08/encoded.11.dat | Bin 0 -> 659 bytes fixture/zstd/codec.08/encoded.12.dat | Bin 0 -> 657 bytes fixture/zstd/codec.09/config.json | 5 ++ fixture/zstd/codec.09/encoded.00.dat | Bin 0 -> 1048 bytes fixture/zstd/codec.09/encoded.01.dat | Bin 0 -> 4037 bytes fixture/zstd/codec.09/encoded.02.dat | Bin 0 -> 6414 bytes fixture/zstd/codec.09/encoded.03.dat | Bin 0 -> 161 bytes fixture/zstd/codec.09/encoded.04.dat | Bin 0 -> 365 bytes fixture/zstd/codec.09/encoded.05.dat | Bin 0 -> 7956 bytes fixture/zstd/codec.09/encoded.06.dat | Bin 0 -> 7969 bytes fixture/zstd/codec.09/encoded.07.dat | Bin 0 -> 3374 bytes fixture/zstd/codec.09/encoded.08.dat | Bin 0 -> 3392 bytes fixture/zstd/codec.09/encoded.09.dat | Bin 0 -> 850 bytes fixture/zstd/codec.09/encoded.10.dat | Bin 0 -> 854 bytes fixture/zstd/codec.09/encoded.11.dat | Bin 0 -> 849 bytes fixture/zstd/codec.09/encoded.12.dat | Bin 0 -> 849 bytes numcodecs/tests/test_zstd.py | 21 ++++++- numcodecs/zstd.pyx | 88 +++++++++++++++++++++------ 46 files changed, 108 insertions(+), 23 deletions(-) create mode 100644 fixture/zstd/codec.07/config.json create mode 100644 fixture/zstd/codec.07/encoded.00.dat create mode 100644 fixture/zstd/codec.07/encoded.01.dat create mode 100644 fixture/zstd/codec.07/encoded.02.dat create mode 100644 fixture/zstd/codec.07/encoded.03.dat create mode 100644 fixture/zstd/codec.07/encoded.04.dat create mode 100644 fixture/zstd/codec.07/encoded.05.dat create mode 100644 fixture/zstd/codec.07/encoded.06.dat create mode 100644 fixture/zstd/codec.07/encoded.07.dat create mode 100644 fixture/zstd/codec.07/encoded.08.dat create mode 100644 fixture/zstd/codec.07/encoded.09.dat create mode 100644 fixture/zstd/codec.07/encoded.10.dat create mode 100644 fixture/zstd/codec.07/encoded.11.dat create mode 100644 fixture/zstd/codec.07/encoded.12.dat create mode 100644 fixture/zstd/codec.08/config.json create mode 100644 fixture/zstd/codec.08/encoded.00.dat create mode 100644 fixture/zstd/codec.08/encoded.01.dat create mode 100644 fixture/zstd/codec.08/encoded.02.dat create mode 100644 fixture/zstd/codec.08/encoded.03.dat create mode 100644 fixture/zstd/codec.08/encoded.04.dat create mode 100644 fixture/zstd/codec.08/encoded.05.dat create mode 100644 fixture/zstd/codec.08/encoded.06.dat create mode 100644 fixture/zstd/codec.08/encoded.07.dat create mode 100644 fixture/zstd/codec.08/encoded.08.dat create mode 100644 fixture/zstd/codec.08/encoded.09.dat create mode 100644 fixture/zstd/codec.08/encoded.10.dat create mode 100644 fixture/zstd/codec.08/encoded.11.dat create mode 100644 fixture/zstd/codec.08/encoded.12.dat create mode 100644 fixture/zstd/codec.09/config.json create mode 100644 fixture/zstd/codec.09/encoded.00.dat create mode 100644 fixture/zstd/codec.09/encoded.01.dat create mode 100644 fixture/zstd/codec.09/encoded.02.dat create mode 100644 fixture/zstd/codec.09/encoded.03.dat create mode 100644 fixture/zstd/codec.09/encoded.04.dat create mode 100644 fixture/zstd/codec.09/encoded.05.dat create mode 100644 fixture/zstd/codec.09/encoded.06.dat create mode 100644 fixture/zstd/codec.09/encoded.07.dat create mode 100644 fixture/zstd/codec.09/encoded.08.dat create mode 100644 fixture/zstd/codec.09/encoded.09.dat create mode 100644 fixture/zstd/codec.09/encoded.10.dat create mode 100644 fixture/zstd/codec.09/encoded.11.dat create mode 100644 fixture/zstd/codec.09/encoded.12.dat diff --git a/docs/release.rst b/docs/release.rst index 148a9b00..8d36c444 100644 --- a/docs/release.rst +++ b/docs/release.rst @@ -17,9 +17,10 @@ Maintenance Enhancements ~~~~~~~~~~~~ - +* Add checksum flag to zstd and sets the default level to 0. + By :user:`Norman Rzepka `, :issue:`519`. * Add PCodec - By :user:`Ryan Abernathey `. + By :user:`Ryan Abernathey `, :issue:`501`. * Use PyData theme for docs By :user:`John Kirkham `, :issue:`485`. diff --git a/fixture/zstd/codec.00/config.json b/fixture/zstd/codec.00/config.json index dd42c2e1..4dd5847e 100644 --- a/fixture/zstd/codec.00/config.json +++ b/fixture/zstd/codec.00/config.json @@ -1,4 +1,4 @@ { "id": "zstd", - "level": 1 + "level": 0 } \ No newline at end of file diff --git a/fixture/zstd/codec.07/config.json b/fixture/zstd/codec.07/config.json new file mode 100644 index 00000000..8cc79f9b --- /dev/null +++ b/fixture/zstd/codec.07/config.json @@ -0,0 +1,5 @@ +{ + "checksum": true, + "id": "zstd", + "level": 0 +} \ No newline at end of file diff --git a/fixture/zstd/codec.07/encoded.00.dat b/fixture/zstd/codec.07/encoded.00.dat new file mode 100644 index 0000000000000000000000000000000000000000..1ad2e8d758ed2291cfd717e0feeab192db8b7152 GIT binary patch literal 1911 zcmW;3drTYW0RV8oybc1#GaqjQ=5-Ll!w~H7W!1{6^%hmrR-vz3wnH16+6$Ve&5CR< zs{}R=pAGnh`Fu7hQ~9U2{4r@LQrG;GKuEZdN7apeRWk*!4dl|wvwe%)s+u%uzhBp_ zzW@H}Po-~-W_|MY&l)SrUR)i@&-%Zfir06a59ax@Kg~{LZ>yHXlV`@!iPM+x#)fJ( zJ=rrFwWm?I=1_l|czoM9a&Ynmj7+LirpGsp!|NxX!SI;+ZsJkIsGm4_2t}PbX?o-~ z4roudU`V4*B=)Ww`wosjfjE}FV%nQB_O2iQ6|QclQR3khW6#9#pJ8w#{kG}hWh0|K z{t&J>(mzbdqsGpIco+sI)0a(hkFk9{?uY)d^!F3H^+w%9+y#BQ^q6V4*w~_t+o4yJ zel79fTZ8r>_6O*RrAAE;zBDwh$9@l&w^JjD`_ByZ6S1psX(OdK-QP3RYGc2Ii;h%Z zV&}F297KN#-IJ*v)6Pvp^?LNj&^4CoOx%kYDkq{pfPyZiGu?9=%C*tgp;MF6Cbq8| z=!2t+a3PkgH*HTDO4g4C;rw5cb>+Uz0KqO^n12V_!I6Ny_$Jw zKE9QH$95BrbKP{%@=$*qOuuQ{fIs58=#`AD#;>Ifwg`NS>!1S`c{4tq?y?0S%eB$| z%&s{;oUXCC;Tv2l?X&FaTBzDc!_JGJ(dTXvHjEws~H-( z26{Pj-yFM@`rJANhq*d>$#P#G3#N9hlW>5mp%*hdYV=y_W9t>z%blg&mYvP$c=~l+!u}TevdXnb}s4UL~#8QP{|p(hHXD&7=L~ zdsaQH<<8LanJx3tt>in_9$3v4(Q}q9{ZTOard0>axk7q2b5}jQmNZ!FVF{N{J1loM z566>T)=EfmxwJiV$9y=Ptg#luJT8ZxvE0!gRwoOs8ko&x(bJjJZ*1>3ts~F##NRIc z<@7&){9sSD=1XhB8o$P_F>BPC5|JZPM2PSaHo`=xh!U2=QdkJ{VK&T!sjwo-q9h6; zFR~&dQlb))LsCcx@gX+Egs6~$Wh`L<^O(g9rm(UquS%=JD!e(@?O@Be%>IeO#5BH%y&_~YW^XNP{PkM1L>IJ>z96pE6fpeq>_n;ooL%MM{>IU6}!3<&m zL%MJm>H=M)6L+Fc&`COQ2kHPFq#d`TcF<1Ra2sj^ZA6E4NC$MJ6}O^R&`Mfx3u*x^ zq!~A(X3$KuSc|kkOPX*KY64B95jUbn&`26^18M*bq#oC!dQea5a2=`xb)**8qFPW( zYH$sz0W}0*fB*pGEIy0Qg0rL=SEFiBO{#DessdG{5?7*1P)RCq1*!lQq#T!{a!^jn za2YBCWrW5wq5(}xaVaVVrKALxpb}6*&fqiX3^+rIaWN_e#iR%qp(0R3C`=&=P^1tS zqC!we3UC1`00kr;=c9a(Px5dc$^&^M7w4i}kV`aJgET-xa&QjH0XZZaXQOP8O|ozn z$^uzreedc1Y1F*`21$rti7&+$;)xg+qvE0XT>O{#h4{JnPw^k(XX2;g6Y){4=6emf S-=qpub^Tk7SEK!^W$J%>!ef*G literal 0 HcmV?d00001 diff --git a/fixture/zstd/codec.07/encoded.01.dat b/fixture/zstd/codec.07/encoded.01.dat new file mode 100644 index 0000000000000000000000000000000000000000..fd3607be6fe797969004e58ba8f5cbee1ddeefaa GIT binary patch literal 5020 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 literal 0 HcmV?d00001 diff --git a/fixture/zstd/codec.07/encoded.02.dat b/fixture/zstd/codec.07/encoded.02.dat new file mode 100644 index 0000000000000000000000000000000000000000..eb4ba7bf9da2d254d48169b7ccd1221d63d670ba GIT binary patch literal 6994 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 literal 0 HcmV?d00001 diff --git a/fixture/zstd/codec.07/encoded.04.dat b/fixture/zstd/codec.07/encoded.04.dat new file mode 100644 index 0000000000000000000000000000000000000000..7ee553b7bac65cecd0a30a111b5abacb34862f22 GIT binary patch literal 475 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 M>rY`x>jAp|10QjMumAu6 literal 0 HcmV?d00001 diff --git a/fixture/zstd/codec.07/encoded.06.dat b/fixture/zstd/codec.07/encoded.06.dat new file mode 100644 index 0000000000000000000000000000000000000000..3c692161db251affb707096e81a61d0b39c05dff GIT binary patch literal 8014 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 TqBw;0eKB{i#tFH*Mw9kGMbOi* literal 0 HcmV?d00001 diff --git a/fixture/zstd/codec.07/encoded.07.dat b/fixture/zstd/codec.07/encoded.07.dat new file mode 100644 index 0000000000000000000000000000000000000000..c83875ba928833286ef0608cc0d0c570993b7909 GIT binary patch literal 3923 zcmW;Og<2Ha0zl!tNdc*m5=XiYUD6>H*Ze8Nud+&kCLtTasvagYZg9iC0gz=)LgGA2_^C}ar$`#$4a{8v>evZHs3kPtA>Ts;S8YDM zD1Ph;XQVgytP!wB8`c}qOSyxA)P4m092n60Kp*PN93vJFa)m>nXxqBPr->dD8@r2G z@OzPm&zB3@Oe41L(xv+>Hxn2Dh^tI$56M>7)wR7qUT_60Av^W)0a;2DpuQvs=so)f zAkF0{$B?R=Lpq$$zEK_ISLFf9=XA=BP0|L7%sQt%@i*vKBHQ<2jwlPpj1A5bWWrn% zPF>s)ra1=NHU2xbt~L59_P- z&!t?G;Px#H(@m2AoagEWBiVCGpf8UL$QKHE6jsL#|Nho6CX;=AM8q`&#)^YreACAt zYCnH-F~iHgFH5iE01qE4bh<~0$=B7JF#)wZF_4orx0VpV_jQ^}B~@omN}{*=z7)|h zGT6{A5%OOzUL-(c&tuIOt%_;z_7V;J_)`Hh*>aqCp&%mnaW=I&=mYn5_P9%U^b`%D z5@htd@|Y`cG23fI$o+mfT9>MLNVS5@&lY+#mbkBiSk`fpFP!rX%rgI+j; zNpWc%hUG@6Uo%CwZu+N`;)5TZ8KA$sRW;%Uvsb?OXdLCk{@Zg4!=Su(0kAo?9Gvjr zTL6o4J4klZeMOgeLREH$Z8p(}O;VNlPE?@R0}%f)a989zh*K&PY)R>e+6uLl9vPb2 z`)9ICAsKS){+z(k^s%zP$#b|H`ohc{{;9xc1h6N8SAFBjpKvixuaCjV?>>GyB`71X31~6Wq zIbIOL!n;O&oGt4}Xq`w3g|7oBkiX0=P;!}!G9YJZ0~D!5Kv(2?Ev1z&nS7D5-0xYB zUTL@Np*_R*h)-g5_0p@rSHh$R*SRHNks{BOvZKD}QwZSIs|TMLK62m|7P`cd5Y1XQlR8f1|C# zppd^r{rWD*7qfttP3e^}giaur)5lkVZ0c~^&s=(A`Ca^AA>vy$KFX=(RwR(tn1`N4 z-_*YLNDZ}vz(_(a4y$*$6tn=I@so zerIPHVw80azmP(NV ztT%$*y{!SS>RkcGv=5HE72mY**sXxv37{=*FYr4eV5v!F^!|M~>|Vu(n+>T$6DjwJ zA7RJYXDJIUT<kX(!Oh0qs?t*mt>m={O+J^}&%h@-d>z>kgyxN@F%gj~9=hHrf*Y`GIEP4f-Vx8hvkkiZV4FVqM{_MqwWM{{D{3 z(z4)o=;C5T@Qt;#HXJ+hQzjjRzU6ObdWX~_ANozSUy;}0Iukz4sHij)6kI~KD;mt~sN{s=$x?wuIa2WJV55eVS9S<3&^$3USS-^;ekA`6X*$;DD5fXSZ=x zr3^H!@fFP95~o$uomw*Bg+I4iK8+od|157O%HXz--{$Oqlk!Y%PvwLRHVlD;i{04Y zf!jdal#iRa<#y}Di{aOB?^lcofr>uE70LsYm!BLpGLm;-uRUXny`ww6cH|f!^h92~QC`YVEY7S2T>k4% z9D5LA0;Jr_rR$|Yc(3SSJi2Lw)y!Lu_YF(TAE^6dtdV;K#& zEz`)aE&F7%|3(AWdi-^ceeWnE?}rpn?VS~hv4+FI#j zJ)t3rWP-jxXZktuzF+D$iliW>*Gz>{iO=&MRqtD6$q(CnW_|+lqudTul3qtT7hORk zg$5`itcf>2mBAcOjn`vGxgNrKfjBcO#(i98{(Ak%!O?at1-`~f%=Q$p6mhUIbL zutdgj=F{HMi!faGUauCFYeP#(e+RejOZxamARoCG0jhIG??}ozSMzkZ-z2&Z)Xlb2 zQ2xkCwWcAX`&&plqN~b=07@i#@Jt~NaH(2ovQi!!P#1jNPbN+0)XwGi$-;eHeRg;`L0SWmlH&1l8lfCGPAF1__ zu~;rCXH(&!3V8L+2u7i{%^z|B3vh0_`>sO+` zfEq``+`S=)zNBqo{@ACzW-wbUdc8&ZTOdjTg+frib?%2XE1&rhMMV%#S=} z)qNmr6ivFGbg($OOeaO;96pXx{`H&0>wH^{pNiJJ7@a(P;?00`|x6T3=_64{x`H*IA7XVOXWBA6dxi;;TUkYZ0yJX4!jp`Tc!V zPPSdEzy)?g5TR_Rxc3K#7h6e+vm22~%d6)ppsVJseKIZ0b_KB`Y7M>2i?cZF`{9^(NHT zq=Z%XqrnNixSP0`Ev_-9nOFw16G1qi_g)dL@Cj|WhTTV}7PsXSXnQj(q>Gg1#Em(l zJkv!vUMsHMSqay-6ua$CE;`_!M8YT3(~bQQoS60GE#a6+%eQ)!mn7oRtOTSVpERu> zh-@lvr42;$bs-%e*O*8Cr6yB$9Mxh-i>a~g>CmP-JZKiH20qA14!I z;aHH78%Hcxg>?*(y$oaTsq^8T_^H*Oth=RV8Qr)+ zo8rywcpRfn-$zmuzfB%SU}X)pR}bBHGRjDdAN$AYjhI#_Kz3X`+Re(UDJiN$BZBu3}{{rw$DV1edk!A;=o>ZwKFmdul<{bmQ=g|P89agDYdomN|6Afj z1NS3ZK~nu&I4I=V(M|J-xO#O6J_?=$Sig7RoQ?#B08LjK!0b+$yJPJ{098e@te0`w zh`qo%VIkn$HThg)1L|D!mzR06_~1gHVyUd6!ESuOtS&T;77F=Y;A+hRE``IvnRj~$ zg%iXV_@-iKIPUeu;rq(sH1QnS_sQ*8mNN2sB@iiOdihKeI(w>OLeX${mJoh2RfFeT zaVful8~bg-ub+oOD?Jt(?r*`3;)wfonUG(`Y7yf)G7okhuv^z3X*w>z1uwK>2nP(E zegp2?1ryT)LuWd;Pt8CPE0N*y3%W%u1H?O%rq$h5?Kr#oZo0F~VebLQa8o@!56Yqp z{;7ok*lCn&w)}m}E*prW{l z_GCaxzc)M5qIW?b;`U8J=kGV6<}(d=!%;%85oSyrl-h%B(Md=mR8MvcKB0I4@7B2k zeXUU6;RN{&HAc{`6$qSY+YS~r2SjIJ z{=5q(SZ68&2mQ7KLkR{z2W}~uj*uSN`Nid-7STa())6a(ridd<&PuNq!@#cIKIe^e zU|xG#NjUg3KRRj$vkE**b)z^yHPt;<_da<3mfs>R8ivvLFD0D8d`m9jMOo;au7FC- z;q==7PL*uZ2U9=ESV=X!kde}{!d*M@jk^=WPvZ3gt7L{Wdz*1g=f-QFtkN*ZP z)jsJUH$Idl@`o2|#<2Zcjh&E-?$7AIXF7A)ZI?JcD-j%Z2~}SJ+VuD7e~?bD;!hG2 zAX80|vL=U%nfYBi@?db5!i-&X)JC@FWaGgLz)`(1C1Vx=)~;%R@xN!Fu=y3BmB+t{ z$I3;Rc4YGFtl9bRybIur9|25qY%ovgF~idB+{oWJFh;_{o5Vkt5^#@NdMWP|3m1Sv zX$WSQCbG<7DAR+^y}7(L**~;)8k?h6$>O*4HO*K@8o?FtkZQ~~7xZKceiHRuXiD@`=yTuEPi zAyOo2etJFft^r~xbxdAiDg{s2KzC*em@p>SvyVfS7W5x0+@CgrTtUZ;Mt7=`UNvMu z_e1B6cEDgU&rkRu!Lb zb}9Pe?(7ER35@8}hR52LM-IikfFv0Eup11ka#!Zd4dmy9kKzo%$&KN3oZDGN_BctC zRM8#xdOt&jaH>?0EZ*{qaThXPI>H?|NLg^F>ceVm38rudGn$-@o`;djatB9CuvkSkHI$TchLJ?-qt!DQhBbFM7h-p8dEYZl0T*l>V)g% zgaDDR0&CM_wvSbS+|xV@KGY0zcb@*{8(}5cdXxI!FoF(%Wc*~X`?d(U3@hOUk1LV6 z{Y%m03^l{skA8CWfqSrJR~jaI(+Aq!ES-IKG798li|pN%E+!o#{)<9W&Vk+LGOo`e zz*Pc|R;X+30v@hNI^DU9J8VNWf2lQWNb_qN3XEidG?eN9>#LJVVkI%4q8<}2_1{wN z@ZH~s8QQ5AJ=hO7Zyfh`xTq3mvp4H(u~*M)Hd`CfU~}c&a$i}QHj-UYm`jx zW<+I$%MDF3tLK8??((8^(2Dn_i&@C~y%;HiL8S&o1hC!dAfGqBEAs9uh9aU7Q;LcU zdsrwYLD6NUMy%1RAQkN^mn1&>6myQv!vFU;{<&g}E|?BDh2f#a^zGs5SgD%;)H~My z68E(53uBWx2q6j35IpH@29F+pxP{a<=%^UE8KEGy*WHk3;3mljWa4Py9S+(Y^)ISv z`z7w?`ipXHmJaXCmeC)_5~Y7s;Kmz-_Gb_j{{cResVts< z0oUqMGCC(SF+XA>$kBh%5~g3SlbqpRch}h zKugu2=MGt5dx$4|$sZXA11s=QNebElZVeOD>UizqWP?BWfJ6wWBqV_TT6ps=nQ9rQ zCFaLk1sEkk5=Iv6|;$30b9pYkCc!v&IIgm$pLK~#%k7Buw>8GM~3Htzzm z=@$&7v_ja|$aDL3;iqd~KQ>uVUzM>B*37espTR3j=Q1!Gg#Fc$m- z$wh`4nbu%rArvse?M8xh`-F!NJG$+Lh`XqGiA-8n_q?6rU%rtgI^Y^8na9OTTD-MY zSlqZ?KDa)&#IVGc)FI-*Z{SlpzwE%ts9L580)_1FlW}|{rX5FQfPkVJ!v2Ow=;^uq z%gQOAO7!(xfQa^26&s^W?$+*&HmiUlM!qq48>kLzo*#FMp}WJ(^7x&v;KoxEHtzqn zuZ+rBzUJRnAD}O~3lftkyu>nL0TcKexRPkj>Ix`9;3^oD(txi(u`%ieQW)e}o za6&T*BnOtsnwt_Byz~-)|C9Tu?!cE%jtOE}o=QcmH_jQLw?PSWQrwM5iP>@j+R`jRhUbC;7#*hz!^-Qe->tz;rjM|7?xV<%XQ67uGXT( zPb@UKgH~C{>Db_+=qy z^i;<)qvVhm-@JZhMGNJuG5q)oa1VM`;q}1^cTqmJIF1$ZN9mOWWa#`kRq_0eKF9Ty z6|J7wI6&T`0t)(%H5P0WWe7Asku$322`Ll*7z*D9c3eapv+%Xj&jOVQeBAv)zpBpE zJ(v59XJ|;Ncz7menuAy=Y3 zJCzn0h~4b}GL+1ZtPw?E`%@!0M>p4IU#U9=1y-Mo&&$xJB5u*^WdFBJ+F*#Np!$T< z5LU9SmS-Cum!$X2d0_;@{ME;Vori8&(p~F6n=^f^Z~uxEX0Y0O92vj6u((?Ihv+5c zKk+C&$@z&##I`J=C0x}rq8`4_@n|%h0tSA1o$}eYAQ^4jC*yDJ;1LHKrKdfJ8z@3E zru4I+RB{!?mEE|AV>mhAhxagksqM|aC%#U?ahSCh$FzW=e>D=8uiBQiB$H? z?5?E$XB^wm*R0n6evaA0QEcbrg;^$pqDztXS;MVgk;8my?9xq}t=a$1LwqQ(cr-eF z$D0+goHP?~pU;8Jbh>>p^MyfO!ar&(@}@es-SoTftL=3hwf#iL@~(0Wt<6RfR!>n! z`-9_Vb{fN@HMi5yQw}9)iK+Q3-HM2upy~i2{aw-0ZQDL!QYb>R)*8KLvlOe%)txlO z#Ph^htZH1Gr@s8>Y`NRm3Fllb_KCmhkUhTe)Sz}0BpSeDvqKQ3~JA}<;?)M`SP=DN6rgr>Lb^m6ZwibiLK zI!Y;7?YKwF6pySZUC?lyi%X(8r0)

7?rTjufoC2p&WWZEZ+BQ{LjU^f2qkh88aggL!M+fTXdc|z#twz92CG? z@kFDDmk9g`nCH@bV5p0|ek2jW*YKdOd+=mIxsLsT(oSrpC(Svb{KLRZeS-HJxN`i{ z5Bggb;!6JE_H!4gdDmpUi(RU#25q#`Z!>X~kq0?-t2QhbYYBI89%MMIyHQvMzT(eL zyS;+57L}@Cp|pYfV3^YPS%}cLs<8L%D+Gc=j;1UZbWt_fsTki^kM&a0b+C5pl0MI` zZN<5w`06U**qol_lZ6a6PrYpK*AYW|WlvD?AAgQ8Tcy3CV2d2kOsf(@^R*&xyyi6y HO;-OuZ2l)~ literal 0 HcmV?d00001 diff --git a/fixture/zstd/codec.07/encoded.09.dat b/fixture/zstd/codec.07/encoded.09.dat new file mode 100644 index 0000000000000000000000000000000000000000..f05134ea32583ee83e418343b7ea39b102677c9a GIT binary patch literal 651 zcmV;60(AW-wJ-f-KpyQA0LHtD60o%c48t%C^VlZ4?PUv7Sh)j)0EGaA0ER=Aa7hRY zG3w=Ml>HvO(mQYiNXj#zanLWjILARyHXoN^;yfyJojN)r zPf>v2tu&fS4BBd*?9u~#Dur|8Blh^wLE7)Uk8qSk_;j;L=3Boe42D7u8j&Rj%6(~| z4TdX>Cq)A7_RD_&YP=>3D4-Ki3C}A6LBn=%Ns2>3LJQze7hor8?3K%L@M57YHt1p- zFHH@oI1A*|R{%<#73qupEyyufWV0+>UkS~M(m1(%Y%U4egUK*3Jlk?25o#OSO6You1eQ9!+x$4 zc_eU7oEgqd#wx2z+TQ8ip+uMI#mp)Cnp>b8^^6@zZjBBL=6Fvwgg5 zy2P4Goq{QHh7lAFit0mrfMX6&HF7!8SpfkN5fL8q!_MgF#4W+7<>=GWB*`xmz!4rT z55p9+?4!ejZdyr0VspGoXxQhTe3C%2_yIIfs)$g>&%{0)5d@$>I4>c&bo?RX`Z&+RF!0syq8T0jd>(+2bp-~?A#BNhMv literal 0 HcmV?d00001 diff --git a/fixture/zstd/codec.07/encoded.10.dat b/fixture/zstd/codec.07/encoded.10.dat new file mode 100644 index 0000000000000000000000000000000000000000..4c2d7e2d95b6dde57b2aae6f4f92eeb051429887 GIT binary patch literal 652 zcmV;70(1Q+wJ-f-KpyoI0G9iS60o%c48t%Cb0!ffGPWJAGRDk^=HIH5K&nj=*CG@% zF8zQXjslQACO19WfGVI9kOfo%?Eups(}!rQhsoH9LheOpr;yzlqhX$HSdKAbDPS{J z?-rHN!|=)(9gfNiB%s{1E%3y9H2}9ydLanaEMt6~YG26h5z%Tl>ePS+ zG#BzUQw5FmE9bi6%73&FD*Pdq98=^BcqM9r_+dkC$3bi|0vYUWOuSo*{csE@Q;Jt_ z_VEqC0i8#S0L2Jb+M+_34DY<+c_}#r0TB^VjXy;uNX#1QC~J(l4|_aMoW29oC$Xi;TVR*m$Cta zsi-3GJK~=M5=ao>9+dN*0a^@cIRz9jtqe&pQpAJ+gZAAZRg^}nnGLRpoIsd4^_`IF mKuXp?Q4t|&L<_^nHI7umf-&5w001pO3(x|z05@&zCX#tlswhMN literal 0 HcmV?d00001 diff --git a/fixture/zstd/codec.07/encoded.11.dat b/fixture/zstd/codec.07/encoded.11.dat new file mode 100644 index 0000000000000000000000000000000000000000..443547c75b67fb0c8f01140d83487e34431a6abd GIT binary patch literal 659 zcmV;E0&M*#wJ-f-Kprg=0LDCw5Wsi;|Nq;B%9VCElN8C49ftsh0EYmKe~N~1BR`L! zB|#U*Wx^;eX@!8642A$8=j0sKDL3PlxBf{V51__3w-7-FpKc7wXjKR=cS8**BF~>F z?u*jf3`N_=)u)B0VGZ4-uto6aOMpH1SB4ElQbLLzv4f&GIn^ zgCK~qlOSeAgh5&ECVG5LP(Ooqc}6(Zn^!BCF_0;jv50MFJZ?)7ewaauALT>=VFWq> zq7jB;%8p}z2#09Z0ZbG|PI)^GjpSyK=*5OCYgS4mZ|N*&&OctKF^WLlC{B!M-~;mS z6gm4fgwxb(s1dnGN>~Nl{VRyk11HD&B0a$w%QVUA+o>Q>n;#_m{1_t3jPt}1ma=Tl zZC%0W_RB(sF-CWWMX!ti%0&z=C`7VvM1g@`bI}N?s;a7NNDGI}mf>Lw^y)nsBDKn} zGp~leD~WgyTu2Hi*Fc2tuojAZN0kCjJO>2VmS_h=q@%`SJ{*895IqNqT46Jnf%oS| zm1Q|(UBQ8GU$C@n4&%Da-iTiPx!Q;V^CliWsE+I!8@1uW09-9>@`OMRpEc>>3n}n) ztr9w#bbX%)gSV(6@H^t40}@Cezz5~rGgzcm_mDXrqV_zZ6()cJivbgGVnYrZu&Pr% tPFPHJCzf4t#7-i{2-L|SbXe@Q%I*Mw7N7-aO|^g)pap0FdfHFM(oIMUBQ*d3 literal 0 HcmV?d00001 diff --git a/fixture/zstd/codec.07/encoded.12.dat b/fixture/zstd/codec.07/encoded.12.dat new file mode 100644 index 0000000000000000000000000000000000000000..7dd61e18f3713825c4031c0b679887fd468f5e99 GIT binary patch literal 657 zcmV;C0&e{%wJ-f-Kpq_w00z8@60o%c48t%Cb9x!sZc>V+yD0^R0EGaA0AZ-Dh8Lv? z-KdA^1t|6WI^yT?GMdLBdUWDMK^SC$oCXNP5sIn*s6}Gb2Lvz(HlC{!U=(z+#H^ip z6$}*n(8D{WiAE4B((AV{3+YHBCyL{l{e~lIMi)TDQNcu9*|i7W$qqvT1l3-$3wVBs zz`z4W1`fY93Jo-2Kp)TvXalN%N`b2V;baKKmSH#Z(-7NG~OJzZQacbcJ zheg%?l<5p*mQW!8bl$nM7L#-rtWPNjyz#*%rZAJpEY#9_WapGCv*!K^2&@5{0b-~F zF75}F5+Rn!6a8^_)W&k-Ukw1DJ*Nff8<%Sen|yOZxqiqa&sInxW8Q8!0i+z|2;!>D zG!}7tPSz+CatQX(+d$H4-tQN3yA#*;!Yg=D5b{0Sh}nnDv}S$qEV-32KFx r!&6f3F!B+?1q4Pjpny?h5t%q39u)wf1!w_UfEJ(yXaRQGiX6WUi{>Rj literal 0 HcmV?d00001 diff --git a/fixture/zstd/codec.08/config.json b/fixture/zstd/codec.08/config.json new file mode 100644 index 00000000..8cc79f9b --- /dev/null +++ b/fixture/zstd/codec.08/config.json @@ -0,0 +1,5 @@ +{ + "checksum": true, + "id": "zstd", + "level": 0 +} \ No newline at end of file diff --git a/fixture/zstd/codec.08/encoded.00.dat b/fixture/zstd/codec.08/encoded.00.dat new file mode 100644 index 0000000000000000000000000000000000000000..1ad2e8d758ed2291cfd717e0feeab192db8b7152 GIT binary patch literal 1911 zcmW;3drTYW0RV8oybc1#GaqjQ=5-Ll!w~H7W!1{6^%hmrR-vz3wnH16+6$Ve&5CR< zs{}R=pAGnh`Fu7hQ~9U2{4r@LQrG;GKuEZdN7apeRWk*!4dl|wvwe%)s+u%uzhBp_ zzW@H}Po-~-W_|MY&l)SrUR)i@&-%Zfir06a59ax@Kg~{LZ>yHXlV`@!iPM+x#)fJ( zJ=rrFwWm?I=1_l|czoM9a&Ynmj7+LirpGsp!|NxX!SI;+ZsJkIsGm4_2t}PbX?o-~ z4roudU`V4*B=)Ww`wosjfjE}FV%nQB_O2iQ6|QclQR3khW6#9#pJ8w#{kG}hWh0|K z{t&J>(mzbdqsGpIco+sI)0a(hkFk9{?uY)d^!F3H^+w%9+y#BQ^q6V4*w~_t+o4yJ zel79fTZ8r>_6O*RrAAE;zBDwh$9@l&w^JjD`_ByZ6S1psX(OdK-QP3RYGc2Ii;h%Z zV&}F297KN#-IJ*v)6Pvp^?LNj&^4CoOx%kYDkq{pfPyZiGu?9=%C*tgp;MF6Cbq8| z=!2t+a3PkgH*HTDO4g4C;rw5cb>+Uz0KqO^n12V_!I6Ny_$Jw zKE9QH$95BrbKP{%@=$*qOuuQ{fIs58=#`AD#;>Ifwg`NS>!1S`c{4tq?y?0S%eB$| z%&s{;oUXCC;Tv2l?X&FaTBzDc!_JGJ(dTXvHjEws~H-( z26{Pj-yFM@`rJANhq*d>$#P#G3#N9hlW>5mp%*hdYV=y_W9t>z%blg&mYvP$c=~l+!u}TevdXnb}s4UL~#8QP{|p(hHXD&7=L~ zdsaQH<<8LanJx3tt>in_9$3v4(Q}q9{ZTOard0>axk7q2b5}jQmNZ!FVF{N{J1loM z566>T)=EfmxwJiV$9y=Ptg#luJT8ZxvE0!gRwoOs8ko&x(bJjJZ*1>3ts~F##NRIc z<@7&){9sSD=1XhB8o$P_F>BPC5|JZPM2PSaHo`=xh!U2=QdkJ{VK&T!sjwo-q9h6; zFR~&dQlb))LsCcx@gX+Egs6~$Wh`L<^O(g9rm(UquS%=JD!e(@?O@Be%>IeO#5BH%y&_~YW^XNP{PkM1L>IJ>z96pE6fpeq>_n;ooL%MM{>IU6}!3<&m zL%MJm>H=M)6L+Fc&`COQ2kHPFq#d`TcF<1Ra2sj^ZA6E4NC$MJ6}O^R&`Mfx3u*x^ zq!~A(X3$KuSc|kkOPX*KY64B95jUbn&`26^18M*bq#oC!dQea5a2=`xb)**8qFPW( zYH$sz0W}0*fB*pGEIy0Qg0rL=SEFiBO{#DessdG{5?7*1P)RCq1*!lQq#T!{a!^jn za2YBCWrW5wq5(}xaVaVVrKALxpb}6*&fqiX3^+rIaWN_e#iR%qp(0R3C`=&=P^1tS zqC!we3UC1`00kr;=c9a(Px5dc$^&^M7w4i}kV`aJgET-xa&QjH0XZZaXQOP8O|ozn z$^uzreedc1Y1F*`21$rti7&+$;)xg+qvE0XT>O{#h4{JnPw^k(XX2;g6Y){4=6emf S-=qpub^Tk7SEK!^W$J%>!ef*G literal 0 HcmV?d00001 diff --git a/fixture/zstd/codec.08/encoded.01.dat b/fixture/zstd/codec.08/encoded.01.dat new file mode 100644 index 0000000000000000000000000000000000000000..fd3607be6fe797969004e58ba8f5cbee1ddeefaa GIT binary patch literal 5020 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 literal 0 HcmV?d00001 diff --git a/fixture/zstd/codec.08/encoded.02.dat b/fixture/zstd/codec.08/encoded.02.dat new file mode 100644 index 0000000000000000000000000000000000000000..eb4ba7bf9da2d254d48169b7ccd1221d63d670ba GIT binary patch literal 6994 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 literal 0 HcmV?d00001 diff --git a/fixture/zstd/codec.08/encoded.04.dat b/fixture/zstd/codec.08/encoded.04.dat new file mode 100644 index 0000000000000000000000000000000000000000..7ee553b7bac65cecd0a30a111b5abacb34862f22 GIT binary patch literal 475 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 M>rY`x>jAp|10QjMumAu6 literal 0 HcmV?d00001 diff --git a/fixture/zstd/codec.08/encoded.06.dat b/fixture/zstd/codec.08/encoded.06.dat new file mode 100644 index 0000000000000000000000000000000000000000..3c692161db251affb707096e81a61d0b39c05dff GIT binary patch literal 8014 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 TqBw;0eKB{i#tFH*Mw9kGMbOi* literal 0 HcmV?d00001 diff --git a/fixture/zstd/codec.08/encoded.07.dat b/fixture/zstd/codec.08/encoded.07.dat new file mode 100644 index 0000000000000000000000000000000000000000..c83875ba928833286ef0608cc0d0c570993b7909 GIT binary patch literal 3923 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 HO;-OuZ2l)~ literal 0 HcmV?d00001 diff --git a/fixture/zstd/codec.08/encoded.09.dat b/fixture/zstd/codec.08/encoded.09.dat new file mode 100644 index 0000000000000000000000000000000000000000..f05134ea32583ee83e418343b7ea39b102677c9a GIT binary patch literal 651 zcmV;60(AW-wJ-f-KpyQA0LHtD60o%c48t%C^VlZ4?PUv7Sh)j)0EGaA0ER=Aa7hRY zG3w=Ml>HvO(mQYiNXj#zanLWjILARyHXoN^;yfyJojN)r zPf>v2tu&fS4BBd*?9u~#Dur|8Blh^wLE7)Uk8qSk_;j;L=3Boe42D7u8j&Rj%6(~| z4TdX>Cq)A7_RD_&YP=>3D4-Ki3C}A6LBn=%Ns2>3LJQze7hor8?3K%L@M57YHt1p- zFHH@oI1A*|R{%<#73qupEyyufWV0+>UkS~M(m1(%Y%U4egUK*3Jlk?25o#OSO6You1eQ9!+x$4 zc_eU7oEgqd#wx2z+TQ8ip+uMI#mp)Cnp>b8^^6@zZjBBL=6Fvwgg5 zy2P4Goq{QHh7lAFit0mrfMX6&HF7!8SpfkN5fL8q!_MgF#4W+7<>=GWB*`xmz!4rT z55p9+?4!ejZdyr0VspGoXxQhTe3C%2_yIIfs)$g>&%{0)5d@$>I4>c&bo?RX`Z&+RF!0syq8T0jd>(+2bp-~?A#BNhMv literal 0 HcmV?d00001 diff --git a/fixture/zstd/codec.08/encoded.10.dat b/fixture/zstd/codec.08/encoded.10.dat new file mode 100644 index 0000000000000000000000000000000000000000..4c2d7e2d95b6dde57b2aae6f4f92eeb051429887 GIT binary patch literal 652 zcmV;70(1Q+wJ-f-KpyoI0G9iS60o%c48t%Cb0!ffGPWJAGRDk^=HIH5K&nj=*CG@% zF8zQXjslQACO19WfGVI9kOfo%?Eups(}!rQhsoH9LheOpr;yzlqhX$HSdKAbDPS{J z?-rHN!|=)(9gfNiB%s{1E%3y9H2}9ydLanaEMt6~YG26h5z%Tl>ePS+ zG#BzUQw5FmE9bi6%73&FD*Pdq98=^BcqM9r_+dkC$3bi|0vYUWOuSo*{csE@Q;Jt_ z_VEqC0i8#S0L2Jb+M+_34DY<+c_}#r0TB^VjXy;uNX#1QC~J(l4|_aMoW29oC$Xi;TVR*m$Cta zsi-3GJK~=M5=ao>9+dN*0a^@cIRz9jtqe&pQpAJ+gZAAZRg^}nnGLRpoIsd4^_`IF mKuXp?Q4t|&L<_^nHI7umf-&5w001pO3(x|z05@&zCX#tlswhMN literal 0 HcmV?d00001 diff --git a/fixture/zstd/codec.08/encoded.11.dat b/fixture/zstd/codec.08/encoded.11.dat new file mode 100644 index 0000000000000000000000000000000000000000..443547c75b67fb0c8f01140d83487e34431a6abd GIT binary patch literal 659 zcmV;E0&M*#wJ-f-Kprg=0LDCw5Wsi;|Nq;B%9VCElN8C49ftsh0EYmKe~N~1BR`L! zB|#U*Wx^;eX@!8642A$8=j0sKDL3PlxBf{V51__3w-7-FpKc7wXjKR=cS8**BF~>F z?u*jf3`N_=)u)B0VGZ4-uto6aOMpH1SB4ElQbLLzv4f&GIn^ zgCK~qlOSeAgh5&ECVG5LP(Ooqc}6(Zn^!BCF_0;jv50MFJZ?)7ewaauALT>=VFWq> zq7jB;%8p}z2#09Z0ZbG|PI)^GjpSyK=*5OCYgS4mZ|N*&&OctKF^WLlC{B!M-~;mS z6gm4fgwxb(s1dnGN>~Nl{VRyk11HD&B0a$w%QVUA+o>Q>n;#_m{1_t3jPt}1ma=Tl zZC%0W_RB(sF-CWWMX!ti%0&z=C`7VvM1g@`bI}N?s;a7NNDGI}mf>Lw^y)nsBDKn} zGp~leD~WgyTu2Hi*Fc2tuojAZN0kCjJO>2VmS_h=q@%`SJ{*895IqNqT46Jnf%oS| zm1Q|(UBQ8GU$C@n4&%Da-iTiPx!Q;V^CliWsE+I!8@1uW09-9>@`OMRpEc>>3n}n) ztr9w#bbX%)gSV(6@H^t40}@Cezz5~rGgzcm_mDXrqV_zZ6()cJivbgGVnYrZu&Pr% tPFPHJCzf4t#7-i{2-L|SbXe@Q%I*Mw7N7-aO|^g)pap0FdfHFM(oIMUBQ*d3 literal 0 HcmV?d00001 diff --git a/fixture/zstd/codec.08/encoded.12.dat b/fixture/zstd/codec.08/encoded.12.dat new file mode 100644 index 0000000000000000000000000000000000000000..7dd61e18f3713825c4031c0b679887fd468f5e99 GIT binary patch literal 657 zcmV;C0&e{%wJ-f-Kpq_w00z8@60o%c48t%Cb9x!sZc>V+yD0^R0EGaA0AZ-Dh8Lv? z-KdA^1t|6WI^yT?GMdLBdUWDMK^SC$oCXNP5sIn*s6}Gb2Lvz(HlC{!U=(z+#H^ip z6$}*n(8D{WiAE4B((AV{3+YHBCyL{l{e~lIMi)TDQNcu9*|i7W$qqvT1l3-$3wVBs zz`z4W1`fY93Jo-2Kp)TvXalN%N`b2V;baKKmSH#Z(-7NG~OJzZQacbcJ zheg%?l<5p*mQW!8bl$nM7L#-rtWPNjyz#*%rZAJpEY#9_WapGCv*!K^2&@5{0b-~F zF75}F5+Rn!6a8^_)W&k-Ukw1DJ*Nff8<%Sen|yOZxqiqa&sInxW8Q8!0i+z|2;!>D zG!}7tPSz+CatQX(+d$H4-tQN3yA#*;!Yg=D5b{0Sh}nnDv}S$qEV-32KFx r!&6f3F!B+?1q4Pjpny?h5t%q39u)wf1!w_UfEJ(yXaRQGiX6WUi{>Rj literal 0 HcmV?d00001 diff --git a/fixture/zstd/codec.09/config.json b/fixture/zstd/codec.09/config.json new file mode 100644 index 00000000..3e7715bf --- /dev/null +++ b/fixture/zstd/codec.09/config.json @@ -0,0 +1,5 @@ +{ + "checksum": true, + "id": "zstd", + "level": 22 +} \ No newline at end of file diff --git a/fixture/zstd/codec.09/encoded.00.dat b/fixture/zstd/codec.09/encoded.00.dat new file mode 100644 index 0000000000000000000000000000000000000000..e68bcb848616b06fd249a6dd8187154d9e7469bf GIT binary patch literal 1048 zcmdPcs{c1-0bi&B!xK9OMkZz!RyKAHPA+a9UOs*SK_OugQ894|NhxU=Svh$HMI~hw zRW)@DO)YI5T|IpRLnC7oQ!{f5ODk&|TRVFPM<-_&S2uSLPcLsDUqAnVz@Xre(6I1` z$f)R;*tqzF#H8eu)U@=B%&hF3+`RmP!lL4m(z5c3%Bt#`+PeCN#-`?$*0%PJ&aUpB z-oE|`6DLicGIiSY88c_io-=pe`~?daEnc#8+42=DSFK*NcHR078#isw&w;r4SqkH$^!dyT|Fziv WeD$~faDM+0MuvZ?VvO={6te-LnE7k~ literal 0 HcmV?d00001 diff --git a/fixture/zstd/codec.09/encoded.01.dat b/fixture/zstd/codec.09/encoded.01.dat new file mode 100644 index 0000000000000000000000000000000000000000..1943a845456c678c9b8d7e7cf61bcd793b58977c GIT binary patch literal 4037 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 literal 0 HcmV?d00001 diff --git a/fixture/zstd/codec.09/encoded.02.dat b/fixture/zstd/codec.09/encoded.02.dat new file mode 100644 index 0000000000000000000000000000000000000000..de473eae7d196d33a6fb8ad9356fd49f4da9a26a GIT binary patch literal 6414 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 c_UNo)YhTiP@VyQ2{WWq^>wumQ0k literal 0 HcmV?d00001 diff --git a/fixture/zstd/codec.09/encoded.03.dat b/fixture/zstd/codec.09/encoded.03.dat new file mode 100644 index 0000000000000000000000000000000000000000..7e8439ad77f598f3bbf74e480396161455c371bc GIT binary patch literal 161 zcmV;S0ABwnwJ-f-=mMPt0G2u+fDj%49snKyOl<%Wu!w;$4<3a(D`Mwgc&+o z0oc}E;hBsESg3x=g$oF;b4_Z)DQW^RtCNdeJ?0p*&wLJ8N@?@cdR5*51OQlBOHW3F P)IbXDJ_eWqpI$o)hCM^; literal 0 HcmV?d00001 diff --git a/fixture/zstd/codec.09/encoded.04.dat b/fixture/zstd/codec.09/encoded.04.dat new file mode 100644 index 0000000000000000000000000000000000000000..15c7e04879847526f5b8afb6e385fdd8a06a8906 GIT binary patch literal 365 zcmV-z0h0bGwJ-f-xC;FW0OH052JkuZvycJ*U;qFA|No=@`VXY)K!Bi*0`doduc(lN zSPJb1FoY0;#_SFeCcx+oJBt^rJqTnP2WZ{S8~C?CP07@`<435q#QOq0Qh z)+**=_crfi2rL_!A2pH8m{3gM3LrMYU#78I7RZAGqCrk95R5fA1CX@^N%AN5c9L(K zNCpW|ZIQiV#02QXNMs8XElL*yu7>0Ujn2D=U;aNpVL@qvL6hRUI#+VU-Fs>W-3uw6ctD%b18AS1lLVDPc=PKp`V?Cs?w+4N52 z6uaf~;u}5k1lY{U1S5qGC~40UW}(fW2CWPz?3iYa=y72tn1w2v`Klw#f-A&PEDG56 L5wT|q1`;Z`H@B`G literal 0 HcmV?d00001 diff --git a/fixture/zstd/codec.09/encoded.05.dat b/fixture/zstd/codec.09/encoded.05.dat new file mode 100644 index 0000000000000000000000000000000000000000..275444f0ae7f7cab18ede9b5a757c648fe9a930f GIT binary patch literal 7956 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 KG8q61?0rv3s5Yel literal 0 HcmV?d00001 diff --git a/fixture/zstd/codec.09/encoded.06.dat b/fixture/zstd/codec.09/encoded.06.dat new file mode 100644 index 0000000000000000000000000000000000000000..ef4a750bb8ec9851fffe602d0a9111747cb7fead GIT binary patch literal 7969 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 X7k$ngdYm^Z9RUCl`~XZ9@#z+sIVf9s literal 0 HcmV?d00001 diff --git a/fixture/zstd/codec.09/encoded.07.dat b/fixture/zstd/codec.09/encoded.07.dat new file mode 100644 index 0000000000000000000000000000000000000000..cb6236c06d2fc0848e217fb782d22caaf66d38c1 GIT binary patch literal 3374 zcmV+}4bk!_wJ-f-Kpq8Y0F=A;Nk9PruA|NX9;Nxy&0$%Ae?q-}%~ce-*^PVI_u#4f z&R9+*Cs-Dn=oDjMPB1`vCf{3DMAtvb&?R{Q(0ONiD3 zUtJ#Gtg3*09A_c5@2_bJ*_CS~xFrTN6*x?T9E%btwxk*~1(4+@ih8F@fbkcH%ZbYo z?#&f_2F@nUz(P|{+x8OT^P)0^G{NaOq1VS+WN7=4;NmMSd?;kv66_rqn|tKG22=q9 zR7MSH4(91fPI#k)uc{7@_K^79A7&=5!D<>C(%$RX}n6Lv!fAZ7)ETp zJ5=H!Q257^2pZ*kio)`sG$PGhB-{p_qFU)EQ3KN;-5zG>E*rLS?gIo-2}8wVjzwEy zh3oS2&L9?Gw!)3|fE!WlB`jpWQ{wqbNY8F?6Q1 zk<#F|yVX3OPXF~`2`JIkse+QdmdQ!V;3y&d%&_Bkkt;1DZ8Z_iq)}4aTDIWK83#v-xdBG!x9Qs2Cp}WEbNHF8|{DlUa4P_DpKPLz)@m7M99E&Dg*8l>0$5 z7(SNVnY4n8D(#=vZ-|cB76(Nief@OZt-o9=)4mxA&s*u5e8HEFNOk~KQnRn%(TC66 z4)G{0bUXgXjzQf*s#MF{&6sb%(ydr$-`l7Y41Soa1miA4w@c%(Pfkr71B z8A9FR(yhzkBy7L)_ZTY$U|_9i4h(bUQM(G)NImW(+>}@(IY=QJje&SVl9qw*Gsuxe ztT4Zr!;S2QVLQ{&+3_jZ#X*-Q@5VNYtC#ClvV2OaAPXl!^^4!EXfn(EP@fru_6q_|Pv5 z2@$nlfb79%k$%3>j`bDweIFZR9D&paY}If5=L952rGGA4&9rWSK)g8X{1#9hj_-+{ z_JXR`O_L)#oCM1dyc9tsr!SYY{2Pj!HoBG3DQh7aG_-u|miRLk@F(AScS!uKv zPS2e?0bLz&BnHH>r1C(lRmdeGn$Rk85%@+Q!qT2BOV0V2Yyz`N`39Spoa3xOK(fKh zIPFCQ{$t4my4q=V@uHs2D4^$I~y0g*s>7Q+ol#fBO!WIi&{K3pvF*7?hX5+B6k z_Nj+9Ca9v+dF|8oXXh&x5xOEbK#TfeMT##Y2!csHgMYPlx^c~0%+_)wsSIFr@2>$W zlfjYkfyfeo<0`#8mDE2!(sQ#d1D_R!?3584@(NGq)+O8#reJX$7>0^_xs0+HZPg;4LR(_1yavSiP~OoD#aM`=?jCChr-eZ zVXY>rpSB(V8VC z&^q<6EQ0wFK6v4~9_ONAr2~bGE!v#eNi#Swra@?+#bQkbGL$pD)(h7Jv}q!)*;Y+i zhvZ&TQC}ZmoaQgdKV}E*N)A|SAk0kJ!)lF(XA=J(P5v@j7;bPQfq~CDt}}Hb##xuM zvOHV0xO_0A>^F`VNj*{7xZ_kT%Iv?P)%Fj{t-=YMDru7KC&So4%^-5cT|O~X>Qy*z z6=>DI{?8dsTa7I$!y&&Jz}F&b(s%LSk6H#BM^hgCXLRTC*y%#ere!#lbFoNv~jw?;M%%z82z{VtEzz+#6Y+rS1!STO^(pFtp8gVf=1$rX`#_@Ha7SXc^Z)5A5z|VRC1bX&YGjxhj=3 zXM&7xwnnCP5I9Tm70A}|oju#H*{qSSJy4g^v|~k6t{a8V}JTewc1m4-4wjq+c6$Hm< z5$S~`M^20M!l8$~Xk+f3YGZN4vMRZ6ZyNK`+@- zt6W%0rUdS*m2?f57j@yw#A7W67hMT;3NRqv#Li~!?t`Sy(T^mm4*tg^=PPerCSe?r zCv&718&ZjPRq6G5>9jPj1wO&9Iy=Y{KMy&3I(&&7Pjjff6#5@}j*1buabKJAy)^Ow zCQ4k3?U-a|ejM0Iz0p`d>>L;g{iU+IfDs%GC4`*YrUGxX;k{x;)z3;Wcg_ww7;VDF zA69PK-V31b0SKRK(~s}zXQeDtD_jQDPGq(44<;{QUlEjS(GYS(YAZ3g z(Vv_{G{jdgl}RGQ8Z8~Ir0*xMXtBq#nDwb*Cz;GhssEdwrikYjSlsmIkot);zEi7v zuKnszojy(6lJDm{t|wBmOKZAlX-v8@<&LnmY*nK1(XRZK7r$vCmdsA*RNSdF|LhIm zFO5Ez$0y%9+F0};!*pl+A$Jy9ol8m4_R$n^TZGP=U}pU|M)#KtC~ zaM&pPg{9~8npdagA(Qk(dcuWiCSOEftSKr#hysakfVqwwK5G2{x_|;*g(*+%5*v^k zJ=Bw8lVwzAt2twpz#rNc7_4|hKDaF$M)w1krrS|71m39T-|ehJ1rlp~A~Zg3o>U}d8tV`aS{J6a(^hR8Oa(OV0j_zs3 zOj<$Hd+ot6Gs9Qm?QKJD?7bz|mkglx9%!6kRxyZ(bUd;dIy=Gz?#&iGDP73SB7nnz zRr?OaQ*C<+&CvI3rpdU#<&!CdhAtapyQLcxur4)jHJll%!oLwX)^UvdC>-gwqYD#+g}H3DRyxK)AQ~bo5@$ki`Nb=E zhDi>Kt=~NGOj_Sle*}5Ng;Zw3pBgz9%#7tGW9c>J06;Hh%$)7Lgo;{bY_{$S17|OY z`#?JazkY}}W4hCCrc8HAgPR)5R>&-f!6>uQnRzOKYskxAdEG}e(OXM97^z2|&7ZM^ z>;eWyg(_g0NOiOHPcC80wklYlR5%4{B2YEPGCK9%z@hpxM$bUD&YG#dsTM$P1-$aR EBu2?^!T|M21RDtBY9Hf%E*Iz{+!hfil3o{2X*5U|DJ!R^*Xl(8$ej4*KcZE|BMA>4&wgM4T z%YPo9_JU8+$wI4KYNI`)WDKqF?7Pk-xik( zwdT)4fZ6PMg!vc@fgu4(a26eMa1*2MVQU9QGoR!HA`5ls38*FSR-3kBxNxYYZY5}zZvXP@$2cUhbg$8EjwRd z;>K{%;O;IXVY&25YT@B^vq6C*g4=#6W`}?a8B=T+@f8{pjW?Zb(s7C8T!dD<=G5=z zMof-oxy51__@2;q%xZ>MPftg46RDjo+TnWv!&IYMVYIVs*NL1ehFb`sbOp_rCDf%>M^{KHMXyYGyYuyPeor@~vp?G}#O> zUAYeRmz*mr>-lLJw=v4|*b(IdM;pOQd}|lL^5RO&G%H;{U5{yOMcUf`eDN7@dYlD| zlpr>_N>ompLivpfuS_6l#U+6aS~{a*zgo z1Wy^E?WA`sY=_ssgrVF>OxGir@H6-k`wz19#=Sha|X>vZAwCyVUpl7(TGq zlpGF5mN{V&;-00%?my1m5?UiRG}CHgJjeFwE@uEFwdvYBT8HQUwpIOLsJ(9&KL!W| zAtni#^j6aNy=>p$Z6%P=96lnXF0z<1yHuTY?eK#}HV;rrS|QOty8!-Lb2+=ETQGDYfPR0_ zEnh(8czjXfC+oTHe{@}#)cBRI)5&wL+=PA@OZ;4KN0rQJ3n!XBsc(bZdOXX`%zU$9mr zP<=%+Y`A4emM^;R{ z0MJG!vALx_%%!1*(*w@g>Cl=35TB`N1C%%vioz(#n*l(E6quDZzS0}-8~i0|0q)Kd zw5K1kkLHc6#>uGe#?zIUptInJL_YHLV7gq zJh@i6)Q1=Vl?IjXgQ;!MLj`~=)A zdA!ejh#nRbNbGn`o(x|%%m775jD|Ut`{Sd~Ak_1nOqlu}$Lz@2D{;q5`dw5t@v!RV z{FWFEw>lgDb``*485$+Isa`v-zNwN!T_JIP>(dTC2!V&O^{{Pv0!j{FV=y4(;yQmK z<#sjdZCZhg@QgX)2hKyfL0o0-%)${4;8j&1GlZtb5{J9St(=a9J(Q?5ls6K@Uq=f` z$v`=Zcs`Ui-C4%@?4JhxQjnipV?nk~0B_rS_lANps~N$DNbETX0J&-axzaXtU3rBf zJMw{T4132(Fm3k3y+Trt4`ftKQNpm%2!}v5@Wr~MQEG8GEIW=DA0!DEp-7@enenX7 za$CEv(Jf?_#;yG62USo!BE83*mEjzI z{u-`CQ~(l^jrg{Kk_A1bn?Jl%Yy>0?O4xDON4H!G-S4_Ve+b;er2@{u>3;BBOq+j@ zk6=5otKetnxR#y6*`CIk$c={)v){83e%vQ0t=u?D_l|5| zICrBrA;995MYkZ4UPgaoX`k)SDu&~8dSrZjumzlyKumjay4c%D1*5?>4$jCd05^fL z2?u&h1>kL-N1ZeGtbtqgOQ*&|1R)$wat5jecg8tm6!ztSe62HkFjz456gwk`jlNn* z2`v;xd`gV`<#BklVG|onURris@B9If&v_a#B4L1IhFApmMd;dh4b}7n062vSX1TgF zOA_6@%P~==-3wd9Jev9%4d53sx$J#p`Do}eS?8vcyj>Okt|MyBwo2e0zW4Wv*d7%t zTV+;~L{4yOhE|GjlCbcdg*$X(bz$ zMy^VHF`sBD4kWF)rVAI=T%CKVwh7Cqx(4z9taDY2RaKL`ca#W_y900hX2!O%CNohH% zEvC(~FvN4tv83pr$T124eK2J)&<;DCtGN7@7MdNLk%$E?Q7KmvE3({@oXOZq ziIse=JX>{G2T^WyFRlFh=|bYT@^~yh9PA!r4&GYtt5GRZwMga-E9R!lCOP`?sdijq z_Va-tt&;R3trj@m>YGi`mPfogc+*TluqT23$I2NdeVjw3QSz%2TqHafcs2vxQviQN z63FuR2oS+iQ4IYRs1#f~ZY8w7l*?{ZXc~$-c;q*R`l)o)Kn)Gy(wy8h*t1xtM_)n% zi-sg*zm?zJ`Nk{@t>>j;^tl)PHl0P-0%Q<4{x{MubTO|Ywt#~w7~q(avG|(Gd!bGu zH;|rrp%ZuIyD3i3MplwsoiACFL5@sLv8$C5<8U)e3Bkg?qhIEu6}<9x7K<-z+4)YJ zG95c6U8;-FtzK79K2*fsoZ05Lvo`i!N+*Bj9u8&+S`?m|*R7QoTTQnHh1Mz8ga5qz zp+LB4Pl1?W1)89oiLdljoOnU?yVYINT|QJISxt1Etn(`dP+Pg> zT*jsitP;N_7@N1`z$J$64w|tWfx}X7svQ!MIvLS78}tk|-y!_aohTVz#oYnE8NSGx zGZQ>}(6Q$Ns9={!ys{bnI3Tn(mZM-T=P<3G;?+gDK7VF~sW__-Z6moWxIPrJ7dGN< z5MLc#k{Q;aoCv%p9B%#8w33JAf!44r|Z~FD^8b)-#J3lf3y% z_0TKZq7Zlg!C4wjV-3xsW5~?F6+BNX@QfW=HZY1~ScJzEWU~Q>ZhF4X%2&#v7_40x zTuEuN#Dw-9DCUOsL--} zt-8C67Pg4x0W~N(3af%eT9_T!#laVA%1n!%gXci@Mj`xDjN}GAe%y~L@my`Hs;VLZ zXNb26#^oG?`v%zg!Qzj?#15i_cPlvekW}5P;=t*6gs!YPOf!KpdF zX$@|uOS&nv9<~}Sl$_spmO3zDMj6h=cB2-s@8Zown9JFgtDUW<-_8VH#yW38|!{a!> z5{$8Y(!p=Av*4Gmb0d>|cDCI9KbLD*KBKK8%Vsjm#x!jiH1jd*`;B;G%%({;3f=ei zZj(Jfqu${ZSrFf-8-3cekafw0Vmsq2<;mUSw z(MBHz`^R;gvkEmLCi$Sk)S!j8NlrP2OY~`pb;!EO=XR5S=N>jQA|2VZ*E>8Mw8qNk zbJSG3%^6}IhiG-Ys~Kkx;J_}77=0#=FC8`a*}xe`%GA;LrP{2;XXUknwK48`jTl(8 cp5eNQV@7}v+;~jXuvRc20GKAC3iJ=)1R1lfxBvhE literal 0 HcmV?d00001 diff --git a/fixture/zstd/codec.09/encoded.10.dat b/fixture/zstd/codec.09/encoded.10.dat new file mode 100644 index 0000000000000000000000000000000000000000..2b4e66b9ebd5b9a648a62482ca28644b1adbe14d GIT binary patch literal 854 zcmV-c1F8HdwJ-f-KpsUJ0G1j+5Wsi;|Nq+}nM4v+w#${Y9XkL!06PFlkpHXf?%@gt zi3<4RIZ%gF#dc75nUGqa;1nKc4K+EP_j6$)H# zfkjnVP>?Z9L@&zO-W(}<3U(+kh^CNGGO)s)7SUaJF2vAsqO)>Mpg(aUSkLBvmsE2# zR=f-kCU$H`9kY+b;GrxXtdSOAcB6s+M-5!ys|Vyce2D64#x|Emm^i}7NBbdZCG3U7 z_!T>jya~FD$g8_B2SRfak>*~8jf`qsba{X|tFCY-?%rpc8>Tw?8f)k__%yRtxBCsb zTF$P~M_W3uK;@?$@v|)kfuX1o;O`lMAOS%PS_y9h5eyMLWjwuSD{%H^v%boR?e}Oy zmg_>zSj6qmcE4eqo`LgGFKAuPOX4K&IXsP#YWf|T<1=nHhi^mrEp7Y2SgM)JIHTVH z_e}mDmImxI_&S|zJ8(d6AF_ZpU|nw3rR#+<8JQ(GsjvB)ha&~E#iSi*w&xscAWLt$ zj_j-jgC1xrjo`X5Wm3+?f{o$)OF7Frr4K#)NE$+v|`xdpRhJ7PAXnzR=ed1$ZXoh{?Yu7bolt3pFQF(RB_KOm$szG z4h!UvUX*U*Z11__QftYs4#HS-npua*?!kP4FxtENKy%>DKG?x*v0=_yal{d9-x52p z*~X~J_D1xCe{)v3efwee&3<|ZVkPid;GH~Zr38ZTpWKKMw^ zC_KcRT44#8uV*=FEUK9(X0{7zB{cczvmSf-)$9}|(5$riJsQ#OX&WsZno%&lGd44P zri1(IaQBj%uuWc*L%mZl)0?(+4l{-GSP=}yT(Ob9B8w-@GOo&D&e?Y3*$0cK^KlH; zd3eYr@(>OROqYo18Hw?nG|7j#6gFndnsenWZgqCFeiyzuBY@eLHrWyxznJz@b&zk@ zI%kZFZ`mPs7M)$(@pMrRbLA42Ys|O3*)PF(SY}utM!NPp563(AXqg(Y!pg_lEPTk$ g@^G+BFE+V4CD6DCY(8VTqv5Q-40bE40_`S}d0ld;9RL6T literal 0 HcmV?d00001 diff --git a/fixture/zstd/codec.09/encoded.11.dat b/fixture/zstd/codec.09/encoded.11.dat new file mode 100644 index 0000000000000000000000000000000000000000..8f770e96a33b4dca77cead245d04c65c598d36bb GIT binary patch literal 849 zcmV-X1FrliwJ-f-Kpq_$0G1j+5Wsi;|NomwSlM*9LrbA0DLVi=06PE%fR{f`&=x8S zOd^icrjN(R0MD_18=`x4M8lziQ{Zk4QP@Kssi1pE=D{b(9$JMV}#e;(}Qm0*Gw$z$zpG$2*YiWDWsuubWKb)1c>lkOZV0$+im zrKZNC_k7cPK{VJ17FNCb3KG8mE@%Rjn+Nn!ds_|g+3pK-^#Vtqn>P>_r%@M~V)cB{ z4Mz7IO?xLry3t`94{!>IfuX1o;O`l+n7}9orE}*25sVR@G9KP@Q|P4K$XND<9~sZ2 zd1l%&IBVLVGvKDRdmh_(Q?6v&xw|{T3A6YzEI{w|z%V;Y_hR$5(_okvd%fKNttYlK zX>|)O(+rAT+a%P`V}CNSOYd#`4XJ~+xur>lwK64{fPEVIOtpKa9;e*KC8M_OqGH zUl2VaHT@n-UXF-ACyjyS)x`|DVGZr*map;TwY5lncipk9KkG?GG{bG>N0yt05%aLe zFej@irtkhZz0BBdi46~v`-ldbhF0)B21qvaL~Lc|r57y2X2ey7=&c&gZ+VW(#a!>L z71USkQ;sy25X-&{tN6k= z=60o@e48t%C^KyHIY|WO`B6kWp06PFV0IK=P=v_G6 z_Rz#Ea|s3=w$OrCdw|j`KhhA!L&>BSMhzwBn#&n579o*Fw9kaXcn4xbD`aQ=|BnG$ zih)27*gcVF^EdRyn0(lPWQbVOCkH_w&QJ@C5Q#j}5$p+~b&ry?gQw6CqR=1?ZuEHq z`=L;1bu_AI7onCcCQUwvJb1#N1G{k0)XBmtzGrp`c}*1&1REWqR7e^OenVM5eyxHX zmwp=YGek(_TQ+sKeK5#M`q^%hAfA{OHLp$b7^F8rYqC|d83{A>iz1juq|oIs1eEH) zaL(9$&lrLNdOhO@X=54#ft;uj;O`lsB!Mx^N$JW15lj)DF&^G?qriMS`uS$lQ;zNC zfw0kiQNvvg&$-Ts#GJI=-2Nd>Uu1WB;`6KE{8j@^WxeY8cKy9YkJ`)pt$lqGY9qV1 z)vDLG18P1R>(55gK8B45=PMIcHZan&U0Ep^BsG5I?gBL;VLJPoeN$eRnm#*Mx&cFs z@ou6U3g>>o81zW~M{PDalE%O`6BCCU;5e#001M#>Yc}3(x4<2N1n26<_=BNAlJ%h zE!QS|;JP=p8a5aA#uZ@I8ODsZLt$FT$#lrRfzkk(0FxVMlFbzzdLVD_D*O7fOW%dQ z!?=mjhE>*ayAp%&=AGQm{Z_0Y*=oaOXKA3pM@Bfy*)m+=x%g%0+3AIKt9PFkVXQ1B zZ`;Ynz@}ys*VmytJ0yn2%~*dLT^x(M47Rf3klf)wxzR3bf9sXiJh+?W#TMvpFPG`? zl*c7!>)qT0Gp#*7n{NkkHoswLRfYk+QU|8v=)@Qk-@M^HFz3kIMqLKi*K8GMK+I~x zQ#Nsj$>e!wSQeXSUkbPaJAb`)4!1M%3!1aEsWeJrHjFy MAX_CLEVEL: level = MAX_CLEVEL @@ -90,6 +107,19 @@ def compress(source, int level=DEFAULT_CLEVEL): source_ptr = source_buffer.ptr source_size = source_buffer.nbytes + cctx = ZSTD_createCCtx() + param_set_result = ZSTD_CCtx_setParameter(cctx, ZSTD_c_compressionLevel, level) + + if ZSTD_isError(param_set_result): + error = ZSTD_getErrorName(param_set_result) + raise RuntimeError('Could not set zstd compression level: %s' % error) + + param_set_result = ZSTD_CCtx_setParameter(cctx, ZSTD_c_checksumFlag, 1 if checksum else 0) + + if ZSTD_isError(param_set_result): + error = ZSTD_getErrorName(param_set_result) + raise RuntimeError('Could not set zstd checksum flag: %s' % error) + try: # setup destination @@ -99,10 +129,11 @@ def compress(source, int level=DEFAULT_CLEVEL): # perform compression with nogil: - compressed_size = ZSTD_compress(dest_ptr, dest_size, source_ptr, source_size, level) + compressed_size = ZSTD_compress2(cctx, dest_ptr, dest_size, source_ptr, source_size) finally: - + if cctx: + ZSTD_freeCCtx(cctx) # release buffers source_buffer.release() @@ -148,8 +179,8 @@ def decompress(source, dest=None): try: # determine uncompressed size - dest_size = ZSTD_getDecompressedSize(source_ptr, source_size) - if dest_size == 0: + dest_size = ZSTD_getFrameContentSize(source_ptr, source_size) + if dest_size == 0 or dest_size == ZSTD_CONTENTSIZE_UNKNOWN or dest_size == ZSTD_CONTENTSIZE_ERROR: raise RuntimeError('Zstd decompression error: invalid input data') # setup destination buffer @@ -193,7 +224,9 @@ class Zstd(Codec): Parameters ---------- level : int - Compression level (1-22). + Compression level (-131072 to 22). + checksum : bool + Flag to enable checksums. The default is False. See Also -------- @@ -207,12 +240,13 @@ class Zstd(Codec): # practical limit on the size of buffers that Zstd can process and so we don't # enforce a max_buffer_size option here. - def __init__(self, level=DEFAULT_CLEVEL): + def __init__(self, level=DEFAULT_CLEVEL, checksum=False): self.level = level + self.checksum = checksum def encode(self, buf): buf = ensure_contiguous_ndarray(buf) - return compress(buf, self.level) + return compress(buf, self.level, self.checksum) def decode(self, buf, out=None): buf = ensure_contiguous_ndarray(buf) @@ -223,3 +257,21 @@ class Zstd(Codec): (type(self).__name__, self.level) return r + + @classmethod + @property + def default_level(cls): + """Returns the default compression level of the underlying zstd library.""" + return ZSTD_defaultCLevel() + + @classmethod + @property + def min_level(cls): + """Returns the minimum compression level of the underlying zstd library.""" + return ZSTD_minCLevel() + + @classmethod + @property + def max_level(cls): + """Returns the maximum compression level of the underlying zstd library.""" + return ZSTD_maxCLevel()