screencodec.h 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. #ifndef __SCREENCODEC_H__
  2. #define __SCREENCODEC_H__
  3. #pragma once
  4. #ifdef __cplusplus
  5. extern "C" {
  6. #endif
  7. #ifdef _WIN32
  8. #ifdef LIBSCREENCODEC_EXPORTS
  9. #define SCREENCODEC_API(type) _declspec(dllexport) type __stdcall
  10. #else
  11. #define SCREENCODEC_API(type) _declspec(dllimport) type __stdcall
  12. #endif
  13. #else
  14. #define SCREENCODEC_API(type) type
  15. #endif
  16. #include <stdlib.h>
  17. #include <stdio.h>
  18. SCREENCODEC_API(int) screencapture_encode(int width, int height, const void *raw_buf, void *buf, int *size);
  19. SCREENCODEC_API(int) screencapture_decode(int *width, int *height, const void *enc_buf, size_t enc_size, void *buf, int *size);
  20. typedef struct screen_encoder_session_t screen_encoder_session_t;
  21. SCREENCODEC_API(int) screen_encoder_session_create(int width, int height, screen_encoder_session_t **p_session);
  22. SCREENCODEC_API(void) screen_encoder_session_destroy(screen_encoder_session_t *session);
  23. SCREENCODEC_API(int) screen_encoder_session_encode(screen_encoder_session_t *session, const void *raw, void *buf, int *size);
  24. typedef struct screen_decoder_session_t screen_decoder_session_t;
  25. SCREENCODEC_API(int) screen_decoder_session_create(screen_decoder_session_t **p_session);
  26. SCREENCODEC_API(void) screen_decoder_session_destroy(screen_decoder_session_t *session);
  27. SCREENCODEC_API(int) screen_decoder_session_decode(screen_decoder_session_t *session, const void *enc_buf, size_t enc_size, int *width, int *height, void *buf, int *size);
  28. #ifdef __cplusplus
  29. } // extern "C" {
  30. #endif
  31. #endif //__SCREENCODEC_H__