compress.h 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. /*!
  2. \ingroup Compression
  3. \brief この関数は、ハフマン符号化を用いて与えられた入力データを圧縮し、出力をOUTに格納する。出力バッファは、圧縮が可能でないことが存在するため、出力バッファが入力バッファよりも大きいはずです。これはまだルックアップテーブルを必要とします。出力バッファに対してSRCSZ + 0.1%+ 12を割り当てることをお勧めします。
  4. \return On 入力データの圧縮に成功し、出力バッファに格納されているバイト数を返します。
  5. \return COMPRESS_INIT_E 圧縮のためにストリームの初期化中にエラーがある場合
  6. \return COMPRESS_E 圧縮中にエラーが発生した場合は返されます
  7. \param out 圧縮データを格納する出力バッファへのポインタ
  8. \param outSz 出力バッファで保存されているサイズ
  9. \param in 圧縮するメッセージを含むバッファへのポインタ
  10. \param inSz 圧縮する入力メッセージのサイズ
  11. _Example_
  12. \code
  13. byte message[] = { // initialize text to compress };
  14. byte compressed[(sizeof(message) + sizeof(message) * .001 + 12 )];
  15. // Recommends at least srcSz + .1% + 12
  16. if( wc_Compress(compressed, sizeof(compressed), message, sizeof(message),
  17. 0) != 0){
  18. // error compressing data
  19. }
  20. \endcode
  21. \sa wc_DeCompress
  22. */
  23. int wc_Compress(byte* out, word32 outSz, const byte* in, word32 inSz, word32 flags);
  24. /*!
  25. \ingroup Compression
  26. \brief この関数は、ハフマン符号化を用いて所定の圧縮データを解凍し、出力をOUTに格納する。
  27. \return Success 入力データの解凍に成功した場合は、出力バッファに格納されているバイト数を返します。
  28. \return COMPRESS_INIT_E: 圧縮のためにストリームの初期化中にエラーがある場合
  29. \return COMPRESS_E: 圧縮中にエラーが発生した場合は返されます
  30. \param out 解凍されたデータを格納する出力バッファへのポインタ
  31. \param outSz 出力バッファで保存されているサイズ
  32. \param in 解凍するメッセージを含むバッファへのポインタ
  33. _Example_
  34. \code
  35. byte compressed[] = { // initialize compressed message };
  36. byte decompressed[MAX_MESSAGE_SIZE];
  37. if( wc_DeCompress(decompressed, sizeof(decompressed),
  38. compressed, sizeof(compressed)) != 0 ) {
  39. // error decompressing data
  40. }
  41. \endcode
  42. \sa wc_Compress
  43. */
  44. int wc_DeCompress(byte* out, word32 outSz, const byte* in, word32 inSz);