1/* 2 * Copyright (c) 2015 Manojkumar Bhosale (Manojkumar.Bhosale@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#include "libavutil/mips/cpu.h" 22#include "libavcodec/mips/hevcdsp_mips.h" 23 24void ff_hevc_dsp_init_mips(HEVCDSPContext *c, const int bit_depth) 25{ 26 int cpu_flags = av_get_cpu_flags(); 27 28 if (have_mmi(cpu_flags)) { 29 if (bit_depth == 8) { 30 c->put_hevc_qpel[1][0][1] = ff_hevc_put_hevc_qpel_h4_8_mmi; 31 c->put_hevc_qpel[3][0][1] = ff_hevc_put_hevc_qpel_h8_8_mmi; 32 c->put_hevc_qpel[4][0][1] = ff_hevc_put_hevc_qpel_h12_8_mmi; 33 c->put_hevc_qpel[5][0][1] = ff_hevc_put_hevc_qpel_h16_8_mmi; 34 c->put_hevc_qpel[6][0][1] = ff_hevc_put_hevc_qpel_h24_8_mmi; 35 c->put_hevc_qpel[7][0][1] = ff_hevc_put_hevc_qpel_h32_8_mmi; 36 c->put_hevc_qpel[8][0][1] = ff_hevc_put_hevc_qpel_h48_8_mmi; 37 c->put_hevc_qpel[9][0][1] = ff_hevc_put_hevc_qpel_h64_8_mmi; 38 39 c->put_hevc_qpel[1][1][1] = ff_hevc_put_hevc_qpel_hv4_8_mmi; 40 c->put_hevc_qpel[3][1][1] = ff_hevc_put_hevc_qpel_hv8_8_mmi; 41 c->put_hevc_qpel[4][1][1] = ff_hevc_put_hevc_qpel_hv12_8_mmi; 42 c->put_hevc_qpel[5][1][1] = ff_hevc_put_hevc_qpel_hv16_8_mmi; 43 c->put_hevc_qpel[6][1][1] = ff_hevc_put_hevc_qpel_hv24_8_mmi; 44 c->put_hevc_qpel[7][1][1] = ff_hevc_put_hevc_qpel_hv32_8_mmi; 45 c->put_hevc_qpel[8][1][1] = ff_hevc_put_hevc_qpel_hv48_8_mmi; 46 c->put_hevc_qpel[9][1][1] = ff_hevc_put_hevc_qpel_hv64_8_mmi; 47 48 c->put_hevc_qpel_bi[1][0][1] = ff_hevc_put_hevc_qpel_bi_h4_8_mmi; 49 c->put_hevc_qpel_bi[3][0][1] = ff_hevc_put_hevc_qpel_bi_h8_8_mmi; 50 c->put_hevc_qpel_bi[4][0][1] = ff_hevc_put_hevc_qpel_bi_h12_8_mmi; 51 c->put_hevc_qpel_bi[5][0][1] = ff_hevc_put_hevc_qpel_bi_h16_8_mmi; 52 c->put_hevc_qpel_bi[6][0][1] = ff_hevc_put_hevc_qpel_bi_h24_8_mmi; 53 c->put_hevc_qpel_bi[7][0][1] = ff_hevc_put_hevc_qpel_bi_h32_8_mmi; 54 c->put_hevc_qpel_bi[8][0][1] = ff_hevc_put_hevc_qpel_bi_h48_8_mmi; 55 c->put_hevc_qpel_bi[9][0][1] = ff_hevc_put_hevc_qpel_bi_h64_8_mmi; 56 57 c->put_hevc_qpel_bi[1][1][1] = ff_hevc_put_hevc_qpel_bi_hv4_8_mmi; 58 c->put_hevc_qpel_bi[3][1][1] = ff_hevc_put_hevc_qpel_bi_hv8_8_mmi; 59 c->put_hevc_qpel_bi[4][1][1] = ff_hevc_put_hevc_qpel_bi_hv12_8_mmi; 60 c->put_hevc_qpel_bi[5][1][1] = ff_hevc_put_hevc_qpel_bi_hv16_8_mmi; 61 c->put_hevc_qpel_bi[6][1][1] = ff_hevc_put_hevc_qpel_bi_hv24_8_mmi; 62 c->put_hevc_qpel_bi[7][1][1] = ff_hevc_put_hevc_qpel_bi_hv32_8_mmi; 63 c->put_hevc_qpel_bi[8][1][1] = ff_hevc_put_hevc_qpel_bi_hv48_8_mmi; 64 c->put_hevc_qpel_bi[9][1][1] = ff_hevc_put_hevc_qpel_bi_hv64_8_mmi; 65 66 c->put_hevc_qpel_bi[3][0][0] = ff_hevc_put_hevc_pel_bi_pixels8_8_mmi; 67 c->put_hevc_qpel_bi[5][0][0] = ff_hevc_put_hevc_pel_bi_pixels16_8_mmi; 68 c->put_hevc_qpel_bi[6][0][0] = ff_hevc_put_hevc_pel_bi_pixels24_8_mmi; 69 c->put_hevc_qpel_bi[7][0][0] = ff_hevc_put_hevc_pel_bi_pixels32_8_mmi; 70 c->put_hevc_qpel_bi[8][0][0] = ff_hevc_put_hevc_pel_bi_pixels48_8_mmi; 71 c->put_hevc_qpel_bi[9][0][0] = ff_hevc_put_hevc_pel_bi_pixels64_8_mmi; 72 73 c->put_hevc_epel_bi[3][0][0] = ff_hevc_put_hevc_pel_bi_pixels8_8_mmi; 74 c->put_hevc_epel_bi[5][0][0] = ff_hevc_put_hevc_pel_bi_pixels16_8_mmi; 75 c->put_hevc_epel_bi[6][0][0] = ff_hevc_put_hevc_pel_bi_pixels24_8_mmi; 76 c->put_hevc_epel_bi[7][0][0] = ff_hevc_put_hevc_pel_bi_pixels32_8_mmi; 77 78 c->put_hevc_epel_bi[1][1][1] = ff_hevc_put_hevc_epel_bi_hv4_8_mmi; 79 c->put_hevc_epel_bi[3][1][1] = ff_hevc_put_hevc_epel_bi_hv8_8_mmi; 80 c->put_hevc_epel_bi[4][1][1] = ff_hevc_put_hevc_epel_bi_hv12_8_mmi; 81 c->put_hevc_epel_bi[5][1][1] = ff_hevc_put_hevc_epel_bi_hv16_8_mmi; 82 c->put_hevc_epel_bi[6][1][1] = ff_hevc_put_hevc_epel_bi_hv24_8_mmi; 83 c->put_hevc_epel_bi[7][1][1] = ff_hevc_put_hevc_epel_bi_hv32_8_mmi; 84 85 c->put_hevc_qpel_uni[1][1][1] = ff_hevc_put_hevc_qpel_uni_hv4_8_mmi; 86 c->put_hevc_qpel_uni[3][1][1] = ff_hevc_put_hevc_qpel_uni_hv8_8_mmi; 87 c->put_hevc_qpel_uni[4][1][1] = ff_hevc_put_hevc_qpel_uni_hv12_8_mmi; 88 c->put_hevc_qpel_uni[5][1][1] = ff_hevc_put_hevc_qpel_uni_hv16_8_mmi; 89 c->put_hevc_qpel_uni[6][1][1] = ff_hevc_put_hevc_qpel_uni_hv24_8_mmi; 90 c->put_hevc_qpel_uni[7][1][1] = ff_hevc_put_hevc_qpel_uni_hv32_8_mmi; 91 c->put_hevc_qpel_uni[8][1][1] = ff_hevc_put_hevc_qpel_uni_hv48_8_mmi; 92 c->put_hevc_qpel_uni[9][1][1] = ff_hevc_put_hevc_qpel_uni_hv64_8_mmi; 93 } 94 } 95 96 if (have_msa(cpu_flags)) { 97 if (bit_depth == 8) { 98 c->put_hevc_qpel[1][0][0] = ff_hevc_put_hevc_pel_pixels4_8_msa; 99 c->put_hevc_qpel[2][0][0] = ff_hevc_put_hevc_pel_pixels6_8_msa; 100 c->put_hevc_qpel[3][0][0] = ff_hevc_put_hevc_pel_pixels8_8_msa; 101 c->put_hevc_qpel[4][0][0] = ff_hevc_put_hevc_pel_pixels12_8_msa; 102 c->put_hevc_qpel[5][0][0] = ff_hevc_put_hevc_pel_pixels16_8_msa; 103 c->put_hevc_qpel[6][0][0] = ff_hevc_put_hevc_pel_pixels24_8_msa; 104 c->put_hevc_qpel[7][0][0] = ff_hevc_put_hevc_pel_pixels32_8_msa; 105 c->put_hevc_qpel[8][0][0] = ff_hevc_put_hevc_pel_pixels48_8_msa; 106 c->put_hevc_qpel[9][0][0] = ff_hevc_put_hevc_pel_pixels64_8_msa; 107 108 c->put_hevc_qpel[1][0][1] = ff_hevc_put_hevc_qpel_h4_8_msa; 109 c->put_hevc_qpel[3][0][1] = ff_hevc_put_hevc_qpel_h8_8_msa; 110 c->put_hevc_qpel[4][0][1] = ff_hevc_put_hevc_qpel_h12_8_msa; 111 c->put_hevc_qpel[5][0][1] = ff_hevc_put_hevc_qpel_h16_8_msa; 112 c->put_hevc_qpel[6][0][1] = ff_hevc_put_hevc_qpel_h24_8_msa; 113 c->put_hevc_qpel[7][0][1] = ff_hevc_put_hevc_qpel_h32_8_msa; 114 c->put_hevc_qpel[8][0][1] = ff_hevc_put_hevc_qpel_h48_8_msa; 115 c->put_hevc_qpel[9][0][1] = ff_hevc_put_hevc_qpel_h64_8_msa; 116 117 c->put_hevc_qpel[1][1][0] = ff_hevc_put_hevc_qpel_v4_8_msa; 118 c->put_hevc_qpel[3][1][0] = ff_hevc_put_hevc_qpel_v8_8_msa; 119 c->put_hevc_qpel[4][1][0] = ff_hevc_put_hevc_qpel_v12_8_msa; 120 c->put_hevc_qpel[5][1][0] = ff_hevc_put_hevc_qpel_v16_8_msa; 121 c->put_hevc_qpel[6][1][0] = ff_hevc_put_hevc_qpel_v24_8_msa; 122 c->put_hevc_qpel[7][1][0] = ff_hevc_put_hevc_qpel_v32_8_msa; 123 c->put_hevc_qpel[8][1][0] = ff_hevc_put_hevc_qpel_v48_8_msa; 124 c->put_hevc_qpel[9][1][0] = ff_hevc_put_hevc_qpel_v64_8_msa; 125 126 c->put_hevc_qpel[1][1][1] = ff_hevc_put_hevc_qpel_hv4_8_msa; 127 c->put_hevc_qpel[3][1][1] = ff_hevc_put_hevc_qpel_hv8_8_msa; 128 c->put_hevc_qpel[4][1][1] = ff_hevc_put_hevc_qpel_hv12_8_msa; 129 c->put_hevc_qpel[5][1][1] = ff_hevc_put_hevc_qpel_hv16_8_msa; 130 c->put_hevc_qpel[6][1][1] = ff_hevc_put_hevc_qpel_hv24_8_msa; 131 c->put_hevc_qpel[7][1][1] = ff_hevc_put_hevc_qpel_hv32_8_msa; 132 c->put_hevc_qpel[8][1][1] = ff_hevc_put_hevc_qpel_hv48_8_msa; 133 c->put_hevc_qpel[9][1][1] = ff_hevc_put_hevc_qpel_hv64_8_msa; 134 135 c->put_hevc_epel[1][0][0] = ff_hevc_put_hevc_pel_pixels4_8_msa; 136 c->put_hevc_epel[2][0][0] = ff_hevc_put_hevc_pel_pixels6_8_msa; 137 c->put_hevc_epel[3][0][0] = ff_hevc_put_hevc_pel_pixels8_8_msa; 138 c->put_hevc_epel[4][0][0] = ff_hevc_put_hevc_pel_pixels12_8_msa; 139 c->put_hevc_epel[5][0][0] = ff_hevc_put_hevc_pel_pixels16_8_msa; 140 c->put_hevc_epel[6][0][0] = ff_hevc_put_hevc_pel_pixels24_8_msa; 141 c->put_hevc_epel[7][0][0] = ff_hevc_put_hevc_pel_pixels32_8_msa; 142 143 c->put_hevc_epel[1][0][1] = ff_hevc_put_hevc_epel_h4_8_msa; 144 c->put_hevc_epel[2][0][1] = ff_hevc_put_hevc_epel_h6_8_msa; 145 c->put_hevc_epel[3][0][1] = ff_hevc_put_hevc_epel_h8_8_msa; 146 c->put_hevc_epel[4][0][1] = ff_hevc_put_hevc_epel_h12_8_msa; 147 c->put_hevc_epel[5][0][1] = ff_hevc_put_hevc_epel_h16_8_msa; 148 c->put_hevc_epel[6][0][1] = ff_hevc_put_hevc_epel_h24_8_msa; 149 c->put_hevc_epel[7][0][1] = ff_hevc_put_hevc_epel_h32_8_msa; 150 151 c->put_hevc_epel[1][1][0] = ff_hevc_put_hevc_epel_v4_8_msa; 152 c->put_hevc_epel[2][1][0] = ff_hevc_put_hevc_epel_v6_8_msa; 153 c->put_hevc_epel[3][1][0] = ff_hevc_put_hevc_epel_v8_8_msa; 154 c->put_hevc_epel[4][1][0] = ff_hevc_put_hevc_epel_v12_8_msa; 155 c->put_hevc_epel[5][1][0] = ff_hevc_put_hevc_epel_v16_8_msa; 156 c->put_hevc_epel[6][1][0] = ff_hevc_put_hevc_epel_v24_8_msa; 157 c->put_hevc_epel[7][1][0] = ff_hevc_put_hevc_epel_v32_8_msa; 158 159 c->put_hevc_epel[1][1][1] = ff_hevc_put_hevc_epel_hv4_8_msa; 160 c->put_hevc_epel[2][1][1] = ff_hevc_put_hevc_epel_hv6_8_msa; 161 c->put_hevc_epel[3][1][1] = ff_hevc_put_hevc_epel_hv8_8_msa; 162 c->put_hevc_epel[4][1][1] = ff_hevc_put_hevc_epel_hv12_8_msa; 163 c->put_hevc_epel[5][1][1] = ff_hevc_put_hevc_epel_hv16_8_msa; 164 c->put_hevc_epel[6][1][1] = ff_hevc_put_hevc_epel_hv24_8_msa; 165 c->put_hevc_epel[7][1][1] = ff_hevc_put_hevc_epel_hv32_8_msa; 166 167 c->put_hevc_qpel_uni[3][0][0] = ff_hevc_put_hevc_uni_pel_pixels8_8_msa; 168 c->put_hevc_qpel_uni[4][0][0] = ff_hevc_put_hevc_uni_pel_pixels12_8_msa; 169 c->put_hevc_qpel_uni[5][0][0] = ff_hevc_put_hevc_uni_pel_pixels16_8_msa; 170 c->put_hevc_qpel_uni[6][0][0] = ff_hevc_put_hevc_uni_pel_pixels24_8_msa; 171 c->put_hevc_qpel_uni[7][0][0] = ff_hevc_put_hevc_uni_pel_pixels32_8_msa; 172 c->put_hevc_qpel_uni[8][0][0] = ff_hevc_put_hevc_uni_pel_pixels48_8_msa; 173 c->put_hevc_qpel_uni[9][0][0] = ff_hevc_put_hevc_uni_pel_pixels64_8_msa; 174 175 c->put_hevc_qpel_uni[1][0][1] = ff_hevc_put_hevc_uni_qpel_h4_8_msa; 176 c->put_hevc_qpel_uni[3][0][1] = ff_hevc_put_hevc_uni_qpel_h8_8_msa; 177 c->put_hevc_qpel_uni[4][0][1] = ff_hevc_put_hevc_uni_qpel_h12_8_msa; 178 c->put_hevc_qpel_uni[5][0][1] = ff_hevc_put_hevc_uni_qpel_h16_8_msa; 179 c->put_hevc_qpel_uni[6][0][1] = ff_hevc_put_hevc_uni_qpel_h24_8_msa; 180 c->put_hevc_qpel_uni[7][0][1] = ff_hevc_put_hevc_uni_qpel_h32_8_msa; 181 c->put_hevc_qpel_uni[8][0][1] = ff_hevc_put_hevc_uni_qpel_h48_8_msa; 182 c->put_hevc_qpel_uni[9][0][1] = ff_hevc_put_hevc_uni_qpel_h64_8_msa; 183 184 c->put_hevc_qpel_uni[1][1][0] = ff_hevc_put_hevc_uni_qpel_v4_8_msa; 185 c->put_hevc_qpel_uni[3][1][0] = ff_hevc_put_hevc_uni_qpel_v8_8_msa; 186 c->put_hevc_qpel_uni[4][1][0] = ff_hevc_put_hevc_uni_qpel_v12_8_msa; 187 c->put_hevc_qpel_uni[5][1][0] = ff_hevc_put_hevc_uni_qpel_v16_8_msa; 188 c->put_hevc_qpel_uni[6][1][0] = ff_hevc_put_hevc_uni_qpel_v24_8_msa; 189 c->put_hevc_qpel_uni[7][1][0] = ff_hevc_put_hevc_uni_qpel_v32_8_msa; 190 c->put_hevc_qpel_uni[8][1][0] = ff_hevc_put_hevc_uni_qpel_v48_8_msa; 191 c->put_hevc_qpel_uni[9][1][0] = ff_hevc_put_hevc_uni_qpel_v64_8_msa; 192 193 c->put_hevc_qpel_uni[1][1][1] = ff_hevc_put_hevc_uni_qpel_hv4_8_msa; 194 c->put_hevc_qpel_uni[3][1][1] = ff_hevc_put_hevc_uni_qpel_hv8_8_msa; 195 c->put_hevc_qpel_uni[4][1][1] = ff_hevc_put_hevc_uni_qpel_hv12_8_msa; 196 c->put_hevc_qpel_uni[5][1][1] = ff_hevc_put_hevc_uni_qpel_hv16_8_msa; 197 c->put_hevc_qpel_uni[6][1][1] = ff_hevc_put_hevc_uni_qpel_hv24_8_msa; 198 c->put_hevc_qpel_uni[7][1][1] = ff_hevc_put_hevc_uni_qpel_hv32_8_msa; 199 c->put_hevc_qpel_uni[8][1][1] = ff_hevc_put_hevc_uni_qpel_hv48_8_msa; 200 c->put_hevc_qpel_uni[9][1][1] = ff_hevc_put_hevc_uni_qpel_hv64_8_msa; 201 202 c->put_hevc_epel_uni[3][0][0] = ff_hevc_put_hevc_uni_pel_pixels8_8_msa; 203 c->put_hevc_epel_uni[4][0][0] = ff_hevc_put_hevc_uni_pel_pixels12_8_msa; 204 c->put_hevc_epel_uni[5][0][0] = ff_hevc_put_hevc_uni_pel_pixels16_8_msa; 205 c->put_hevc_epel_uni[6][0][0] = ff_hevc_put_hevc_uni_pel_pixels24_8_msa; 206 c->put_hevc_epel_uni[7][0][0] = ff_hevc_put_hevc_uni_pel_pixels32_8_msa; 207 208 c->put_hevc_epel_uni[1][0][1] = ff_hevc_put_hevc_uni_epel_h4_8_msa; 209 c->put_hevc_epel_uni[2][0][1] = ff_hevc_put_hevc_uni_epel_h6_8_msa; 210 c->put_hevc_epel_uni[3][0][1] = ff_hevc_put_hevc_uni_epel_h8_8_msa; 211 c->put_hevc_epel_uni[4][0][1] = ff_hevc_put_hevc_uni_epel_h12_8_msa; 212 c->put_hevc_epel_uni[5][0][1] = ff_hevc_put_hevc_uni_epel_h16_8_msa; 213 c->put_hevc_epel_uni[6][0][1] = ff_hevc_put_hevc_uni_epel_h24_8_msa; 214 c->put_hevc_epel_uni[7][0][1] = ff_hevc_put_hevc_uni_epel_h32_8_msa; 215 216 c->put_hevc_epel_uni[1][1][0] = ff_hevc_put_hevc_uni_epel_v4_8_msa; 217 c->put_hevc_epel_uni[2][1][0] = ff_hevc_put_hevc_uni_epel_v6_8_msa; 218 c->put_hevc_epel_uni[3][1][0] = ff_hevc_put_hevc_uni_epel_v8_8_msa; 219 c->put_hevc_epel_uni[4][1][0] = ff_hevc_put_hevc_uni_epel_v12_8_msa; 220 c->put_hevc_epel_uni[5][1][0] = ff_hevc_put_hevc_uni_epel_v16_8_msa; 221 c->put_hevc_epel_uni[6][1][0] = ff_hevc_put_hevc_uni_epel_v24_8_msa; 222 c->put_hevc_epel_uni[7][1][0] = ff_hevc_put_hevc_uni_epel_v32_8_msa; 223 224 c->put_hevc_epel_uni[1][1][1] = ff_hevc_put_hevc_uni_epel_hv4_8_msa; 225 c->put_hevc_epel_uni[2][1][1] = ff_hevc_put_hevc_uni_epel_hv6_8_msa; 226 c->put_hevc_epel_uni[3][1][1] = ff_hevc_put_hevc_uni_epel_hv8_8_msa; 227 c->put_hevc_epel_uni[4][1][1] = ff_hevc_put_hevc_uni_epel_hv12_8_msa; 228 c->put_hevc_epel_uni[5][1][1] = ff_hevc_put_hevc_uni_epel_hv16_8_msa; 229 c->put_hevc_epel_uni[6][1][1] = ff_hevc_put_hevc_uni_epel_hv24_8_msa; 230 c->put_hevc_epel_uni[7][1][1] = ff_hevc_put_hevc_uni_epel_hv32_8_msa; 231 232 c->put_hevc_qpel_uni_w[1][0][0] = 233 ff_hevc_put_hevc_uni_w_pel_pixels4_8_msa; 234 c->put_hevc_qpel_uni_w[3][0][0] = 235 ff_hevc_put_hevc_uni_w_pel_pixels8_8_msa; 236 c->put_hevc_qpel_uni_w[4][0][0] = 237 ff_hevc_put_hevc_uni_w_pel_pixels12_8_msa; 238 c->put_hevc_qpel_uni_w[5][0][0] = 239 ff_hevc_put_hevc_uni_w_pel_pixels16_8_msa; 240 c->put_hevc_qpel_uni_w[6][0][0] = 241 ff_hevc_put_hevc_uni_w_pel_pixels24_8_msa; 242 c->put_hevc_qpel_uni_w[7][0][0] = 243 ff_hevc_put_hevc_uni_w_pel_pixels32_8_msa; 244 c->put_hevc_qpel_uni_w[8][0][0] = 245 ff_hevc_put_hevc_uni_w_pel_pixels48_8_msa; 246 c->put_hevc_qpel_uni_w[9][0][0] = 247 ff_hevc_put_hevc_uni_w_pel_pixels64_8_msa; 248 249 c->put_hevc_qpel_uni_w[1][0][1] = ff_hevc_put_hevc_uni_w_qpel_h4_8_msa; 250 c->put_hevc_qpel_uni_w[3][0][1] = ff_hevc_put_hevc_uni_w_qpel_h8_8_msa; 251 c->put_hevc_qpel_uni_w[4][0][1] = ff_hevc_put_hevc_uni_w_qpel_h12_8_msa; 252 c->put_hevc_qpel_uni_w[5][0][1] = ff_hevc_put_hevc_uni_w_qpel_h16_8_msa; 253 c->put_hevc_qpel_uni_w[6][0][1] = ff_hevc_put_hevc_uni_w_qpel_h24_8_msa; 254 c->put_hevc_qpel_uni_w[7][0][1] = ff_hevc_put_hevc_uni_w_qpel_h32_8_msa; 255 c->put_hevc_qpel_uni_w[8][0][1] = ff_hevc_put_hevc_uni_w_qpel_h48_8_msa; 256 c->put_hevc_qpel_uni_w[9][0][1] = ff_hevc_put_hevc_uni_w_qpel_h64_8_msa; 257 258 c->put_hevc_qpel_uni_w[1][1][0] = ff_hevc_put_hevc_uni_w_qpel_v4_8_msa; 259 c->put_hevc_qpel_uni_w[3][1][0] = ff_hevc_put_hevc_uni_w_qpel_v8_8_msa; 260 c->put_hevc_qpel_uni_w[4][1][0] = ff_hevc_put_hevc_uni_w_qpel_v12_8_msa; 261 c->put_hevc_qpel_uni_w[5][1][0] = ff_hevc_put_hevc_uni_w_qpel_v16_8_msa; 262 c->put_hevc_qpel_uni_w[6][1][0] = ff_hevc_put_hevc_uni_w_qpel_v24_8_msa; 263 c->put_hevc_qpel_uni_w[7][1][0] = ff_hevc_put_hevc_uni_w_qpel_v32_8_msa; 264 c->put_hevc_qpel_uni_w[8][1][0] = ff_hevc_put_hevc_uni_w_qpel_v48_8_msa; 265 c->put_hevc_qpel_uni_w[9][1][0] = ff_hevc_put_hevc_uni_w_qpel_v64_8_msa; 266 267 c->put_hevc_qpel_uni_w[1][1][1] = ff_hevc_put_hevc_uni_w_qpel_hv4_8_msa; 268 c->put_hevc_qpel_uni_w[3][1][1] = ff_hevc_put_hevc_uni_w_qpel_hv8_8_msa; 269 c->put_hevc_qpel_uni_w[4][1][1] = 270 ff_hevc_put_hevc_uni_w_qpel_hv12_8_msa; 271 c->put_hevc_qpel_uni_w[5][1][1] = 272 ff_hevc_put_hevc_uni_w_qpel_hv16_8_msa; 273 c->put_hevc_qpel_uni_w[6][1][1] = 274 ff_hevc_put_hevc_uni_w_qpel_hv24_8_msa; 275 c->put_hevc_qpel_uni_w[7][1][1] = 276 ff_hevc_put_hevc_uni_w_qpel_hv32_8_msa; 277 c->put_hevc_qpel_uni_w[8][1][1] = 278 ff_hevc_put_hevc_uni_w_qpel_hv48_8_msa; 279 c->put_hevc_qpel_uni_w[9][1][1] = 280 ff_hevc_put_hevc_uni_w_qpel_hv64_8_msa; 281 282 c->put_hevc_epel_uni_w[1][0][0] = 283 ff_hevc_put_hevc_uni_w_pel_pixels4_8_msa; 284 c->put_hevc_epel_uni_w[2][0][0] = 285 ff_hevc_put_hevc_uni_w_pel_pixels6_8_msa; 286 c->put_hevc_epel_uni_w[3][0][0] = 287 ff_hevc_put_hevc_uni_w_pel_pixels8_8_msa; 288 c->put_hevc_epel_uni_w[4][0][0] = 289 ff_hevc_put_hevc_uni_w_pel_pixels12_8_msa; 290 c->put_hevc_epel_uni_w[5][0][0] = 291 ff_hevc_put_hevc_uni_w_pel_pixels16_8_msa; 292 c->put_hevc_epel_uni_w[6][0][0] = 293 ff_hevc_put_hevc_uni_w_pel_pixels24_8_msa; 294 c->put_hevc_epel_uni_w[7][0][0] = 295 ff_hevc_put_hevc_uni_w_pel_pixels32_8_msa; 296 297 c->put_hevc_epel_uni_w[1][0][1] = ff_hevc_put_hevc_uni_w_epel_h4_8_msa; 298 c->put_hevc_epel_uni_w[2][0][1] = ff_hevc_put_hevc_uni_w_epel_h6_8_msa; 299 c->put_hevc_epel_uni_w[3][0][1] = ff_hevc_put_hevc_uni_w_epel_h8_8_msa; 300 c->put_hevc_epel_uni_w[4][0][1] = ff_hevc_put_hevc_uni_w_epel_h12_8_msa; 301 c->put_hevc_epel_uni_w[5][0][1] = ff_hevc_put_hevc_uni_w_epel_h16_8_msa; 302 c->put_hevc_epel_uni_w[6][0][1] = ff_hevc_put_hevc_uni_w_epel_h24_8_msa; 303 c->put_hevc_epel_uni_w[7][0][1] = ff_hevc_put_hevc_uni_w_epel_h32_8_msa; 304 305 c->put_hevc_epel_uni_w[1][1][0] = ff_hevc_put_hevc_uni_w_epel_v4_8_msa; 306 c->put_hevc_epel_uni_w[2][1][0] = ff_hevc_put_hevc_uni_w_epel_v6_8_msa; 307 c->put_hevc_epel_uni_w[3][1][0] = ff_hevc_put_hevc_uni_w_epel_v8_8_msa; 308 c->put_hevc_epel_uni_w[4][1][0] = ff_hevc_put_hevc_uni_w_epel_v12_8_msa; 309 c->put_hevc_epel_uni_w[5][1][0] = ff_hevc_put_hevc_uni_w_epel_v16_8_msa; 310 c->put_hevc_epel_uni_w[6][1][0] = ff_hevc_put_hevc_uni_w_epel_v24_8_msa; 311 c->put_hevc_epel_uni_w[7][1][0] = ff_hevc_put_hevc_uni_w_epel_v32_8_msa; 312 313 c->put_hevc_epel_uni_w[1][1][1] = ff_hevc_put_hevc_uni_w_epel_hv4_8_msa; 314 c->put_hevc_epel_uni_w[2][1][1] = ff_hevc_put_hevc_uni_w_epel_hv6_8_msa; 315 c->put_hevc_epel_uni_w[3][1][1] = ff_hevc_put_hevc_uni_w_epel_hv8_8_msa; 316 c->put_hevc_epel_uni_w[4][1][1] = 317 ff_hevc_put_hevc_uni_w_epel_hv12_8_msa; 318 c->put_hevc_epel_uni_w[5][1][1] = 319 ff_hevc_put_hevc_uni_w_epel_hv16_8_msa; 320 c->put_hevc_epel_uni_w[6][1][1] = 321 ff_hevc_put_hevc_uni_w_epel_hv24_8_msa; 322 c->put_hevc_epel_uni_w[7][1][1] = 323 ff_hevc_put_hevc_uni_w_epel_hv32_8_msa; 324 325 c->put_hevc_qpel_bi[1][0][0] = ff_hevc_put_hevc_bi_pel_pixels4_8_msa; 326 c->put_hevc_qpel_bi[3][0][0] = ff_hevc_put_hevc_bi_pel_pixels8_8_msa; 327 c->put_hevc_qpel_bi[4][0][0] = ff_hevc_put_hevc_bi_pel_pixels12_8_msa; 328 c->put_hevc_qpel_bi[5][0][0] = ff_hevc_put_hevc_bi_pel_pixels16_8_msa; 329 c->put_hevc_qpel_bi[6][0][0] = ff_hevc_put_hevc_bi_pel_pixels24_8_msa; 330 c->put_hevc_qpel_bi[7][0][0] = ff_hevc_put_hevc_bi_pel_pixels32_8_msa; 331 c->put_hevc_qpel_bi[8][0][0] = ff_hevc_put_hevc_bi_pel_pixels48_8_msa; 332 c->put_hevc_qpel_bi[9][0][0] = ff_hevc_put_hevc_bi_pel_pixels64_8_msa; 333 334 c->put_hevc_qpel_bi[1][0][1] = ff_hevc_put_hevc_bi_qpel_h4_8_msa; 335 c->put_hevc_qpel_bi[3][0][1] = ff_hevc_put_hevc_bi_qpel_h8_8_msa; 336 c->put_hevc_qpel_bi[4][0][1] = ff_hevc_put_hevc_bi_qpel_h12_8_msa; 337 c->put_hevc_qpel_bi[5][0][1] = ff_hevc_put_hevc_bi_qpel_h16_8_msa; 338 c->put_hevc_qpel_bi[6][0][1] = ff_hevc_put_hevc_bi_qpel_h24_8_msa; 339 c->put_hevc_qpel_bi[7][0][1] = ff_hevc_put_hevc_bi_qpel_h32_8_msa; 340 c->put_hevc_qpel_bi[8][0][1] = ff_hevc_put_hevc_bi_qpel_h48_8_msa; 341 c->put_hevc_qpel_bi[9][0][1] = ff_hevc_put_hevc_bi_qpel_h64_8_msa; 342 343 c->put_hevc_qpel_bi[1][1][0] = ff_hevc_put_hevc_bi_qpel_v4_8_msa; 344 c->put_hevc_qpel_bi[3][1][0] = ff_hevc_put_hevc_bi_qpel_v8_8_msa; 345 c->put_hevc_qpel_bi[4][1][0] = ff_hevc_put_hevc_bi_qpel_v12_8_msa; 346 c->put_hevc_qpel_bi[5][1][0] = ff_hevc_put_hevc_bi_qpel_v16_8_msa; 347 c->put_hevc_qpel_bi[6][1][0] = ff_hevc_put_hevc_bi_qpel_v24_8_msa; 348 c->put_hevc_qpel_bi[7][1][0] = ff_hevc_put_hevc_bi_qpel_v32_8_msa; 349 c->put_hevc_qpel_bi[8][1][0] = ff_hevc_put_hevc_bi_qpel_v48_8_msa; 350 c->put_hevc_qpel_bi[9][1][0] = ff_hevc_put_hevc_bi_qpel_v64_8_msa; 351 352 c->put_hevc_qpel_bi[1][1][1] = ff_hevc_put_hevc_bi_qpel_hv4_8_msa; 353 c->put_hevc_qpel_bi[3][1][1] = ff_hevc_put_hevc_bi_qpel_hv8_8_msa; 354 c->put_hevc_qpel_bi[4][1][1] = ff_hevc_put_hevc_bi_qpel_hv12_8_msa; 355 c->put_hevc_qpel_bi[5][1][1] = ff_hevc_put_hevc_bi_qpel_hv16_8_msa; 356 c->put_hevc_qpel_bi[6][1][1] = ff_hevc_put_hevc_bi_qpel_hv24_8_msa; 357 c->put_hevc_qpel_bi[7][1][1] = ff_hevc_put_hevc_bi_qpel_hv32_8_msa; 358 c->put_hevc_qpel_bi[8][1][1] = ff_hevc_put_hevc_bi_qpel_hv48_8_msa; 359 c->put_hevc_qpel_bi[9][1][1] = ff_hevc_put_hevc_bi_qpel_hv64_8_msa; 360 361 c->put_hevc_epel_bi[1][0][0] = ff_hevc_put_hevc_bi_pel_pixels4_8_msa; 362 c->put_hevc_epel_bi[2][0][0] = ff_hevc_put_hevc_bi_pel_pixels6_8_msa; 363 c->put_hevc_epel_bi[3][0][0] = ff_hevc_put_hevc_bi_pel_pixels8_8_msa; 364 c->put_hevc_epel_bi[4][0][0] = ff_hevc_put_hevc_bi_pel_pixels12_8_msa; 365 c->put_hevc_epel_bi[5][0][0] = ff_hevc_put_hevc_bi_pel_pixels16_8_msa; 366 c->put_hevc_epel_bi[6][0][0] = ff_hevc_put_hevc_bi_pel_pixels24_8_msa; 367 c->put_hevc_epel_bi[7][0][0] = ff_hevc_put_hevc_bi_pel_pixels32_8_msa; 368 369 c->put_hevc_epel_bi[1][0][1] = ff_hevc_put_hevc_bi_epel_h4_8_msa; 370 c->put_hevc_epel_bi[2][0][1] = ff_hevc_put_hevc_bi_epel_h6_8_msa; 371 c->put_hevc_epel_bi[3][0][1] = ff_hevc_put_hevc_bi_epel_h8_8_msa; 372 c->put_hevc_epel_bi[4][0][1] = ff_hevc_put_hevc_bi_epel_h12_8_msa; 373 c->put_hevc_epel_bi[5][0][1] = ff_hevc_put_hevc_bi_epel_h16_8_msa; 374 c->put_hevc_epel_bi[6][0][1] = ff_hevc_put_hevc_bi_epel_h24_8_msa; 375 c->put_hevc_epel_bi[7][0][1] = ff_hevc_put_hevc_bi_epel_h32_8_msa; 376 377 c->put_hevc_epel_bi[1][1][0] = ff_hevc_put_hevc_bi_epel_v4_8_msa; 378 c->put_hevc_epel_bi[2][1][0] = ff_hevc_put_hevc_bi_epel_v6_8_msa; 379 c->put_hevc_epel_bi[3][1][0] = ff_hevc_put_hevc_bi_epel_v8_8_msa; 380 c->put_hevc_epel_bi[4][1][0] = ff_hevc_put_hevc_bi_epel_v12_8_msa; 381 c->put_hevc_epel_bi[5][1][0] = ff_hevc_put_hevc_bi_epel_v16_8_msa; 382 c->put_hevc_epel_bi[6][1][0] = ff_hevc_put_hevc_bi_epel_v24_8_msa; 383 c->put_hevc_epel_bi[7][1][0] = ff_hevc_put_hevc_bi_epel_v32_8_msa; 384 385 c->put_hevc_epel_bi[1][1][1] = ff_hevc_put_hevc_bi_epel_hv4_8_msa; 386 c->put_hevc_epel_bi[2][1][1] = ff_hevc_put_hevc_bi_epel_hv6_8_msa; 387 c->put_hevc_epel_bi[3][1][1] = ff_hevc_put_hevc_bi_epel_hv8_8_msa; 388 c->put_hevc_epel_bi[4][1][1] = ff_hevc_put_hevc_bi_epel_hv12_8_msa; 389 c->put_hevc_epel_bi[5][1][1] = ff_hevc_put_hevc_bi_epel_hv16_8_msa; 390 c->put_hevc_epel_bi[6][1][1] = ff_hevc_put_hevc_bi_epel_hv24_8_msa; 391 c->put_hevc_epel_bi[7][1][1] = ff_hevc_put_hevc_bi_epel_hv32_8_msa; 392 393 c->put_hevc_qpel_bi_w[1][0][0] = 394 ff_hevc_put_hevc_bi_w_pel_pixels4_8_msa; 395 c->put_hevc_qpel_bi_w[3][0][0] = 396 ff_hevc_put_hevc_bi_w_pel_pixels8_8_msa; 397 c->put_hevc_qpel_bi_w[4][0][0] = 398 ff_hevc_put_hevc_bi_w_pel_pixels12_8_msa; 399 c->put_hevc_qpel_bi_w[5][0][0] = 400 ff_hevc_put_hevc_bi_w_pel_pixels16_8_msa; 401 c->put_hevc_qpel_bi_w[6][0][0] = 402 ff_hevc_put_hevc_bi_w_pel_pixels24_8_msa; 403 c->put_hevc_qpel_bi_w[7][0][0] = 404 ff_hevc_put_hevc_bi_w_pel_pixels32_8_msa; 405 c->put_hevc_qpel_bi_w[8][0][0] = 406 ff_hevc_put_hevc_bi_w_pel_pixels48_8_msa; 407 c->put_hevc_qpel_bi_w[9][0][0] = 408 ff_hevc_put_hevc_bi_w_pel_pixels64_8_msa; 409 410 c->put_hevc_qpel_bi_w[1][0][1] = ff_hevc_put_hevc_bi_w_qpel_h4_8_msa; 411 c->put_hevc_qpel_bi_w[3][0][1] = ff_hevc_put_hevc_bi_w_qpel_h8_8_msa; 412 c->put_hevc_qpel_bi_w[4][0][1] = ff_hevc_put_hevc_bi_w_qpel_h12_8_msa; 413 c->put_hevc_qpel_bi_w[5][0][1] = ff_hevc_put_hevc_bi_w_qpel_h16_8_msa; 414 c->put_hevc_qpel_bi_w[6][0][1] = ff_hevc_put_hevc_bi_w_qpel_h24_8_msa; 415 c->put_hevc_qpel_bi_w[7][0][1] = ff_hevc_put_hevc_bi_w_qpel_h32_8_msa; 416 c->put_hevc_qpel_bi_w[8][0][1] = ff_hevc_put_hevc_bi_w_qpel_h48_8_msa; 417 c->put_hevc_qpel_bi_w[9][0][1] = ff_hevc_put_hevc_bi_w_qpel_h64_8_msa; 418 419 c->put_hevc_qpel_bi_w[1][1][0] = ff_hevc_put_hevc_bi_w_qpel_v4_8_msa; 420 c->put_hevc_qpel_bi_w[3][1][0] = ff_hevc_put_hevc_bi_w_qpel_v8_8_msa; 421 c->put_hevc_qpel_bi_w[4][1][0] = ff_hevc_put_hevc_bi_w_qpel_v12_8_msa; 422 c->put_hevc_qpel_bi_w[5][1][0] = ff_hevc_put_hevc_bi_w_qpel_v16_8_msa; 423 c->put_hevc_qpel_bi_w[6][1][0] = ff_hevc_put_hevc_bi_w_qpel_v24_8_msa; 424 c->put_hevc_qpel_bi_w[7][1][0] = ff_hevc_put_hevc_bi_w_qpel_v32_8_msa; 425 c->put_hevc_qpel_bi_w[8][1][0] = ff_hevc_put_hevc_bi_w_qpel_v48_8_msa; 426 c->put_hevc_qpel_bi_w[9][1][0] = ff_hevc_put_hevc_bi_w_qpel_v64_8_msa; 427 428 c->put_hevc_qpel_bi_w[1][1][1] = ff_hevc_put_hevc_bi_w_qpel_hv4_8_msa; 429 c->put_hevc_qpel_bi_w[3][1][1] = ff_hevc_put_hevc_bi_w_qpel_hv8_8_msa; 430 c->put_hevc_qpel_bi_w[4][1][1] = ff_hevc_put_hevc_bi_w_qpel_hv12_8_msa; 431 c->put_hevc_qpel_bi_w[5][1][1] = ff_hevc_put_hevc_bi_w_qpel_hv16_8_msa; 432 c->put_hevc_qpel_bi_w[6][1][1] = ff_hevc_put_hevc_bi_w_qpel_hv24_8_msa; 433 c->put_hevc_qpel_bi_w[7][1][1] = ff_hevc_put_hevc_bi_w_qpel_hv32_8_msa; 434 c->put_hevc_qpel_bi_w[8][1][1] = ff_hevc_put_hevc_bi_w_qpel_hv48_8_msa; 435 c->put_hevc_qpel_bi_w[9][1][1] = ff_hevc_put_hevc_bi_w_qpel_hv64_8_msa; 436 437 c->put_hevc_epel_bi_w[1][0][0] = 438 ff_hevc_put_hevc_bi_w_pel_pixels4_8_msa; 439 c->put_hevc_epel_bi_w[2][0][0] = 440 ff_hevc_put_hevc_bi_w_pel_pixels6_8_msa; 441 c->put_hevc_epel_bi_w[3][0][0] = 442 ff_hevc_put_hevc_bi_w_pel_pixels8_8_msa; 443 c->put_hevc_epel_bi_w[4][0][0] = 444 ff_hevc_put_hevc_bi_w_pel_pixels12_8_msa; 445 c->put_hevc_epel_bi_w[5][0][0] = 446 ff_hevc_put_hevc_bi_w_pel_pixels16_8_msa; 447 c->put_hevc_epel_bi_w[6][0][0] = 448 ff_hevc_put_hevc_bi_w_pel_pixels24_8_msa; 449 c->put_hevc_epel_bi_w[7][0][0] = 450 ff_hevc_put_hevc_bi_w_pel_pixels32_8_msa; 451 452 c->put_hevc_epel_bi_w[1][0][1] = ff_hevc_put_hevc_bi_w_epel_h4_8_msa; 453 c->put_hevc_epel_bi_w[2][0][1] = ff_hevc_put_hevc_bi_w_epel_h6_8_msa; 454 c->put_hevc_epel_bi_w[3][0][1] = ff_hevc_put_hevc_bi_w_epel_h8_8_msa; 455 c->put_hevc_epel_bi_w[4][0][1] = ff_hevc_put_hevc_bi_w_epel_h12_8_msa; 456 c->put_hevc_epel_bi_w[5][0][1] = ff_hevc_put_hevc_bi_w_epel_h16_8_msa; 457 c->put_hevc_epel_bi_w[6][0][1] = ff_hevc_put_hevc_bi_w_epel_h24_8_msa; 458 c->put_hevc_epel_bi_w[7][0][1] = ff_hevc_put_hevc_bi_w_epel_h32_8_msa; 459 460 c->put_hevc_epel_bi_w[1][1][0] = ff_hevc_put_hevc_bi_w_epel_v4_8_msa; 461 c->put_hevc_epel_bi_w[2][1][0] = ff_hevc_put_hevc_bi_w_epel_v6_8_msa; 462 c->put_hevc_epel_bi_w[3][1][0] = ff_hevc_put_hevc_bi_w_epel_v8_8_msa; 463 c->put_hevc_epel_bi_w[4][1][0] = ff_hevc_put_hevc_bi_w_epel_v12_8_msa; 464 c->put_hevc_epel_bi_w[5][1][0] = ff_hevc_put_hevc_bi_w_epel_v16_8_msa; 465 c->put_hevc_epel_bi_w[6][1][0] = ff_hevc_put_hevc_bi_w_epel_v24_8_msa; 466 c->put_hevc_epel_bi_w[7][1][0] = ff_hevc_put_hevc_bi_w_epel_v32_8_msa; 467 468 c->put_hevc_epel_bi_w[1][1][1] = ff_hevc_put_hevc_bi_w_epel_hv4_8_msa; 469 c->put_hevc_epel_bi_w[2][1][1] = ff_hevc_put_hevc_bi_w_epel_hv6_8_msa; 470 c->put_hevc_epel_bi_w[3][1][1] = ff_hevc_put_hevc_bi_w_epel_hv8_8_msa; 471 c->put_hevc_epel_bi_w[4][1][1] = ff_hevc_put_hevc_bi_w_epel_hv12_8_msa; 472 c->put_hevc_epel_bi_w[5][1][1] = ff_hevc_put_hevc_bi_w_epel_hv16_8_msa; 473 c->put_hevc_epel_bi_w[6][1][1] = ff_hevc_put_hevc_bi_w_epel_hv24_8_msa; 474 c->put_hevc_epel_bi_w[7][1][1] = ff_hevc_put_hevc_bi_w_epel_hv32_8_msa; 475 476 c->sao_band_filter[0] = 477 c->sao_band_filter[1] = 478 c->sao_band_filter[2] = 479 c->sao_band_filter[3] = 480 c->sao_band_filter[4] = ff_hevc_sao_band_filter_0_8_msa; 481 482 c->sao_edge_filter[0] = 483 c->sao_edge_filter[1] = 484 c->sao_edge_filter[2] = 485 c->sao_edge_filter[3] = 486 c->sao_edge_filter[4] = ff_hevc_sao_edge_filter_8_msa; 487 488 c->hevc_h_loop_filter_luma = ff_hevc_loop_filter_luma_h_8_msa; 489 c->hevc_v_loop_filter_luma = ff_hevc_loop_filter_luma_v_8_msa; 490 491 c->hevc_h_loop_filter_chroma = ff_hevc_loop_filter_chroma_h_8_msa; 492 c->hevc_v_loop_filter_chroma = ff_hevc_loop_filter_chroma_v_8_msa; 493 494 c->hevc_h_loop_filter_luma_c = ff_hevc_loop_filter_luma_h_8_msa; 495 c->hevc_v_loop_filter_luma_c = ff_hevc_loop_filter_luma_v_8_msa; 496 497 c->hevc_h_loop_filter_chroma_c = 498 ff_hevc_loop_filter_chroma_h_8_msa; 499 c->hevc_v_loop_filter_chroma_c = 500 ff_hevc_loop_filter_chroma_v_8_msa; 501 502 c->idct[0] = ff_hevc_idct_4x4_msa; 503 c->idct[1] = ff_hevc_idct_8x8_msa; 504 c->idct[2] = ff_hevc_idct_16x16_msa; 505 c->idct[3] = ff_hevc_idct_32x32_msa; 506 c->idct_dc[0] = ff_hevc_idct_dc_4x4_msa; 507 c->idct_dc[1] = ff_hevc_idct_dc_8x8_msa; 508 c->idct_dc[2] = ff_hevc_idct_dc_16x16_msa; 509 c->idct_dc[3] = ff_hevc_idct_dc_32x32_msa; 510 c->add_residual[0] = ff_hevc_addblk_4x4_msa; 511 c->add_residual[1] = ff_hevc_addblk_8x8_msa; 512 c->add_residual[2] = ff_hevc_addblk_16x16_msa; 513 c->add_residual[3] = ff_hevc_addblk_32x32_msa; 514 c->transform_4x4_luma = ff_hevc_idct_luma_4x4_msa; 515 } 516 } 517} 518