KLVideo.h
上传用户:dzyhzl
上传日期:2019-04-29
资源大小:56270k
文件大小:3k
源码类别:

模拟服务器

开发平台:

C/C++

  1. #ifndef __KLVIDEO_H__
  2. #define __KLVIDEO_H__
  3. #define KLVIDEOVERSION "1.0h"
  4. #define KLVIDEODATE    "2002-10-11"
  5. // The following ifdef block is the standard way of creating macros which make exporting 
  6. // from a DLL simpler. All files within this DLL are compiled with the KLVIDEO_EXPORTS
  7. // symbol defined on the command line. this symbol should not be defined on any project
  8. // that uses this DLL. This way any other project whose source files include this file see 
  9. // KLVIDEO_API functions as being imported from a DLL, wheras this DLL sees symbols
  10. // defined with this macro as being exported.
  11. #ifdef KLVIDEO_EXPORTS
  12. #define KLVIDEO_API __declspec(dllexport)
  13. #else
  14. #define KLVIDEO_API __declspec(dllimport)
  15. #endif
  16. #ifndef __RADRES__
  17. #include "rad.h"
  18. RADDEFSTART
  19. #define KLVIDEONOSOUND 0xffffffff
  20. #define KLVIDEOSNDTRACK 0x00004000L // Set the track number to play
  21. #define KLVIDEOSURFACE8P          0
  22. #define KLVIDEOSURFACE24          1
  23. #define KLVIDEOSURFACE24R         2
  24. #define KLVIDEOSURFACE32          3
  25. #define KLVIDEOSURFACE32R         4
  26. #define KLVIDEOSURFACE32A         5
  27. #define KLVIDEOSURFACE32RA        6
  28. #define KLVIDEOSURFACE4444        7
  29. #define KLVIDEOSURFACE5551        8
  30. #define KLVIDEOSURFACE555         9
  31. #define KLVIDEOSURFACE565        10
  32. #define KLVIDEOSURFACE655        11
  33. #define KLVIDEOSURFACE664        12
  34. #define KLVIDEOSURFACEYUY2       13
  35. #define KLVIDEOSURFACEUYVY       14
  36. #define KLVIDEOSURFACEYV12       15
  37. #define KLVIDEOSURFACEMASK       15
  38. class KLMp4Video;
  39. class KLMp4Audio;
  40. struct KLVIDEO {
  41. KLVIDEO(){memset(this,0,sizeof(KLVIDEO));}
  42. KLMp4Video PTR4* pMpeg4Video;
  43. KLMp4Audio PTR4* pMpeg4Audio;
  44. u32 Width;             // Width (1 based, 640 for example)
  45. u32 Height;            // Height (1 based, 480 for example)
  46. u32 Frames;            // Number of frames (1 based, 100 = 100 frames)
  47. u32 FrameNum;          // Frame to *be* displayed (1 based)
  48. };
  49. typedef struct KLVIDEO PTR4* HKLVIDEO;
  50. RADEXPFUNC u8 KLVideoSetSoundSystem(void PTR4* dd);
  51. RADEXPFUNC HKLVIDEO KLVideoOpen(char PTR4* name,u32 flags, void PTR4* hWnd);
  52. RADEXPFUNC void KLVideoClose(HKLVIDEO bnk);
  53. RADEXPFUNC u32 KLVideoWait(HKLVIDEO bnk);
  54. RADEXPFUNC void KLVideoCopyToBuffer(HKLVIDEO bnk,void PTR4* buf,u32 left,u32 top,u32 Pitch,u32 destheight,u32 Flags);
  55. RADEXPFUNC u32 KLVideoDoFrame(HKLVIDEO bnk);
  56. RADEXPFUNC void KLVideoNextFrame(HKLVIDEO bnk);
  57. RADEXPFUNC void KLVideoSetSoundVolume(HKLVIDEO bnk,u32 nVolume);
  58. RADEXPFUNC void KLVideoSetSoundTrack(u32 track);
  59. RADEXPFUNC u32 KLVideoGetCurrentFrame(HKLVIDEO bnk);
  60. RADDEFEND
  61. #endif
  62. #endif