CMGDK r49-rc2
|
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[INeaIN 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