Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

97 lines
2.5 KiB

  1. /*++
  2. Copyright (c) 1996, 1997 Philips B.V. CE-VCM
  3. Module Name:
  4. mdecoder.h
  5. Abstract:
  6. This module converts the compressed video data to uncompressed video data.
  7. Original Author:
  8. Ronald v.d.Meer
  9. Environment:
  10. Kernel mode only
  11. Revision History:
  12. Date Change
  13. 14-04-1998 Initial version
  14. --*/
  15. #ifndef __MDECODER_H__
  16. #define __MDECODER_H__
  17. #include <stdio.h>
  18. #include "mcamdrv.h"
  19. #include "resource.h"
  20. /*******************************************************************************
  21. *
  22. * START DEFINES
  23. *
  24. ******************************************************************************/
  25. #define BytesPerBandCIF3 704
  26. #define BytesPerBandCIF4 528
  27. #define BLOCK_BAND_WIDTH ((CIF_X * 3) / 2)
  28. #define Y_BLOCK_BAND TRUE
  29. #define UV_BLOCK_BAND FALSE
  30. /* defines for I420 space */
  31. #define I420_NO_Y_PER_LINE_CIF (CIF_X)
  32. #define I420_NO_C_PER_LINE_CIF (CIF_X >> 1)
  33. #define I420_NO_Y_PER_LINE_SIF (SIF_X)
  34. #define I420_NO_C_PER_LINE_SIF (SIF_X >> 1)
  35. #define I420_NO_Y_PER_LINE_SSIF (SSIF_X)
  36. #define I420_NO_C_PER_LINE_SSIF (SSIF_X >> 1)
  37. #define I420_NO_Y_PER_LINE_SCIF (SCIF_X)
  38. #define I420_NO_C_PER_LINE_SCIF (SCIF_X >> 1)
  39. #define I420_NO_Y_PER_BAND_CIF (4 * CIF_X)
  40. #define I420_NO_U_PER_BAND_CIF (2 * (CIF_X >> 1))
  41. #define I420_NO_V_PER_BAND_CIF (2 * (CIF_X >> 1))
  42. #define I420_NO_C_PER_BAND_CIF (CIF_X >> 1)
  43. #define I420_NO_Y_PER_BAND_SIF (4 * SIF_X)
  44. #define I420_NO_U_PER_BAND_SIF (2 * (SIF_X >> 1))
  45. #define I420_NO_V_PER_BAND_SIF (2 * (SIF_X >> 1))
  46. #define I420_NO_C_PER_BAND_SIF (SIF_X >> 1)
  47. #define I420_NO_Y_PER_BAND_SSIF (4 * SSIF_X)
  48. #define I420_NO_U_PER_BAND_SSIF (2 * (SSIF_X >> 1))
  49. #define I420_NO_V_PER_BAND_SSIF (2 * (SSIF_X >> 1))
  50. #define I420_NO_C_PER_BAND_SSIF (SSIF_X >> 1)
  51. #define I420_NO_Y_PER_BAND_SCIF (4 * SCIF_X)
  52. #define I420_NO_U_PER_BAND_SCIF (2 * (SCIF_X >> 1))
  53. #define I420_NO_V_PER_BAND_SCIF (2 * (SCIF_X >> 1))
  54. #define I420_NO_C_PER_BAND_SCIF (SCIF_X >> 1)
  55. /*******************************************************************************
  56. *
  57. * START FUNCTION DECLARATIONS
  58. *
  59. ******************************************************************************/
  60. extern void InitDecoder ();
  61. extern void DcDecompressBandToI420 (PBYTE pSrc, PBYTE pDst, DWORD camVersion,
  62. BOOLEAN YBlockBand, BOOLEAN Cropping);
  63. #endif // __MDECODER_H__