hpeldsp_mips.h 9.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174
  1. /*
  2. * Copyright (c) 2015 Parag Salasakar (Parag.Salasakar@imgtec.com)
  3. * Copyright (c) 2016 Zhou Xiaoyong <zhouxiaoyong@loongson.cn>
  4. *
  5. * This file is part of FFmpeg.
  6. *
  7. * FFmpeg is free software; you can redistribute it and/or
  8. * modify it under the terms of the GNU Lesser General Public
  9. * License as published by the Free Software Foundation; either
  10. * version 2.1 of the License, or (at your option) any later version.
  11. *
  12. * FFmpeg is distributed in the hope that it will be useful,
  13. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  14. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  15. * Lesser General Public License for more details.
  16. *
  17. * You should have received a copy of the GNU Lesser General Public
  18. * License along with FFmpeg; if not, write to the Free Software
  19. * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  20. */
  21. #ifndef AVCODEC_MIPS_HPELDSP_MIPS_H
  22. #define AVCODEC_MIPS_HPELDSP_MIPS_H
  23. #include "libavcodec/bit_depth_template.c"
  24. void ff_put_pixels16_msa(uint8_t *block, const uint8_t *pixels,
  25. ptrdiff_t line_size, int32_t h);
  26. void ff_put_pixels16_x2_msa(uint8_t *block, const uint8_t *pixels,
  27. ptrdiff_t line_size, int32_t h);
  28. void ff_put_pixels16_y2_msa(uint8_t *block, const uint8_t *pixels,
  29. ptrdiff_t line_size, int32_t h);
  30. void ff_put_pixels16_xy2_msa(uint8_t *block, const uint8_t *pixels,
  31. ptrdiff_t line_size, int32_t h);
  32. void ff_put_pixels8_msa(uint8_t *block, const uint8_t *pixels,
  33. ptrdiff_t line_size, int32_t h);
  34. void ff_put_pixels8_x2_msa(uint8_t *block, const uint8_t *pixels,
  35. ptrdiff_t line_size, int32_t h);
  36. void ff_put_pixels8_y2_msa(uint8_t *block, const uint8_t *pixels,
  37. ptrdiff_t line_size, int32_t h);
  38. void ff_put_pixels8_xy2_msa(uint8_t *block, const uint8_t *pixels,
  39. ptrdiff_t line_size, int32_t h);
  40. void ff_put_pixels4_msa(uint8_t *block, const uint8_t *pixels,
  41. ptrdiff_t line_size, int32_t h);
  42. void ff_put_pixels4_x2_msa(uint8_t *block, const uint8_t *pixels,
  43. ptrdiff_t line_size, int32_t h);
  44. void ff_put_pixels4_y2_msa(uint8_t *block, const uint8_t *pixels,
  45. ptrdiff_t line_size, int32_t h);
  46. void ff_put_pixels4_xy2_msa(uint8_t *block, const uint8_t *pixels,
  47. ptrdiff_t line_size, int32_t h);
  48. void ff_put_no_rnd_pixels16_x2_msa(uint8_t *block, const uint8_t *pixels,
  49. ptrdiff_t line_size, int32_t h);
  50. void ff_put_no_rnd_pixels16_y2_msa(uint8_t *block, const uint8_t *pixels,
  51. ptrdiff_t line_size, int32_t h);
  52. void ff_put_no_rnd_pixels16_xy2_msa(uint8_t *block, const uint8_t *pixels,
  53. ptrdiff_t line_size, int32_t h);
  54. void ff_put_no_rnd_pixels8_x2_msa(uint8_t *block, const uint8_t *pixels,
  55. ptrdiff_t line_size, int32_t h);
  56. void ff_put_no_rnd_pixels8_y2_msa(uint8_t *block, const uint8_t *pixels,
  57. ptrdiff_t line_size, int32_t h);
  58. void ff_put_no_rnd_pixels8_xy2_msa(uint8_t *block, const uint8_t *pixels,
  59. ptrdiff_t line_size, int32_t h);
  60. void ff_avg_pixels16_msa(uint8_t *block, const uint8_t *pixels,
  61. ptrdiff_t line_size, int32_t h);
  62. void ff_avg_pixels16_x2_msa(uint8_t *block, const uint8_t *pixels,
  63. ptrdiff_t line_size, int32_t h);
  64. void ff_avg_pixels16_y2_msa(uint8_t *block, const uint8_t *pixels,
  65. ptrdiff_t line_size, int32_t h);
  66. void ff_avg_pixels16_xy2_msa(uint8_t *block, const uint8_t *pixels,
  67. ptrdiff_t line_size, int32_t h);
  68. void ff_avg_pixels8_msa(uint8_t *block, const uint8_t *pixels,
  69. ptrdiff_t line_size, int32_t h);
  70. void ff_avg_pixels8_x2_msa(uint8_t *block, const uint8_t *pixels,
  71. ptrdiff_t line_size, int32_t h);
  72. void ff_avg_pixels8_y2_msa(uint8_t *block, const uint8_t *pixels,
  73. ptrdiff_t line_size, int32_t h);
  74. void ff_avg_pixels8_xy2_msa(uint8_t *block, const uint8_t *pixels,
  75. ptrdiff_t line_size, int32_t h);
  76. void ff_avg_pixels4_msa(uint8_t *block, const uint8_t *pixels,
  77. ptrdiff_t line_size, int32_t h);
  78. void ff_avg_pixels4_x2_msa(uint8_t *block, const uint8_t *pixels,
  79. ptrdiff_t line_size, int32_t h);
  80. void ff_avg_pixels4_y2_msa(uint8_t *block, const uint8_t *pixels,
  81. ptrdiff_t line_size, int32_t h);
  82. void ff_avg_pixels4_xy2_msa(uint8_t *block, const uint8_t *pixels,
  83. ptrdiff_t line_size, int32_t h);
  84. void ff_put_pixels16_l2_8_mmi(uint8_t *dst, const uint8_t *src1,
  85. const uint8_t *src2, int dst_stride, int src_stride1, int src_stride2,
  86. int h);
  87. void ff_put_pixels8_l2_8_mmi(uint8_t *dst, const uint8_t *src1,
  88. const uint8_t *src2, int dst_stride, int src_stride1, int src_stride2,
  89. int h);
  90. void ff_put_pixels4_l2_8_mmi(uint8_t *dst, const uint8_t *src1,
  91. const uint8_t *src2, int dst_stride, int src_stride1, int src_stride2,
  92. int h);
  93. void ff_avg_pixels16_l2_8_mmi(uint8_t *dst, const uint8_t *src1,
  94. const uint8_t *src2, int dst_stride, int src_stride1, int src_stride2,
  95. int h);
  96. void ff_avg_pixels8_l2_8_mmi(uint8_t *dst, const uint8_t *src1,
  97. const uint8_t *src2, int dst_stride, int src_stride1, int src_stride2,
  98. int h);
  99. void ff_avg_pixels4_l2_8_mmi(uint8_t *dst, const uint8_t *src1,
  100. const uint8_t *src2, int dst_stride, int src_stride1, int src_stride2,
  101. int h);
  102. void ff_put_no_rnd_pixels16_l2_8_mmi(uint8_t *dst, const uint8_t *src1,
  103. const uint8_t *src2, int dst_stride, int src_stride1, int src_stride2,
  104. int h);
  105. void ff_put_no_rnd_pixels8_l2_8_mmi(uint8_t *dst, const uint8_t *src1,
  106. const uint8_t *src2, int dst_stride, int src_stride1, int src_stride2,
  107. int h);
  108. void ff_put_pixels16_8_mmi(uint8_t *block, const uint8_t *pixels,
  109. ptrdiff_t line_size, int32_t h);
  110. void ff_put_pixels16_x2_8_mmi(uint8_t *block, const uint8_t *pixels,
  111. ptrdiff_t line_size, int32_t h);
  112. void ff_put_pixels16_y2_8_mmi(uint8_t *block, const uint8_t *pixels,
  113. ptrdiff_t line_size, int32_t h);
  114. void ff_put_pixels16_xy2_8_mmi(uint8_t *block, const uint8_t *pixels,
  115. ptrdiff_t line_size, int32_t h);
  116. void ff_put_pixels8_8_mmi(uint8_t *block, const uint8_t *pixels,
  117. ptrdiff_t line_size, int32_t h);
  118. void ff_put_pixels8_x2_8_mmi(uint8_t *block, const uint8_t *pixels,
  119. ptrdiff_t line_size, int32_t h);
  120. void ff_put_pixels8_y2_8_mmi(uint8_t *block, const uint8_t *pixels,
  121. ptrdiff_t line_size, int32_t h);
  122. void ff_put_pixels8_xy2_8_mmi(uint8_t *block, const uint8_t *pixels,
  123. ptrdiff_t line_size, int32_t h);
  124. void ff_put_pixels4_8_mmi(uint8_t *block, const uint8_t *pixels,
  125. ptrdiff_t line_size, int32_t h);
  126. void ff_put_pixels4_x2_8_mmi(uint8_t *block, const uint8_t *pixels,
  127. ptrdiff_t line_size, int32_t h);
  128. void ff_put_pixels4_y2_8_mmi(uint8_t *block, const uint8_t *pixels,
  129. ptrdiff_t line_size, int32_t h);
  130. void ff_put_pixels4_xy2_8_mmi(uint8_t *block, const uint8_t *pixels,
  131. ptrdiff_t line_size, int32_t h);
  132. void ff_put_no_rnd_pixels16_x2_8_mmi(uint8_t *block, const uint8_t *pixels,
  133. ptrdiff_t line_size, int32_t h);
  134. void ff_put_no_rnd_pixels16_y2_8_mmi(uint8_t *block, const uint8_t *pixels,
  135. ptrdiff_t line_size, int32_t h);
  136. void ff_put_no_rnd_pixels16_xy2_8_mmi(uint8_t *block, const uint8_t *pixels,
  137. ptrdiff_t line_size, int32_t h);
  138. void ff_put_no_rnd_pixels8_x2_8_mmi(uint8_t *block, const uint8_t *pixels,
  139. ptrdiff_t line_size, int32_t h);
  140. void ff_put_no_rnd_pixels8_y2_8_mmi(uint8_t *block, const uint8_t *pixels,
  141. ptrdiff_t line_size, int32_t h);
  142. void ff_put_no_rnd_pixels8_xy2_8_mmi(uint8_t *block, const uint8_t *pixels,
  143. ptrdiff_t line_size, int32_t h);
  144. void ff_avg_pixels16_8_mmi(uint8_t *block, const uint8_t *pixels,
  145. ptrdiff_t line_size, int32_t h);
  146. void ff_avg_pixels16_x2_8_mmi(uint8_t *block, const uint8_t *pixels,
  147. ptrdiff_t line_size, int32_t h);
  148. void ff_avg_pixels16_y2_8_mmi(uint8_t *block, const uint8_t *pixels,
  149. ptrdiff_t line_size, int32_t h);
  150. void ff_avg_pixels16_xy2_8_mmi(uint8_t *block, const uint8_t *pixels,
  151. ptrdiff_t line_size, int32_t h);
  152. void ff_avg_pixels8_8_mmi(uint8_t *block, const uint8_t *pixels,
  153. ptrdiff_t line_size, int32_t h);
  154. void ff_avg_pixels8_x2_8_mmi(uint8_t *block, const uint8_t *pixels,
  155. ptrdiff_t line_size, int32_t h);
  156. void ff_avg_pixels8_y2_8_mmi(uint8_t *block, const uint8_t *pixels,
  157. ptrdiff_t line_size, int32_t h);
  158. void ff_avg_pixels8_xy2_8_mmi(uint8_t *block, const uint8_t *pixels,
  159. ptrdiff_t line_size, int32_t h);
  160. void ff_avg_pixels4_8_mmi(uint8_t *block, const uint8_t *pixels,
  161. ptrdiff_t line_size, int32_t h);
  162. void ff_avg_pixels4_x2_8_mmi(uint8_t *block, const uint8_t *pixels,
  163. ptrdiff_t line_size, int32_t h);
  164. void ff_avg_pixels4_y2_8_mmi(uint8_t *block, const uint8_t *pixels,
  165. ptrdiff_t line_size, int32_t h);
  166. void ff_avg_pixels4_xy2_8_mmi(uint8_t *block, const uint8_t *pixels,
  167. ptrdiff_t line_size, int32_t h);
  168. #endif // #ifndef AVCODEC_MIPS_HPELDSP_MIPS_H