aboutsummaryrefslogtreecommitdiff
path: root/unipdf/internal/jbig2/decoder/huffman
diff options
context:
space:
mode:
Diffstat (limited to 'unipdf/internal/jbig2/decoder/huffman')
-rw-r--r--unipdf/internal/jbig2/decoder/huffman/huffman.go43
1 files changed, 43 insertions, 0 deletions
diff --git a/unipdf/internal/jbig2/decoder/huffman/huffman.go b/unipdf/internal/jbig2/decoder/huffman/huffman.go
new file mode 100644
index 0000000..49952a7
--- /dev/null
+++ b/unipdf/internal/jbig2/decoder/huffman/huffman.go
@@ -0,0 +1,43 @@
+//
+// Copyright 2020 FoxyUtils ehf. All rights reserved.
+//
+// This is a commercial product and requires a license to operate.
+// A trial license can be obtained at https://unidoc.io
+//
+// DO NOT EDIT: generated by unitwist Go source code obfuscator.
+//
+// Use of this source code is governed by the UniDoc End User License Agreement
+// terms that can be accessed at https://unidoc.io/eula/
+
+package huffman ;import (_d "errors";_cf "fmt";_bf "github.com/unidoc/unipdf/v4/internal/bitwise";_c "github.com/unidoc/unipdf/v4/internal/jbig2/internal";_a "math";_f "strings";);func (_cfg *ValueNode )String ()string {return _cf .Sprintf ("\u0025\u0064\u002f%\u0064",_cfg ._ae ,_cfg ._afc );
+};func (_ef *OutOfBandNode )Decode (r *_bf .Reader )(int64 ,error ){return 0,_c .ErrOOB };func (_af *FixedSizeTable )InitTree (codeTable []*Code )error {_abg (codeTable );for _ ,_ebg :=range codeTable {_bb :=_af ._bd .append (_ebg );if _bb !=nil {return _bb ;
+};};return nil ;};func (_db *EncodedTable )Decode (r *_bf .Reader )(int64 ,error ){return _db ._g .Decode (r )};type ValueNode struct{_ae int32 ;_afc int32 ;_cab bool ;};func NewCode (prefixLength ,rangeLength ,rangeLow int32 ,isLowerRange bool )*Code {return &Code {_gfde :prefixLength ,_fgge :rangeLength ,_cbb :rangeLow ,_agc :isLowerRange ,_dc :-1};
+};func _fa (_cgd int32 )*InternalNode {return &InternalNode {_cc :_cgd }};type EncodedTable struct{BasicTabler ;_g *InternalNode ;};func (_eee *FixedSizeTable )RootNode ()*InternalNode {return _eee ._bd };func (_gcc *InternalNode )String ()string {_ba :=&_f .Builder {};
+_ba .WriteString ("\u000a");_gcc .pad (_ba );_ba .WriteString ("\u0030\u003a\u0020");_ba .WriteString (_gcc ._df .String ()+"\u000a");_gcc .pad (_ba );_ba .WriteString ("\u0031\u003a\u0020");_ba .WriteString (_gcc ._gg .String ()+"\u000a");return _ba .String ();
+};var _cgf =[][][]int32 {{{1,4,0},{2,8,16},{3,16,272},{3,32,65808}},{{1,0,0},{2,0,1},{3,0,2},{4,3,3},{5,6,11},{6,32,75},{6,-1,0}},{{8,8,-256},{1,0,0},{2,0,1},{3,0,2},{4,3,3},{5,6,11},{8,32,-257,999},{7,32,75},{6,-1,0}},{{1,0,1},{2,0,2},{3,0,3},{4,3,4},{5,6,12},{5,32,76}},{{7,8,-255},{1,0,1},{2,0,2},{3,0,3},{4,3,4},{5,6,12},{7,32,-256,999},{6,32,76}},{{5,10,-2048},{4,9,-1024},{4,8,-512},{4,7,-256},{5,6,-128},{5,5,-64},{4,5,-32},{2,7,0},{3,7,128},{3,8,256},{4,9,512},{4,10,1024},{6,32,-2049,999},{6,32,2048}},{{4,9,-1024},{3,8,-512},{4,7,-256},{5,6,-128},{5,5,-64},{4,5,-32},{4,5,0},{5,5,32},{5,6,64},{4,7,128},{3,8,256},{3,9,512},{3,10,1024},{5,32,-1025,999},{5,32,2048}},{{8,3,-15},{9,1,-7},{8,1,-5},{9,0,-3},{7,0,-2},{4,0,-1},{2,1,0},{5,0,2},{6,0,3},{3,4,4},{6,1,20},{4,4,22},{4,5,38},{5,6,70},{5,7,134},{6,7,262},{7,8,390},{6,10,646},{9,32,-16,999},{9,32,1670},{2,-1,0}},{{8,4,-31},{9,2,-15},{8,2,-11},{9,1,-7},{7,1,-5},{4,1,-3},{3,1,-1},{3,1,1},{5,1,3},{6,1,5},{3,5,7},{6,2,39},{4,5,43},{4,6,75},{5,7,139},{5,8,267},{6,8,523},{7,9,779},{6,11,1291},{9,32,-32,999},{9,32,3339},{2,-1,0}},{{7,4,-21},{8,0,-5},{7,0,-4},{5,0,-3},{2,2,-2},{5,0,2},{6,0,3},{7,0,4},{8,0,5},{2,6,6},{5,5,70},{6,5,102},{6,6,134},{6,7,198},{6,8,326},{6,9,582},{6,10,1094},{7,11,2118},{8,32,-22,999},{8,32,4166},{2,-1,0}},{{1,0,1},{2,1,2},{4,0,4},{4,1,5},{5,1,7},{5,2,9},{6,2,13},{7,2,17},{7,3,21},{7,4,29},{7,5,45},{7,6,77},{7,32,141}},{{1,0,1},{2,0,2},{3,1,3},{5,0,5},{5,1,6},{6,1,8},{7,0,10},{7,1,11},{7,2,13},{7,3,17},{7,4,25},{8,5,41},{8,32,73}},{{1,0,1},{3,0,2},{4,0,3},{5,0,4},{4,1,5},{3,3,7},{6,1,15},{6,2,17},{6,3,21},{6,4,29},{6,5,45},{7,6,77},{7,32,141}},{{3,0,-2},{3,0,-1},{1,0,0},{3,0,1},{3,0,2}},{{7,4,-24},{6,2,-8},{5,1,-4},{4,0,-2},{3,0,-1},{1,0,0},{3,0,1},{4,0,2},{5,1,3},{6,2,5},{7,4,9},{7,32,-25,999},{7,32,25}}};
+type Tabler interface{Decode (_bdg *_bf .Reader )(int64 ,error );InitTree (_cda []*Code )error ;String ()string ;RootNode ()*InternalNode ;};var _ Node =&OutOfBandNode {};func GetStandardTable (number int )(Tabler ,error ){if number <=0||number > len (_ceb ){return nil ,_d .New ("\u0049n\u0064e\u0078\u0020\u006f\u0075\u0074 \u006f\u0066 \u0072\u0061\u006e\u0067\u0065");
+};_ebgc :=_ceb [number -1];if _ebgc ==nil {var _baf error ;_ebgc ,_baf =_ea (_cgf [number -1]);if _baf !=nil {return nil ,_baf ;};_ceb [number -1]=_ebgc ;};return _ebgc ,nil ;};func _fcc (_bg ,_eea int32 )string {var _abc int32 ;_ggb :=make ([]rune ,_eea );
+for _ebd :=int32 (1);_ebd <=_eea ;_ebd ++{_abc =_bg >>uint (_eea -_ebd )&1;if _abc !=0{_ggb [_ebd -1]='1';}else {_ggb [_ebd -1]='0';};};return string (_ggb );};func (_e *EncodedTable )String ()string {return _e ._g .String ()+"\u000a"};func _edf (_bagf ,_efa int32 )int32 {if _bagf > _efa {return _bagf ;
+};return _efa ;};func _abg (_fgd []*Code ){var _cgdf int32 ;for _ ,_cdd :=range _fgd {_cgdf =_edf (_cgdf ,_cdd ._gfde );};_cfa :=make ([]int32 ,_cgdf +1);for _ ,_bbc :=range _fgd {_cfa [_bbc ._gfde ]++;};var _acf int32 ;_gacd :=make ([]int32 ,len (_cfa )+1);
+_cfa [0]=0;for _bac :=int32 (1);_bac <=int32 (len (_cfa ));_bac ++{_gacd [_bac ]=(_gacd [_bac -1]+(_cfa [_bac -1]))<<1;_acf =_gacd [_bac ];for _ ,_eeaa :=range _fgd {if _eeaa ._gfde ==_bac {_eeaa ._dc =_acf ;_acf ++;};};};};func (_ad *FixedSizeTable )Decode (r *_bf .Reader )(int64 ,error ){return _ad ._bd .Decode (r )};
+func _gfd (_gcbe *Code )*ValueNode {return &ValueNode {_ae :_gcbe ._fgge ,_afc :_gcbe ._cbb ,_cab :_gcbe ._agc };};func _ff (_ec *Code )*OutOfBandNode {return &OutOfBandNode {}};func (_ab *OutOfBandNode )String ()string {return _cf .Sprintf ("\u0025\u0030\u00364\u0062",int64 (_a .MaxInt64 ));
+};func NewFixedSizeTable (codeTable []*Code )(*FixedSizeTable ,error ){_fgb :=&FixedSizeTable {_bd :&InternalNode {}};if _ee :=_fgb .InitTree (codeTable );_ee !=nil {return nil ,_ee ;};return _fgb ,nil ;};type FixedSizeTable struct{_bd *InternalNode };
+func (_gac *StandardTable )RootNode ()*InternalNode {return _gac ._gbe };type Node interface{Decode (_caa *_bf .Reader )(int64 ,error );String ()string ;};func (_ac *InternalNode )pad (_ebf *_f .Builder ){for _fc :=int32 (0);_fc < _ac ._cc ;_fc ++{_ebf .WriteString ("\u0020\u0020\u0020");
+};};type BasicTabler interface{HtHigh ()int32 ;HtLow ()int32 ;StreamReader ()*_bf .Reader ;HtPS ()int32 ;HtRS ()int32 ;HtOOB ()int32 ;};type StandardTable struct{_gbe *InternalNode };func _ea (_dfg [][]int32 )(*StandardTable ,error ){var _dbf []*Code ;
+for _fd :=0;_fd < len (_dfg );_fd ++{_fab :=_dfg [_fd ][0];_fb :=_dfg [_fd ][1];_cb :=_dfg [_fd ][2];var _fdg bool ;if len (_dfg [_fd ])> 3{_fdg =true ;};_dbf =append (_dbf ,NewCode (_fab ,_fb ,_cb ,_fdg ));};_gbd :=&StandardTable {_gbe :_fa (0)};if _ggg :=_gbd .InitTree (_dbf );
+_ggg !=nil {return nil ,_ggg ;};return _gbd ,nil ;};type OutOfBandNode struct{};func (_be *InternalNode )Decode (r *_bf .Reader )(int64 ,error ){_cd ,_cgb :=r .ReadBit ();if _cgb !=nil {return 0,_cgb ;};if _cd ==0{return _be ._df .Decode (r );};return _be ._gg .Decode (r );
+};var _ Node =&InternalNode {};func (_egb *InternalNode )append (_dfc *Code )(_bag error ){if _dfc ._gfde ==0{return nil ;};_egde :=_dfc ._gfde -1-_egb ._cc ;if _egde < 0{return _d .New ("\u006e\u0065\u0067\u0061\u0074\u0069\u0076\u0065\u0020\u0073\u0068\u0069\u0066\u0074\u0069n\u0067 \u0069\u0073\u0020\u006e\u006f\u0074\u0020\u0061\u006c\u006c\u006f\u0077\u0065\u0064");
+};_gaf :=(_dfc ._dc >>uint (_egde ))&0x1;if _egde ==0{if _dfc ._fgge ==-1{if _gaf ==1{if _egb ._gg !=nil {return _cf .Errorf ("O\u004f\u0042\u0020\u0061\u006c\u0072e\u0061\u0064\u0079\u0020\u0073\u0065\u0074\u0020\u0066o\u0072\u0020\u0063o\u0064e\u0020\u0025\u0073",_dfc );
+};_egb ._gg =_ff (_dfc );}else {if _egb ._df !=nil {return _cf .Errorf ("O\u004f\u0042\u0020\u0061\u006c\u0072e\u0061\u0064\u0079\u0020\u0073\u0065\u0074\u0020\u0066o\u0072\u0020\u0063o\u0064e\u0020\u0025\u0073",_dfc );};_egb ._df =_ff (_dfc );};}else {if _gaf ==1{if _egb ._gg !=nil {return _cf .Errorf ("\u0076\u0061\u006cue\u0020\u004e\u006f\u0064\u0065\u0020\u0061\u006c\u0072e\u0061d\u0079 \u0073e\u0074\u0020\u0066\u006f\u0072\u0020\u0063\u006f\u0064\u0065\u0020\u0025\u0073",_dfc );
+};_egb ._gg =_gfd (_dfc );}else {if _egb ._df !=nil {return _cf .Errorf ("\u0076\u0061\u006cue\u0020\u004e\u006f\u0064\u0065\u0020\u0061\u006c\u0072e\u0061d\u0079 \u0073e\u0074\u0020\u0066\u006f\u0072\u0020\u0063\u006f\u0064\u0065\u0020\u0025\u0073",_dfc );
+};_egb ._df =_gfd (_dfc );};};}else {if _gaf ==1{if _egb ._gg ==nil {_egb ._gg =_fa (_egb ._cc +1);};if _bag =_egb ._gg .(*InternalNode ).append (_dfc );_bag !=nil {return _bag ;};}else {if _egb ._df ==nil {_egb ._df =_fa (_egb ._cc +1);};if _bag =_egb ._df .(*InternalNode ).append (_dfc );
+_bag !=nil {return _bag ;};};};return nil ;};func (_ggf *StandardTable )InitTree (codeTable []*Code )error {_abg (codeTable );for _ ,_gge :=range codeTable {if _ce :=_ggf ._gbe .append (_gge );_ce !=nil {return _ce ;};};return nil ;};func (_dda *StandardTable )String ()string {return _dda ._gbe .String ()+"\u000a"};
+func (_de *StandardTable )Decode (r *_bf .Reader )(int64 ,error ){return _de ._gbe .Decode (r )};var _ceb =make ([]Tabler ,len (_cgf ));func (_ca *EncodedTable )InitTree (codeTable []*Code )error {_abg (codeTable );for _ ,_gc :=range codeTable {if _fe :=_ca ._g .append (_gc );
+_fe !=nil {return _fe ;};};return nil ;};type Code struct{_gfde int32 ;_fgge int32 ;_cbb int32 ;_agc bool ;_dc int32 ;};func (_eg *FixedSizeTable )String ()string {return _eg ._bd .String ()+"\u000a"};func NewEncodedTable (table BasicTabler )(*EncodedTable ,error ){_fg :=&EncodedTable {_g :&InternalNode {},BasicTabler :table };
+if _cg :=_fg .parseTable ();_cg !=nil {return nil ,_cg ;};return _fg ,nil ;};func (_gf *EncodedTable )parseTable ()error {var (_ed []*Code ;_fgg ,_bc ,_gfc int32 ;_gb uint64 ;_edc error ;);_eb :=_gf .StreamReader ();_gcb :=_gf .HtLow ();for _gcb < _gf .HtHigh (){_gb ,_edc =_eb .ReadBits (byte (_gf .HtPS ()));
+if _edc !=nil {return _edc ;};_fgg =int32 (_gb );_gb ,_edc =_eb .ReadBits (byte (_gf .HtRS ()));if _edc !=nil {return _edc ;};_bc =int32 (_gb );_ed =append (_ed ,NewCode (_fgg ,_bc ,_gfc ,false ));_gcb +=1<<uint (_bc );};_gb ,_edc =_eb .ReadBits (byte (_gf .HtPS ()));
+if _edc !=nil {return _edc ;};_fgg =int32 (_gb );_bc =32;_gfc =_gf .HtLow ()-1;_ed =append (_ed ,NewCode (_fgg ,_bc ,_gfc ,true ));_gb ,_edc =_eb .ReadBits (byte (_gf .HtPS ()));if _edc !=nil {return _edc ;};_fgg =int32 (_gb );_bc =32;_gfc =_gf .HtHigh ();
+_ed =append (_ed ,NewCode (_fgg ,_bc ,_gfc ,false ));if _gf .HtOOB ()==1{_gb ,_edc =_eb .ReadBits (byte (_gf .HtPS ()));if _edc !=nil {return _edc ;};_fgg =int32 (_gb );_ed =append (_ed ,NewCode (_fgg ,-1,-1,false ));};if _edc =_gf .InitTree (_ed );_edc !=nil {return _edc ;
+};return nil ;};type InternalNode struct{_cc int32 ;_df Node ;_gg Node ;};func (_cga *EncodedTable )RootNode ()*InternalNode {return _cga ._g };func (_egd *ValueNode )Decode (r *_bf .Reader )(int64 ,error ){_ffa ,_bcc :=r .ReadBits (byte (_egd ._ae ));
+if _bcc !=nil {return 0,_bcc ;};if _egd ._cab {_ffa =-_ffa ;};return int64 (_egd ._afc )+int64 (_ffa ),nil ;};var _ Tabler =&EncodedTable {};func (_agf *Code )String ()string {var _eeb string ;if _agf ._dc !=-1{_eeb =_fcc (_agf ._dc ,_agf ._gfde );}else {_eeb ="\u003f";
+};return _cf .Sprintf ("%\u0073\u002f\u0025\u0064\u002f\u0025\u0064\u002f\u0025\u0064",_eeb ,_agf ._gfde ,_agf ._fgge ,_agf ._cbb );};var _ Node =&ValueNode {}; \ No newline at end of file