1
0

vfw_pb_interface.h 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. /****************************************************************************
  2. *
  3. * Module Title : vfw_pb_interface.h
  4. *
  5. * Description : Codec interface specification header file.
  6. *
  7. ****************************************************************************/
  8. #ifndef __INC_VFW_PB_INTERFACE
  9. #define __INC_VFW_PB_INTERFACE
  10. /****************************************************************************
  11. * Header Files
  12. ****************************************************************************/
  13. #include "codec_common_interface.h"
  14. #include "type_aliases.h"
  15. #ifdef __GNUC__
  16. #include <inttypes.h>
  17. #elif defined(_WIN32)
  18. #include <stddef.h>
  19. #endif
  20. /****************************************************************************
  21. * Typedefs
  22. ****************************************************************************/
  23. typedef struct PB_INSTANCE * xPB_INST;
  24. // Settings Control
  25. typedef enum
  26. {
  27. PBC_SET_POSTPROC,
  28. PBC_SET_CPUFREE,
  29. PBC_MAX_PARAM,
  30. PBC_SET_TESTMODE,
  31. PBC_SET_PBSTRUCT,
  32. PBC_SET_BLACKCLAMP,
  33. PBC_SET_WHITECLAMP,
  34. PBC_SET_REFERENCEFRAME,
  35. PBC_SET_DEINTERLACEMODE,
  36. PBC_SET_ADDNOISE
  37. } PB_COMMAND_TYPE;
  38. /****************************************************************************
  39. * Exports
  40. ****************************************************************************/
  41. #ifdef __cplusplus
  42. extern "C"
  43. {
  44. #endif
  45. extern BOOL CCONV VP6_StartDecoder ( xPB_INST *pbi, UINT32 ImageWidth, UINT32 ImageHeight );
  46. extern void CCONV VP6_GetPbParam ( xPB_INST, PB_COMMAND_TYPE Command, UINT32 *Parameter );
  47. extern void CCONV VP6_SetPbParam ( xPB_INST, PB_COMMAND_TYPE Command, uintptr_t Parameter );
  48. extern void CCONV VP6_GetYUVConfig ( xPB_INST, YUV_BUFFER_CONFIG * YuvConfig );
  49. extern const char * CCONV VP31D_GetVersionNumber ( void );
  50. extern int CCONV VP6_DecodeFrameToYUV ( xPB_INST, char * VideoBufferPtr, unsigned int ByteCount);
  51. extern BOOL CCONV VP6_StopDecoder ( xPB_INST *pbi );
  52. #ifdef __cplusplus
  53. }
  54. #endif
  55. #endif