CMGDK r49-rc2
K:/CMGDKv18/SDK/Include/hgl/Compress.H
浏览该文件的文档。
00001 # i f n d e f   H G L _ C O M P R E S S _ I N C L U D E 
00002  
00003  # d e f i n e   H G L _ C O M P R E S S _ I N C L U D E 
00004  
00005  
00006  
00007  # i n c l u d e < h g l / t y p e / W i d e S t r i n g . H > 
00008  
00009  n a m e s p a c e   h g l 
00010  
00011  { 
00012  
00013      / * * 
00014  
00015      *   S){lg>N< b r > 
00016  
00017      *   la(WNUO`QNO(u{l
00018 Ty
00019 N/fpe<PegOX[S){lv{|W0
00020  
00021      * / 
00022  
00023      e n u m _ u i n t ( C o m p r e s s A l g o r i t h m )         / / / S){l
00024  
00025      { 
00026  
00027                  c a N o n e     = 0 ,                                           / / / < 
00028 NS)
00029  
00030  
00031  
00032          c a B z i p 2 ,                                                 / / / < B z i p 2 {l
00033  
00034          c a L z o ,                             / / / < L z o {l
00035  
00036          c a L z m a ,                           / / / < L z m a {l
00037  
00038          c a Z i p ,                             / / / < Z i p {l
00039  
00040          c a R L E ,                             / / / < R L E {l
00041  
00042  
00043  
00044          c a R Y C ,                             / / / < R Y C {l( VPN(u) 
00045  
00046                  c a R S C ,                                                     / / / < R S C {l( VPN(u) 
00047  
00048          c a J p e g 2 0 0 0 ,                       / / / < J p e g 2 0 0 0 {l( VPN(u) 
00049  
00050          c a V S R L E ,                         / / / < V S R L E {l( VPN(u) 
00051  
00052  
00053  
00054                  c a E n d                                                       / / / < ~_g[INeaIN
00055  
00056      } ; 
00057  
00058  
00059  
00060          t y p e d e f   C o m p r e s s A l g o r i t h m   C A ;       / / / < S){lg>N[IN
00061  
00062  
00063  
00064      c o n s t   W i d e S t r i n g   C A T o N a m e ( C A ) ;                                                                         / / / < S)l{g>N0R
00065 Tylbc
00066  
00067      C A   N a m e T o C A ( c o n s t   W i d e S t r i n g   & ) ;                                                                                             / / / < 
00068 Ty0RS){lg>Nlbc
00069  
00070  
00071  
00072      u i n t 3 2   C o m p r e s s ( c o n s t   W i d e S t r i n g   & , v o i d   * , u i n t 3 2 , v o i d   * , u i n t 3 2 , f l o a t = 1 ) ;                                 / / / < S)penc
00073  
00074      u i n t 3 2   D e c o m p r e s s ( c o n s t   W i d e S t r i n g   & , v o i d   * , u i n t 3 2 , v o i d   * , u i n t 3 2 ) ;                                     / / / < ㉋S)penc
00075  
00076  
00077  
00078      u i n t 3 2   I m a g e C o m p r e s s ( c o n s t   W i d e S t r i n g   & , v o i d   * , u i n t 3 2 , v o i d   * , i n t , i n t , i n t , f l o a t = 1 ) ;                     / / / < S)VPpenc
00079  
00080      u i n t 3 2   I m a g e D e c o m p r e s s ( c o n s t   W i d e S t r i n g   & , v o i d   * , v o i d   * , u i n t 3 2 , i n t , i n t , i n t ) ;                         / / / < ㉋S)VPpenc
00081  
00082  
00083  
00084      / * * 
00085  
00086      *   S) N*NQX[WWvpencv^X[>e0RS N*NQX[WW
00087  
00088      *   @ p a r a m   c a   S){l
00089  
00090      *   @ p a r a m   d a t a   SYpencc
00091  
00092      *   @ p a r a m   s i z e   SYpencv^
00093  
00094      *   @ p a r a m   c o m p r e s s d a t a   S)TpencvX[>eMOn
00095  
00096      *   @ p a r a m   o u t _ m a x   S)TQpencX[>e:S'Y\
00097  
00098      *   @ p a r a m   l e v e l   S)~+R( 0 : 
00099 NS), 1 :  g'YS)k) 
00100  
00101      *   @ r e t u r n   S)Tpencv^
00102  
00103      *   @ s e e   C o m p r e s s A l g o r i t h m 
00104  
00105      *   @ s e e   D e c o m p r e s s 
00106  
00107      * / 
00108  
00109      u i n t 3 2   _ _ i n l i n e   C o m p r e s s ( C A   c a , v o i d   * d a t a , u i n t 3 2   s i z e , v o i d   * c o m p r e s s d a t a , u i n t 3 2   o u t _ m a x , f l o a t   l e v e l = 1 ) 
00110  
00111      { 
00112  
00113          r e t u r n   C o m p r e s s ( C A T o N a m e ( c a ) , d a t a , s i z e , c o m p r e s s d a t a , o u t _ m a x , l e v e l ) ; 
00114  
00115      } 
00116  
00117  
00118  
00119      / * * 
00120  
00121      *   ㉋S) N*NQX[WWvpencv^X[>e0RS N*NQX[WW
00122  
00123      *   @ p a r a m   c a   S){l
00124  
00125      *   @ p a r a m   c o m p r e s s d a t a   S)pencvX[>eMOn
00126  
00127      *   @ p a r a m   s i z e   S)pencv^
00128  
00129      *   @ p a r a m   o u t _ d a t a   ㉋S)TpencvX[>eMOn
00130  
00131      *   @ p a r a m   o u t _ m a x   ㉋S)pencX[>e:Sv'Y\
00132  
00133      *   @ r e t u r n   ㉋S)Tvpenc^
00134  
00135      *   @ s e e   C o m p r e s s A l g o r i t h m 
00136  
00137      *   @ s e e   C o m p r e s s 
00138  
00139      * / 
00140  
00141      u i n t 3 2   _ _ i n l i n e   D e c o m p r e s s ( C A   c a , v o i d   * c o m p r e s s d a t a , u i n t 3 2   s i z e , v o i d   * o u t _ d a t a , u i n t 3 2   o u t _ m a x ) 
00142  
00143      { 
00144  
00145              r e t u r n   D e c o m p r e s s ( C A T o N a m e ( c a ) , c o m p r e s s d a t a , s i z e , o u t _ d a t a , o u t _ m a x ) ; 
00146  
00147      } 
00148  
00149  
00150  
00151      / * * 
00152  
00153      *   ㉋S) N*NVPpenc
00154  
00155      *   @ p a r a m   c a   S){l
00156  
00157      *   @ p a r a m   b u f f e r   S)TvpencX[>eQ:S
00158  
00159      *   @ p a r a m   b u f f e r _ s i z e   Q:S'Y\
00160  
00161      *   @ p a r a m   d a t a   SYvVPpenc
00162  
00163      *   @ p a r a m   w i d t h   VP[
00164  
00165      *   @ p a r a m   h e i g h t   VPؚ
00166  
00167      *   @ p a r a m   c h a n n e l s   VPSpe
00168  
00169      *   @ p a r a m   l e v e l   S)~+R( 0 : 
00170 NS), 9 :  g'YS)k) 
00171  
00172      *   @ r e t u r n   S)Tvpenc'Y\
00173  
00174      * / 
00175  
00176      u i n t 3 2   _ _ i n l i n e   I m a g e C o m p r e s s ( C A   c a , v o i d   * b u f f e r , u i n t 3 2   b u f f e r _ s i z e , v o i d   * d a t a , i n t   w i d t h , i n t   h e i g h t , i n t   c h a n n e l s , i n t   l e v e l ) 
00177  
00178      { 
00179  
00180                  r e t u r n   I m a g e C o m p r e s s ( C A T o N a m e ( c a ) , b u f f e r , b u f f e r _ s i z e , d a t a , w i d t h , h e i g h t , c h a n n e l s , l e v e l ) ; 
00181  
00182      } 
00183  
00184  
00185  
00186      / * * 
00187  
00188      *   ㉋S) N*NVPpenc
00189  
00190      *   @ p a r a m   c a   S){l
00191  
00192      *   @ p a r a m   d a t a   ㉋STvpencX[>eY
00193  
00194      *   @ p a r a m   b u f f e r   S)vpencc
00195  
00196      *   @ p a r a m   s i z e   S)pencv^
00197  
00198      *   @ p a r a m   w i d t h   VP[
00199  
00200      *   @ p a r a m   h e i g h t   VPؚ
00201  
00202      *   @ p a r a m   c h a n n e l s   VPSpe
00203  
00204      *   @ r e t u r n   ㉋S)Tvpenc'Y\
00205  
00206      * / 
00207  
00208      u i n t 3 2   _ _ i n l i n e   I m a g e D e c o m p r e s s ( C A   c a , v o i d   * d a t a , v o i d   * b u f f e r , u i n t 3 2   s i z e , i n t   w i d t h , i n t   h e i g h t , i n t   c h a n n e l s ) 
00209  
00210      { 
00211  
00212              r e t u r n   I m a g e D e c o m p r e s s ( C A T o N a m e ( c a ) , d a t a , b u f f e r , s i z e , w i d t h , h e i g h t , c h a n n e l s ) ; 
00213  
00214      } 
00215  
00216  
00217  
00218      / * * 
00219  
00220      *   Am_pencS){|
00221  
00222      * / 
00223  
00224      c l a s s   C o m p r e s s S t r e a m                                                                                                                                                         / / / Am_pencS){|
00225  
00226      { 
00227  
00228          v o i d   * s t r e a m ; 
00229  
00230  
00231  
00232      p u b l i c : 
00233  
00234  
00235  
00236          C o m p r e s s S t r e a m ( c o n s t   W i d e S t r i n g   & , f l o a t = 1 ) ; 
00237  
00238          C o m p r e s s S t r e a m ( C A ) ; 
00239  
00240          ~ C o m p r e s s S t r e a m ( ) ; 
00241  
00242  
00243  
00244          u i n t   C o m p r e s s ( v o i d   * , u i n t   & , b o o l , v o i d   * , u i n t   & ) ; 
00245  
00246      } ; 
00247  
00248  
00249  
00250      / * * 
00251  
00252      *   Am_penc㉋S{|
00253  
00254      * / 
00255  
00256      c l a s s   D e c o m p r e s s S t r e a m                                                                                                                                                     / / / Am_penc㉋S{|
00257  
00258      { 
00259  
00260          v o i d   * s t r e a m ; 
00261  
00262  
00263  
00264      p u b l i c : 
00265  
00266  
00267  
00268          D e c o m p r e s s S t r e a m ( c o n s t   W i d e S t r i n g   & ) ; 
00269  
00270          D e c o m p r e s s S t r e a m ( C A ) ; 
00271  
00272          ~ D e c o m p r e s s S t r e a m ( ) ; 
00273  
00274  
00275  
00276          u i n t   D e c o m p r e s s ( v o i d   * , u i n t   & , v o i d   * , u i n t   & ) ; 
00277  
00278      } ; 
00279  
00280  } / / n a m e s p a c e   h g l 
00281  
00282  # e n d i f / / H G L _ C O M P R E S S _ I N C L U D E 
00283  
00284  
 全部  名字空间 文件 函数 变量 类型定义 枚举 枚举值 友元 宏定义