dxl_plugin.h 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. //==========================================================================
  2. //
  3. // THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY
  4. // KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
  5. // IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR
  6. // PURPOSE.
  7. //
  8. // Copyright (c) 1999 - 2001 On2 Technologies Inc. All Rights Reserved.
  9. //
  10. //--------------------------------------------------------------------------
  11. #ifndef _dxl_plugin_h
  12. #define _dxl_plugin_h
  13. #include "duck_dxl.h"
  14. #if defined(__cplusplus)
  15. extern "C" {
  16. #endif
  17. /* max number of algorithms to be supported at one time */
  18. #define NUM_ALG 16
  19. typedef void * DXL_HANDLE;
  20. typedef unsigned int DXL_OBJECT_VERSION;
  21. DXL_HANDLE
  22. DXL_GetAlgorithmBasePtr(DXL_XIMAGE_HANDLE src);
  23. unsigned char *
  24. DXL_GetXImageCDataAddr(DXL_XIMAGE_HANDLE src);
  25. typedef DXL_HANDLE (*CREATE_FUNC)(DXL_XIMAGE_HANDLE, unsigned char *);
  26. typedef DXL_HANDLE (*RECREATE_FUNC)(DXL_XIMAGE_HANDLE,void *,int,int,int,int);
  27. typedef int (*DESTROY_FUNC)(DXL_XIMAGE_HANDLE);
  28. typedef int (*SEED_DATA_FUNC)(DXL_XIMAGE_HANDLE);
  29. typedef int (*DX_FUNC)(DXL_XIMAGE_HANDLE, DXL_VSCREEN_HANDLE);
  30. typedef void (*SET_PARAMETER_FUNC)(DXL_XIMAGE_HANDLE, int , unsigned int);
  31. //typedef int (*SET_PARAMETER_FUNC)(DXL_XIMAGE_HANDLE, int , unsigned int);
  32. typedef int (*GET_PARAMETER_FUNC)(DXL_XIMAGE_HANDLE, int , unsigned int);
  33. typedef int (*SEND_VMSG_FUNC)(DXL_XIMAGE_HANDLE, void *, unsigned int);
  34. int DXL_GetAlgHandle(unsigned int fourcc);
  35. int DXL_RegisterXImage(CREATE_FUNC creator, unsigned int fourcc);
  36. int DXL_RegisterXImageRecreate(DXL_XIMAGE_HANDLE src, RECREATE_FUNC thisFunc);
  37. int DXL_RegisterXImageDestroy(DXL_XIMAGE_HANDLE src, DESTROY_FUNC thisFunc);
  38. int DXL_RegisterXImageDx(DXL_XIMAGE_HANDLE src, DX_FUNC thisFunc);
  39. int DXL_RegisterXImageSetParameter(DXL_XIMAGE_HANDLE src, SET_PARAMETER_FUNC thisFunc);
  40. int DXL_RegisterXImageGetParameter(DXL_XIMAGE_HANDLE src, GET_PARAMETER_FUNC thisFunc);
  41. int DXL_RegisterXImageSendVideoMessage(DXL_XIMAGE_HANDLE src, SEND_VMSG_FUNC thisFunc);
  42. #define DXL_MKFOURCC( ch0, ch1, ch2, ch3 ) \
  43. ( (unsigned int)(unsigned char)(ch0) | ( (unsigned int)(unsigned char)(ch1) << 8 ) | \
  44. ( (unsigned int)(unsigned char)(ch2) << 16 ) | ( (unsigned int)(unsigned char)(ch3) << 24 ) )
  45. #if defined(__cplusplus)
  46. }
  47. #endif
  48. #endif