Subversion Repositories Kolibri OS

Rev

Blame | Last modification | View Log | RSS feed

  1. /*
  2.  * Copyright (c) 2015 Parag Salasakar (Parag.Salasakar@imgtec.com)
  3.  *
  4.  * This file is part of FFmpeg.
  5.  *
  6.  * FFmpeg is free software; you can redistribute it and/or
  7.  * modify it under the terms of the GNU Lesser General Public
  8.  * License as published by the Free Software Foundation; either
  9.  * version 2.1 of the License, or (at your option) any later version.
  10.  *
  11.  * FFmpeg is distributed in the hope that it will be useful,
  12.  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  13.  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  14.  * Lesser General Public License for more details.
  15.  *
  16.  * You should have received a copy of the GNU Lesser General Public
  17.  * License along with FFmpeg; if not, write to the Free Software
  18.  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  19.  */
  20.  
  21. #ifndef AVCODEC_MIPS_QPELDSP_MIPS_H
  22. #define AVCODEC_MIPS_QPELDSP_MIPS_H
  23.  
  24. #include "../mpegvideo.h"
  25.  
  26. void ff_copy_8x8_msa(uint8_t *dst, const uint8_t *src, ptrdiff_t stride);
  27. void ff_copy_16x16_msa(uint8_t *dst, const uint8_t *src, ptrdiff_t stride);
  28. void ff_avg_width8_msa(uint8_t *dst, const uint8_t *src, ptrdiff_t stride);
  29. void ff_avg_width16_msa(uint8_t *dst, const uint8_t *src, ptrdiff_t stride);
  30.  
  31. void ff_horiz_mc_qpel_aver_src0_8width_msa(uint8_t *dst, const uint8_t *src,
  32.                                            ptrdiff_t stride);
  33. void ff_horiz_mc_qpel_aver_src0_16width_msa(uint8_t *dst, const uint8_t *src,
  34.                                             ptrdiff_t stride);
  35. void ff_horiz_mc_qpel_8width_msa(uint8_t *dst, const uint8_t *src,
  36.                                  ptrdiff_t stride);
  37. void ff_horiz_mc_qpel_16width_msa(uint8_t *dst, const uint8_t *src,
  38.                                   ptrdiff_t stride);
  39. void ff_horiz_mc_qpel_aver_src1_8width_msa(uint8_t *dst, const uint8_t *src,
  40.                                            ptrdiff_t stride);
  41. void ff_horiz_mc_qpel_aver_src1_16width_msa(uint8_t *dst, const uint8_t *src,
  42.                                             ptrdiff_t stride);
  43. void ff_horiz_mc_qpel_no_rnd_aver_src0_8width_msa(uint8_t *dst,
  44.                                                   const uint8_t *src,
  45.                                                   ptrdiff_t stride);
  46. void ff_horiz_mc_qpel_no_rnd_aver_src0_16width_msa(uint8_t *dst,
  47.                                                    const uint8_t *src,
  48.                                                    ptrdiff_t stride);
  49. void ff_horiz_mc_qpel_no_rnd_8width_msa(uint8_t *dst, const uint8_t *src,
  50.                                         ptrdiff_t stride);
  51. void ff_horiz_mc_qpel_no_rnd_16width_msa(uint8_t *dst, const uint8_t *src,
  52.                                          ptrdiff_t stride);
  53. void ff_horiz_mc_qpel_no_rnd_aver_src1_8width_msa(uint8_t *dst,
  54.                                                   const uint8_t *src,
  55.                                                   ptrdiff_t stride);
  56. void ff_horiz_mc_qpel_no_rnd_aver_src1_16width_msa(uint8_t *dst,
  57.                                                    const uint8_t *src,
  58.                                                    ptrdiff_t stride);
  59. void ff_horiz_mc_qpel_avg_dst_aver_src0_8width_msa(uint8_t *dst,
  60.                                                    const uint8_t *src,
  61.                                                    ptrdiff_t stride);
  62. void ff_horiz_mc_qpel_avg_dst_aver_src0_16width_msa(uint8_t *dst,
  63.                                                     const uint8_t *src,
  64.                                                     ptrdiff_t stride);
  65. void ff_horiz_mc_qpel_avg_dst_8width_msa(uint8_t *dst, const uint8_t *src,
  66.                                          ptrdiff_t stride);
  67. void ff_horiz_mc_qpel_avg_dst_16width_msa(uint8_t *dst, const uint8_t *src,
  68.                                           ptrdiff_t stride);
  69. void ff_horiz_mc_qpel_avg_dst_aver_src1_8width_msa(uint8_t *dst,
  70.                                                    const uint8_t *src,
  71.                                                    ptrdiff_t stride);
  72. void ff_horiz_mc_qpel_avg_dst_aver_src1_16width_msa(uint8_t *dst,
  73.                                                     const uint8_t *src,
  74.                                                     ptrdiff_t stride);
  75.  
  76. void ff_vert_mc_qpel_aver_src0_8x8_msa(uint8_t *dst, const uint8_t *src,
  77.                                        ptrdiff_t stride);
  78. void ff_vert_mc_qpel_aver_src0_16x16_msa(uint8_t *dst, const uint8_t *src,
  79.                                          ptrdiff_t stride);
  80. void ff_vert_mc_qpel_8x8_msa(uint8_t *dst, const uint8_t *src,
  81.                              ptrdiff_t stride);
  82. void ff_vert_mc_qpel_16x16_msa(uint8_t *dst, const uint8_t *src,
  83.                                ptrdiff_t stride);
  84. void ff_vert_mc_qpel_aver_src1_8x8_msa(uint8_t *dst, const uint8_t *src,
  85.                                        ptrdiff_t stride);
  86. void ff_vert_mc_qpel_aver_src1_16x16_msa(uint8_t *dst, const uint8_t *src,
  87.                                          ptrdiff_t stride);
  88. void ff_vert_mc_qpel_no_rnd_aver_src0_8x8_msa(uint8_t *dst,
  89.                                               const uint8_t *src,
  90.                                               ptrdiff_t stride);
  91. void ff_vert_mc_qpel_no_rnd_aver_src0_16x16_msa(uint8_t *dst,
  92.                                                 const uint8_t *src,
  93.                                                 ptrdiff_t stride);
  94. void ff_vert_mc_qpel_no_rnd_8x8_msa(uint8_t *dst, const uint8_t *src,
  95.                                     ptrdiff_t stride);
  96. void ff_vert_mc_qpel_no_rnd_16x16_msa(uint8_t *dst, const uint8_t *src,
  97.                                       ptrdiff_t stride);
  98. void ff_vert_mc_qpel_no_rnd_aver_src1_8x8_msa(uint8_t *dst,
  99.                                               const uint8_t *src,
  100.                                               ptrdiff_t stride);
  101. void ff_vert_mc_qpel_no_rnd_aver_src1_16x16_msa(uint8_t *dst,
  102.                                                 const uint8_t *src,
  103.                                                 ptrdiff_t stride);
  104. void ff_vert_mc_qpel_avg_dst_aver_src0_8x8_msa(uint8_t *dst,
  105.                                                const uint8_t *src,
  106.                                                ptrdiff_t stride);
  107. void ff_vert_mc_qpel_avg_dst_aver_src0_16x16_msa(uint8_t *dst,
  108.                                                  const uint8_t *src,
  109.                                                  ptrdiff_t stride);
  110. void ff_vert_mc_qpel_avg_dst_8x8_msa(uint8_t *dst, const uint8_t *src,
  111.                                      ptrdiff_t stride);
  112. void ff_vert_mc_qpel_avg_dst_16x16_msa(uint8_t *dst, const uint8_t *src,
  113.                                        ptrdiff_t stride);
  114. void ff_vert_mc_qpel_avg_dst_aver_src1_8x8_msa(uint8_t *dst,
  115.                                                const uint8_t *src,
  116.                                                ptrdiff_t stride);
  117. void ff_vert_mc_qpel_avg_dst_aver_src1_16x16_msa(uint8_t *dst,
  118.                                                  const uint8_t *src,
  119.                                                  ptrdiff_t stride);
  120.  
  121. void ff_hv_mc_qpel_aver_hv_src00_16x16_msa(uint8_t *dst, const uint8_t *src,
  122.                                            ptrdiff_t stride);
  123. void ff_hv_mc_qpel_aver_hv_src00_8x8_msa(uint8_t *dst, const uint8_t *src,
  124.                                          ptrdiff_t stride);
  125. void ff_hv_mc_qpel_aver_v_src0_16x16_msa(uint8_t *dst, const uint8_t *src,
  126.                                          ptrdiff_t stride);
  127. void ff_hv_mc_qpel_aver_v_src0_8x8_msa(uint8_t *dst, const uint8_t *src,
  128.                                        ptrdiff_t stride);
  129. void ff_hv_mc_qpel_aver_hv_src10_16x16_msa(uint8_t *dst, const uint8_t *src,
  130.                                            ptrdiff_t stride);
  131. void ff_hv_mc_qpel_aver_hv_src10_8x8_msa(uint8_t *dst, const uint8_t *src,
  132.                                          ptrdiff_t stride);
  133. void ff_hv_mc_qpel_aver_h_src0_16x16_msa(uint8_t *dst, const uint8_t *src,
  134.                                          ptrdiff_t stride);
  135. void ff_hv_mc_qpel_aver_h_src0_8x8_msa(uint8_t *dst, const uint8_t *src,
  136.                                        ptrdiff_t stride);
  137. void ff_hv_mc_qpel_16x16_msa(uint8_t *dst, const uint8_t *src,
  138.                              ptrdiff_t stride);
  139. void ff_hv_mc_qpel_8x8_msa(uint8_t *dst, const uint8_t *src, ptrdiff_t stride);
  140. void ff_hv_mc_qpel_aver_h_src1_16x16_msa(uint8_t *dst, const uint8_t *src,
  141.                                          ptrdiff_t stride);
  142. void ff_hv_mc_qpel_aver_h_src1_8x8_msa(uint8_t *dst, const uint8_t *src,
  143.                                        ptrdiff_t stride);
  144. void ff_hv_mc_qpel_aver_hv_src01_16x16_msa(uint8_t *dst, const uint8_t *src,
  145.                                            ptrdiff_t stride);
  146. void ff_hv_mc_qpel_aver_hv_src01_8x8_msa(uint8_t *dst, const uint8_t *src,
  147.                                          ptrdiff_t stride);
  148. void ff_hv_mc_qpel_aver_v_src1_16x16_msa(uint8_t *dst, const uint8_t *src,
  149.                                          ptrdiff_t stride);
  150. void ff_hv_mc_qpel_aver_v_src1_8x8_msa(uint8_t *dst, const uint8_t *src,
  151.                                        ptrdiff_t stride);
  152. void ff_hv_mc_qpel_aver_hv_src11_16x16_msa(uint8_t *dst, const uint8_t *src,
  153.                                            ptrdiff_t stride);
  154. void ff_hv_mc_qpel_aver_hv_src11_8x8_msa(uint8_t *dst, const uint8_t *src,
  155.                                          ptrdiff_t stride);
  156. void ff_hv_mc_qpel_avg_dst_aver_hv_src00_16x16_msa(uint8_t *dst,
  157.                                                    const uint8_t *src,
  158.                                                    ptrdiff_t stride);
  159. void ff_hv_mc_qpel_avg_dst_aver_hv_src00_8x8_msa(uint8_t *dst,
  160.                                                  const uint8_t *src,
  161.                                                  ptrdiff_t stride);
  162. void ff_hv_mc_qpel_avg_dst_aver_v_src0_16x16_msa(uint8_t *dst,
  163.                                                  const uint8_t *src,
  164.                                                  ptrdiff_t stride);
  165. void ff_hv_mc_qpel_avg_dst_aver_v_src0_8x8_msa(uint8_t *dst,
  166.                                                const uint8_t *src,
  167.                                                ptrdiff_t stride);
  168. void ff_hv_mc_qpel_avg_dst_aver_hv_src10_16x16_msa(uint8_t *dst,
  169.                                                    const uint8_t *src,
  170.                                                    ptrdiff_t stride);
  171. void ff_hv_mc_qpel_avg_dst_aver_hv_src10_8x8_msa(uint8_t *dst,
  172.                                                  const uint8_t *src,
  173.                                                  ptrdiff_t stride);
  174. void ff_hv_mc_qpel_avg_dst_aver_h_src0_16x16_msa(uint8_t *dst,
  175.                                                  const uint8_t *src,
  176.                                                  ptrdiff_t stride);
  177. void ff_hv_mc_qpel_avg_dst_aver_h_src0_8x8_msa(uint8_t *dst,
  178.                                                const uint8_t *src,
  179.                                                ptrdiff_t stride);
  180. void ff_hv_mc_qpel_avg_dst_16x16_msa(uint8_t *dst, const uint8_t *src,
  181.                                      ptrdiff_t stride);
  182. void ff_hv_mc_qpel_avg_dst_8x8_msa(uint8_t *dst, const uint8_t *src,
  183.                                    ptrdiff_t stride);
  184. void ff_hv_mc_qpel_avg_dst_aver_h_src1_16x16_msa(uint8_t *dst,
  185.                                                  const uint8_t *src,
  186.                                                  ptrdiff_t stride);
  187. void ff_hv_mc_qpel_avg_dst_aver_h_src1_8x8_msa(uint8_t *dst,
  188.                                                const uint8_t *src,
  189.                                                ptrdiff_t stride);
  190. void ff_hv_mc_qpel_avg_dst_aver_hv_src01_16x16_msa(uint8_t *dst,
  191.                                                    const uint8_t *src,
  192.                                                    ptrdiff_t stride);
  193. void ff_hv_mc_qpel_avg_dst_aver_hv_src01_8x8_msa(uint8_t *dst,
  194.                                                  const uint8_t *src,
  195.                                                  ptrdiff_t stride);
  196. void ff_hv_mc_qpel_avg_dst_aver_v_src1_16x16_msa(uint8_t *dst,
  197.                                                  const uint8_t *src,
  198.                                                  ptrdiff_t stride);
  199. void ff_hv_mc_qpel_avg_dst_aver_v_src1_8x8_msa(uint8_t *dst,
  200.                                                const uint8_t *src,
  201.                                                ptrdiff_t stride);
  202. void ff_hv_mc_qpel_avg_dst_aver_hv_src11_16x16_msa(uint8_t *dst,
  203.                                                    const uint8_t *src,
  204.                                                    ptrdiff_t stride);
  205. void ff_hv_mc_qpel_avg_dst_aver_hv_src11_8x8_msa(uint8_t *dst,
  206.                                                  const uint8_t *src,
  207.                                                  ptrdiff_t stride);
  208. void ff_hv_mc_qpel_no_rnd_aver_hv_src00_16x16_msa(uint8_t *dst,
  209.                                                   const uint8_t *src,
  210.                                                   ptrdiff_t stride);
  211. void ff_hv_mc_qpel_no_rnd_aver_hv_src00_8x8_msa(uint8_t *dst,
  212.                                                 const uint8_t *src,
  213.                                                 ptrdiff_t stride);
  214. void ff_hv_mc_qpel_no_rnd_aver_v_src0_16x16_msa(uint8_t *dst,
  215.                                                 const uint8_t *src,
  216.                                                 ptrdiff_t stride);
  217. void ff_hv_mc_qpel_no_rnd_aver_v_src0_8x8_msa(uint8_t *dst,
  218.                                               const uint8_t *src,
  219.                                               ptrdiff_t stride);
  220. void ff_hv_mc_qpel_no_rnd_aver_hv_src10_16x16_msa(uint8_t *dst,
  221.                                                   const uint8_t *src,
  222.                                                   ptrdiff_t stride);
  223. void ff_hv_mc_qpel_no_rnd_aver_hv_src10_8x8_msa(uint8_t *dst,
  224.                                                 const uint8_t *src,
  225.                                                 ptrdiff_t stride);
  226. void ff_hv_mc_qpel_no_rnd_aver_h_src0_16x16_msa(uint8_t *dst,
  227.                                                 const uint8_t *src,
  228.                                                 ptrdiff_t stride);
  229. void ff_hv_mc_qpel_no_rnd_aver_h_src0_8x8_msa(uint8_t *dst,
  230.                                               const uint8_t *src,
  231.                                               ptrdiff_t stride);
  232. void ff_hv_mc_qpel_no_rnd_16x16_msa(uint8_t *dst, const uint8_t *src,
  233.                                     ptrdiff_t stride);
  234. void ff_hv_mc_qpel_no_rnd_8x8_msa(uint8_t *dst, const uint8_t *src,
  235.                                   ptrdiff_t stride);
  236. void ff_hv_mc_qpel_no_rnd_aver_h_src1_16x16_msa(uint8_t *dst,
  237.                                                 const uint8_t *src,
  238.                                                 ptrdiff_t stride);
  239. void ff_hv_mc_qpel_no_rnd_aver_h_src1_8x8_msa(uint8_t *dst,
  240.                                               const uint8_t *src,
  241.                                               ptrdiff_t stride);
  242. void ff_hv_mc_qpel_no_rnd_aver_hv_src01_16x16_msa(uint8_t *dst,
  243.                                                   const uint8_t *src,
  244.                                                   ptrdiff_t stride);
  245. void ff_hv_mc_qpel_no_rnd_aver_hv_src01_8x8_msa(uint8_t *dst,
  246.                                                 const uint8_t *src,
  247.                                                 ptrdiff_t stride);
  248. void ff_hv_mc_qpel_no_rnd_aver_v_src1_16x16_msa(uint8_t *dst,
  249.                                                 const uint8_t *src,
  250.                                                 ptrdiff_t stride);
  251. void ff_hv_mc_qpel_no_rnd_aver_v_src1_8x8_msa(uint8_t *dst,
  252.                                               const uint8_t *src,
  253.                                               ptrdiff_t stride);
  254. void ff_hv_mc_qpel_no_rnd_aver_hv_src11_16x16_msa(uint8_t *dst,
  255.                                                   const uint8_t *src,
  256.                                                   ptrdiff_t stride);
  257. void ff_hv_mc_qpel_no_rnd_aver_hv_src11_8x8_msa(uint8_t *dst,
  258.                                                 const uint8_t *src,
  259.                                                 ptrdiff_t stride);
  260.  
  261. #endif  // #ifndef AVCODEC_MIPS_QPELDSP_MIPS_H
  262.