/H264Dec/source/h264bsd_reconstruct.h

http://github.com/mbebenita/Broadway · C Header · 210 lines · 150 code · 23 blank · 37 comment · 0 complexity · 8445dad26ac040727c778a2a99abf9e2 MD5 · raw file

  1. /*
  2. * Copyright (C) 2009 The Android Open Source Project
  3. *
  4. * Licensed under the Apache License, Version 2.0 (the "License");
  5. * you may not use this file except in compliance with the License.
  6. * You may obtain a copy of the License at
  7. *
  8. * http://www.apache.org/licenses/LICENSE-2.0
  9. *
  10. * Unless required by applicable law or agreed to in writing, software
  11. * distributed under the License is distributed on an "AS IS" BASIS,
  12. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  13. * See the License for the specific language governing permissions and
  14. * limitations under the License.
  15. */
  16. /*------------------------------------------------------------------------------
  17. Table of contents
  18. 1. Include headers
  19. 2. Module defines
  20. 3. Data types
  21. 4. Function prototypes
  22. ------------------------------------------------------------------------------*/
  23. #ifndef H264SWDEC_RECONSTRUCT_H
  24. #define H264SWDEC_RECONSTRUCT_H
  25. /*------------------------------------------------------------------------------
  26. 1. Include headers
  27. ------------------------------------------------------------------------------*/
  28. #include "basetype.h"
  29. #include "h264bsd_macroblock_layer.h"
  30. #include "h264bsd_image.h"
  31. /*------------------------------------------------------------------------------
  32. 2. Module defines
  33. ------------------------------------------------------------------------------*/
  34. /*------------------------------------------------------------------------------
  35. 3. Data types
  36. ------------------------------------------------------------------------------*/
  37. /*------------------------------------------------------------------------------
  38. 4. Function prototypes
  39. ------------------------------------------------------------------------------*/
  40. #ifndef H264DEC_OMXDL
  41. void h264bsdPredictSamples(
  42. u8 *data,
  43. mv_t *mv,
  44. image_t *refPic,
  45. u32 xA,
  46. u32 yA,
  47. u32 partX,
  48. u32 partY,
  49. u32 partWidth,
  50. u32 partHeight);
  51. #else
  52. void h264bsdPredictSamples(
  53. u8 *data,
  54. mv_t *mv,
  55. image_t *refPic,
  56. u32 colAndRow,/* packaged data | column | row |*/
  57. u32 part, /* packaged data |partX|partY|partWidth|partHeight|*/
  58. u8 *pFill);
  59. #endif
  60. void h264bsdFillBlock(
  61. u8 * ref,
  62. u8 * fill,
  63. i32 x0,
  64. i32 y0,
  65. u32 width,
  66. u32 height,
  67. u32 blockWidth,
  68. u32 blockHeight,
  69. u32 fillScanLength);
  70. void h264bsdInterpolateChromaHor(
  71. u8 *pRef,
  72. u8 *predPartChroma,
  73. i32 x0,
  74. i32 y0,
  75. u32 width,
  76. u32 height,
  77. u32 xFrac,
  78. u32 chromaPartWidth,
  79. u32 chromaPartHeight);
  80. void h264bsdInterpolateChromaVer(
  81. u8 *pRef,
  82. u8 *predPartChroma,
  83. i32 x0,
  84. i32 y0,
  85. u32 width,
  86. u32 height,
  87. u32 yFrac,
  88. u32 chromaPartWidth,
  89. u32 chromaPartHeight);
  90. void h264bsdInterpolateChromaHorVer(
  91. u8 *ref,
  92. u8 *predPartChroma,
  93. i32 x0,
  94. i32 y0,
  95. u32 width,
  96. u32 height,
  97. u32 xFrac,
  98. u32 yFrac,
  99. u32 chromaPartWidth,
  100. u32 chromaPartHeight);
  101. void h264bsdInterpolateVerHalf(
  102. u8 *ref,
  103. u8 *mb,
  104. i32 x0,
  105. i32 y0,
  106. u32 width,
  107. u32 height,
  108. u32 partWidth,
  109. u32 partHeight);
  110. void h264bsdInterpolateVerQuarter(
  111. u8 *ref,
  112. u8 *mb,
  113. i32 x0,
  114. i32 y0,
  115. u32 width,
  116. u32 height,
  117. u32 partWidth,
  118. u32 partHeight,
  119. u32 verOffset);
  120. void h264bsdInterpolateHorHalf(
  121. u8 *ref,
  122. u8 *mb,
  123. i32 x0,
  124. i32 y0,
  125. u32 width,
  126. u32 height,
  127. u32 partWidth,
  128. u32 partHeight);
  129. void h264bsdInterpolateHorQuarter(
  130. u8 *ref,
  131. u8 *mb,
  132. i32 x0,
  133. i32 y0,
  134. u32 width,
  135. u32 height,
  136. u32 partWidth,
  137. u32 partHeight,
  138. u32 horOffset);
  139. void h264bsdInterpolateHorVerQuarter(
  140. u8 *ref,
  141. u8 *mb,
  142. i32 x0,
  143. i32 y0,
  144. u32 width,
  145. u32 height,
  146. u32 partWidth,
  147. u32 partHeight,
  148. u32 horVerOffset);
  149. void h264bsdInterpolateMidHalf(
  150. u8 *ref,
  151. u8 *mb,
  152. i32 x0,
  153. i32 y0,
  154. u32 width,
  155. u32 height,
  156. u32 partWidth,
  157. u32 partHeight);
  158. void h264bsdInterpolateMidVerQuarter(
  159. u8 *ref,
  160. u8 *mb,
  161. i32 x0,
  162. i32 y0,
  163. u32 width,
  164. u32 height,
  165. u32 partWidth,
  166. u32 partHeight,
  167. u32 verOffset);
  168. void h264bsdInterpolateMidHorQuarter(
  169. u8 *ref,
  170. u8 *mb,
  171. i32 x0,
  172. i32 y0,
  173. u32 width,
  174. u32 height,
  175. u32 partWidth,
  176. u32 partHeight,
  177. u32 horOffset);
  178. void h264bsdFillRow7(
  179. u8 *ref,
  180. u8 *fill,
  181. i32 left,
  182. i32 center,
  183. i32 right);
  184. #endif /* #ifdef H264SWDEC_RECONSTRUCT_H */