vputil_if.h 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149
  1. /****************************************************************************
  2. *
  3. * Module Title : vputil_if.h
  4. *
  5. * Description : Codec utilities header file.
  6. *
  7. ****************************************************************************/
  8. #ifndef __VPUTIL_IF_H
  9. #define __VPUTIL_IF_H
  10. /****************************************************************************
  11. * Header Files
  12. ****************************************************************************/
  13. #include "codec_common_interface.h"
  14. /****************************************************************************
  15. * Exports
  16. ****************************************************************************/
  17. extern void InitVPUtil ( void );
  18. extern void (*ReconIntra)
  19. (
  20. INT16 *tmpBuffer,
  21. UINT8 *ReconPtr,
  22. UINT16 *ChangePtr,
  23. UINT32 LineStep
  24. );
  25. extern void (*ReconInter)
  26. (
  27. INT16 * tmpBuffer,
  28. UINT8 * ReconPtr,
  29. UINT8 * RefPtr,
  30. INT16 * ChangePtr,
  31. UINT32 LineStep
  32. );
  33. extern void (*ReconInterHalfPixel2)
  34. (
  35. INT16 * tmpBuffer,
  36. UINT8 * ReconPtr,
  37. UINT8 * RefPtr1,
  38. UINT8 * RefPtr2,
  39. INT16 * ChangePtr,
  40. UINT32 LineStep
  41. );
  42. extern void (*idct[65])
  43. (
  44. INT16 *InputData,
  45. INT16 *QuantMatrix,
  46. INT16 *OutputData
  47. );
  48. extern void (*idctc[65])
  49. (
  50. INT16 *InputData,
  51. INT16 *QuantMatrix,
  52. INT16 * OutputData
  53. );
  54. extern void (*ClearSysState) ( void );
  55. extern void (*ReconBlock)
  56. (
  57. INT16 *SrcBlock,
  58. INT16 *ReconRefPtr,
  59. UINT8 *DestBlock,
  60. UINT32 LineStep
  61. );
  62. extern void (*SubtractBlock)
  63. (
  64. UINT8 *SrcBlock,
  65. INT16 *DestPtr,
  66. UINT32 LineStep
  67. );
  68. extern void (*UnpackBlock)
  69. (
  70. UINT8 *ReconPtr,
  71. INT16 *ReconRefPtr,
  72. UINT32 ReconPixelsPerLine
  73. );
  74. extern void (*AverageBlock)
  75. (
  76. UINT8 *ReconPtr1,
  77. UINT8 *ReconPtr2,
  78. UINT16 *ReconRefPtr,
  79. UINT32 ReconPixelsPerLine
  80. );
  81. extern void (*CopyBlock)
  82. (
  83. unsigned char *src,
  84. unsigned char *dest,
  85. unsigned int srcstride
  86. );
  87. extern void (*fdct_short)
  88. (
  89. INT16 * InputData,
  90. INT16 * OutputData
  91. );
  92. extern void (*Copy12x12)
  93. (
  94. const unsigned char *src,
  95. unsigned char *dest,
  96. unsigned int srcstride,
  97. unsigned int deststride
  98. );
  99. extern void (*FilterBlockBil_8)
  100. (
  101. UINT8 *ReconPtr1,
  102. UINT8 *ReconPtr2,
  103. UINT8 *ReconRefPtr,
  104. UINT32 ReconPixelsPerLine,
  105. INT32 ModX,
  106. INT32 ModY
  107. );
  108. extern void (*FilterBlock)
  109. (
  110. UINT8 *ReconPtr1,
  111. UINT8 *ReconPtr2,
  112. UINT16 *ReconRefPtr,
  113. UINT32 PixelsPerLine,
  114. INT32 ModX,
  115. INT32 ModY,
  116. BOOL UseBicubic,
  117. UINT8 BicubicAlpha
  118. );
  119. extern UINT32 (*FiltBlockBilGetSad)
  120. (
  121. UINT8 *SrcPtr,
  122. INT32 SrcStride,
  123. UINT8 *ReconPtr1,
  124. UINT8 *ReconPtr2,
  125. INT32 PixelsPerLine,
  126. INT32 ModX,
  127. INT32 ModY,
  128. UINT32 BestSoFar
  129. );
  130. #endif