vfw_PB_Interface.h 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  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. /****************************************************************************
  12. *
  13. * Module Title : VFW_PB_INTERFACE.H
  14. *
  15. * Description : Interface to video codec demo decompressor DLL
  16. *
  17. *
  18. *****************************************************************************
  19. */
  20. #include "codec_common_interface.h"
  21. #include "type_aliases.h"
  22. #ifndef XPB_DEFINED
  23. #define XPB_DEFINED
  24. typedef struct PB_INSTANCE * xPB_INST;
  25. #endif
  26. //#include "pbdll.h"
  27. // YUV buffer configuration structure
  28. typedef struct
  29. {
  30. int YWidth;
  31. int YHeight;
  32. int YStride;
  33. int UVWidth;
  34. int UVHeight;
  35. int UVStride;
  36. unsigned char * YBuffer;
  37. unsigned char * UBuffer;
  38. unsigned char * VBuffer;
  39. } YUV_BUFFER_CONFIG;
  40. // Settings Control
  41. typedef enum
  42. {
  43. PBC_SET_POSTPROC,
  44. PBC_SET_CPUFREE,
  45. PBC_MAX_PARAM
  46. } PB_COMMAND_TYPE;
  47. #ifdef __cplusplus
  48. extern "C"
  49. {
  50. #endif
  51. extern BOOL CCONV StartDecoder( xPB_INST *pbi, UINT32 ImageWidth, UINT32 ImageHeight );
  52. extern void CCONV GetPbParam( xPB_INST, PB_COMMAND_TYPE Command, UINT32 *Parameter );
  53. extern void CCONV SetPbParam( xPB_INST, PB_COMMAND_TYPE Command, UINT32 Parameter );
  54. extern void CCONV GetYUVConfig( xPB_INST, YUV_BUFFER_CONFIG * YuvConfig );
  55. extern const char * CCONV VP31D_GetVersionNumber(void);
  56. extern int CCONV DecodeFrameToYUV( xPB_INST, char * VideoBufferPtr, unsigned int ByteCount,
  57. UINT32 ImageWidth, UINT32 ImageHeight );
  58. extern BOOL CCONV StopDecoder(xPB_INST *pbi);
  59. #ifdef __cplusplus
  60. }
  61. #endif