WCompC.h 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. /****************************************************************************
  2. Entry for "C" calls
  3. ****************************************************************************/
  4. #ifndef WCOMPC_H
  5. #define WCOMPC_H
  6. #ifndef YUVINPUTBUFFERCONFIG
  7. #define YUVINPUTBUFFERCONFIG
  8. typedef struct
  9. {
  10. int YWidth;
  11. int YHeight;
  12. int YStride;
  13. int UVWidth;
  14. int UVHeight;
  15. int UVStride;
  16. char * YBuffer;
  17. char * UBuffer;
  18. char * VBuffer;
  19. } YUV_INPUT_BUFFER_CONFIG;
  20. #endif
  21. #ifdef __cplusplus
  22. extern "C"
  23. {
  24. #endif
  25. void NewWC(void **wc);
  26. void DeleteWC(void **wc);
  27. int BeginCompressWC(
  28. void *wc,
  29. int ScreenWidth,
  30. int ScreenHeight,
  31. int Width,
  32. int Height,
  33. int XOffset,
  34. int YOffset);
  35. int CompressYUVWC(void *wc,
  36. YUV_INPUT_BUFFER_CONFIG *YuvInputData,
  37. unsigned char *OutputBufferPtr,
  38. unsigned char *ReconBufferPtr,
  39. int TargetSize);
  40. int CompressWC(void *wc,
  41. unsigned char *InputData,
  42. unsigned char *OutputBufferPtr,
  43. unsigned char *ReconBufferPtr,
  44. int TargetSize);
  45. int AnalyzeWC(void *wc,
  46. unsigned char *InputData);
  47. void EndCompressWC(void *wc);
  48. int BeginDecompressWC(void *wc,
  49. int ScreenWidth,
  50. int ScreenHeight,
  51. int Width,
  52. int Height,
  53. int XOffset,
  54. int YOffset);
  55. int DecompressWC(void *wc,
  56. unsigned char *InputBufferPtr,
  57. unsigned char *OutputBufferPtr);
  58. void EndDecompressWC(void *wc);
  59. #ifdef __cplusplus
  60. }
  61. #endif
  62. #endif