1cabdff1aSopenharmony_ci/* 2cabdff1aSopenharmony_ci * Copyright (c) 2015 Manojkumar Bhosale (Manojkumar.Bhosale@imgtec.com) 3cabdff1aSopenharmony_ci * Copyright (c) 2016 Zhou Xiaoyong <zhouxiaoyong@loongson.cn> 4cabdff1aSopenharmony_ci * 5cabdff1aSopenharmony_ci * This file is part of FFmpeg. 6cabdff1aSopenharmony_ci * 7cabdff1aSopenharmony_ci * FFmpeg is free software; you can redistribute it and/or 8cabdff1aSopenharmony_ci * modify it under the terms of the GNU Lesser General Public 9cabdff1aSopenharmony_ci * License as published by the Free Software Foundation; either 10cabdff1aSopenharmony_ci * version 2.1 of the License, or (at your option) any later version. 11cabdff1aSopenharmony_ci * 12cabdff1aSopenharmony_ci * FFmpeg is distributed in the hope that it will be useful, 13cabdff1aSopenharmony_ci * but WITHOUT ANY WARRANTY; without even the implied warranty of 14cabdff1aSopenharmony_ci * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15cabdff1aSopenharmony_ci * Lesser General Public License for more details. 16cabdff1aSopenharmony_ci * 17cabdff1aSopenharmony_ci * You should have received a copy of the GNU Lesser General Public 18cabdff1aSopenharmony_ci * License along with FFmpeg; if not, write to the Free Software 19cabdff1aSopenharmony_ci * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 20cabdff1aSopenharmony_ci */ 21cabdff1aSopenharmony_ci 22cabdff1aSopenharmony_ci#ifndef AVCODEC_MIPS_VP8DSP_MIPS_H 23cabdff1aSopenharmony_ci#define AVCODEC_MIPS_VP8DSP_MIPS_H 24cabdff1aSopenharmony_ci 25cabdff1aSopenharmony_ci#include "libavutil/mem.h" 26cabdff1aSopenharmony_ci#include "libavcodec/vp8dsp.h" 27cabdff1aSopenharmony_ci#include "libavcodec/mathops.h" 28cabdff1aSopenharmony_ci#include "constants.h" 29cabdff1aSopenharmony_ci 30cabdff1aSopenharmony_civoid ff_put_vp8_pixels4_msa(uint8_t *dst, ptrdiff_t dststride, 31cabdff1aSopenharmony_ci uint8_t *src, ptrdiff_t srcstride, 32cabdff1aSopenharmony_ci int h, int x, int y); 33cabdff1aSopenharmony_civoid ff_put_vp8_pixels8_msa(uint8_t *dst, ptrdiff_t dststride, 34cabdff1aSopenharmony_ci uint8_t *src, ptrdiff_t srcstride, 35cabdff1aSopenharmony_ci int h, int x, int y); 36cabdff1aSopenharmony_civoid ff_put_vp8_pixels16_msa(uint8_t *dst, ptrdiff_t dststride, 37cabdff1aSopenharmony_ci uint8_t *src, ptrdiff_t srcstride, 38cabdff1aSopenharmony_ci int h, int x, int y); 39cabdff1aSopenharmony_ci 40cabdff1aSopenharmony_civoid ff_put_vp8_epel16_h4_msa(uint8_t *dst, ptrdiff_t dststride, 41cabdff1aSopenharmony_ci uint8_t *src, ptrdiff_t srcstride, 42cabdff1aSopenharmony_ci int h, int mx, int my); 43cabdff1aSopenharmony_civoid ff_put_vp8_epel16_h6_msa(uint8_t *dst, ptrdiff_t dststride, 44cabdff1aSopenharmony_ci uint8_t *src, ptrdiff_t srcstride, 45cabdff1aSopenharmony_ci int h, int mx, int my); 46cabdff1aSopenharmony_civoid ff_put_vp8_epel16_v4_msa(uint8_t *dst, ptrdiff_t dststride, 47cabdff1aSopenharmony_ci uint8_t *src, ptrdiff_t srcstride, 48cabdff1aSopenharmony_ci int h, int mx, int my); 49cabdff1aSopenharmony_civoid ff_put_vp8_epel16_v6_msa(uint8_t *dst, ptrdiff_t dststride, 50cabdff1aSopenharmony_ci uint8_t *src, ptrdiff_t srcstride, 51cabdff1aSopenharmony_ci int h, int mx, int my); 52cabdff1aSopenharmony_civoid ff_put_vp8_epel16_h4v4_msa(uint8_t *dst, ptrdiff_t dststride, 53cabdff1aSopenharmony_ci uint8_t *src, ptrdiff_t srcstride, 54cabdff1aSopenharmony_ci int h, int mx, int my); 55cabdff1aSopenharmony_civoid ff_put_vp8_epel16_h6v4_msa(uint8_t *dst, ptrdiff_t dststride, 56cabdff1aSopenharmony_ci uint8_t *src, ptrdiff_t srcstride, 57cabdff1aSopenharmony_ci int h, int mx, int my); 58cabdff1aSopenharmony_civoid ff_put_vp8_epel16_h4v6_msa(uint8_t *dst, ptrdiff_t dststride, 59cabdff1aSopenharmony_ci uint8_t *src, ptrdiff_t srcstride, 60cabdff1aSopenharmony_ci int h, int mx, int my); 61cabdff1aSopenharmony_civoid ff_put_vp8_epel16_h6v6_msa(uint8_t *dst, ptrdiff_t dststride, 62cabdff1aSopenharmony_ci uint8_t *src, ptrdiff_t srcstride, 63cabdff1aSopenharmony_ci int h, int mx, int my); 64cabdff1aSopenharmony_ci 65cabdff1aSopenharmony_civoid ff_put_vp8_epel8_h4_msa(uint8_t *dst, ptrdiff_t dststride, 66cabdff1aSopenharmony_ci uint8_t *src, ptrdiff_t srcstride, 67cabdff1aSopenharmony_ci int h, int mx, int my); 68cabdff1aSopenharmony_civoid ff_put_vp8_epel8_h6_msa(uint8_t *dst, ptrdiff_t dststride, 69cabdff1aSopenharmony_ci uint8_t *src, ptrdiff_t srcstride, 70cabdff1aSopenharmony_ci int h, int mx, int my); 71cabdff1aSopenharmony_civoid ff_put_vp8_epel8_v4_msa(uint8_t *dst, ptrdiff_t dststride, 72cabdff1aSopenharmony_ci uint8_t *src, ptrdiff_t srcstride, 73cabdff1aSopenharmony_ci int h, int mx, int my); 74cabdff1aSopenharmony_civoid ff_put_vp8_epel8_v6_msa(uint8_t *dst, ptrdiff_t dststride, 75cabdff1aSopenharmony_ci uint8_t *src, ptrdiff_t srcstride, 76cabdff1aSopenharmony_ci int h, int mx, int my); 77cabdff1aSopenharmony_civoid ff_put_vp8_epel8_h4v4_msa(uint8_t *dst, ptrdiff_t dststride, 78cabdff1aSopenharmony_ci uint8_t *src, ptrdiff_t srcstride, 79cabdff1aSopenharmony_ci int h, int mx, int my); 80cabdff1aSopenharmony_civoid ff_put_vp8_epel8_h6v4_msa(uint8_t *dst, ptrdiff_t dststride, 81cabdff1aSopenharmony_ci uint8_t *src, ptrdiff_t srcstride, 82cabdff1aSopenharmony_ci int h, int mx, int my); 83cabdff1aSopenharmony_civoid ff_put_vp8_epel8_h4v6_msa(uint8_t *dst, ptrdiff_t dststride, 84cabdff1aSopenharmony_ci uint8_t *src, ptrdiff_t srcstride, 85cabdff1aSopenharmony_ci int h, int mx, int my); 86cabdff1aSopenharmony_civoid ff_put_vp8_epel8_h6v6_msa(uint8_t *dst, ptrdiff_t dststride, 87cabdff1aSopenharmony_ci uint8_t *src, ptrdiff_t srcstride, 88cabdff1aSopenharmony_ci int h, int mx, int my); 89cabdff1aSopenharmony_ci 90cabdff1aSopenharmony_civoid ff_put_vp8_epel4_h4_msa(uint8_t *dst, ptrdiff_t dststride, 91cabdff1aSopenharmony_ci uint8_t *src, ptrdiff_t srcstride, 92cabdff1aSopenharmony_ci int h, int mx, int my); 93cabdff1aSopenharmony_civoid ff_put_vp8_epel4_h6_msa(uint8_t *dst, ptrdiff_t dststride, 94cabdff1aSopenharmony_ci uint8_t *src, ptrdiff_t srcstride, 95cabdff1aSopenharmony_ci int h, int mx, int my); 96cabdff1aSopenharmony_civoid ff_put_vp8_epel4_v4_msa(uint8_t *dst, ptrdiff_t dststride, 97cabdff1aSopenharmony_ci uint8_t *src, ptrdiff_t srcstride, 98cabdff1aSopenharmony_ci int h, int mx, int my); 99cabdff1aSopenharmony_civoid ff_put_vp8_epel4_v6_msa(uint8_t *dst, ptrdiff_t dststride, 100cabdff1aSopenharmony_ci uint8_t *src, ptrdiff_t srcstride, 101cabdff1aSopenharmony_ci int h, int mx, int my); 102cabdff1aSopenharmony_civoid ff_put_vp8_epel4_h4v4_msa(uint8_t *dst, ptrdiff_t dststride, 103cabdff1aSopenharmony_ci uint8_t *src, ptrdiff_t srcstride, 104cabdff1aSopenharmony_ci int h, int mx, int my); 105cabdff1aSopenharmony_civoid ff_put_vp8_epel4_h6v4_msa(uint8_t *dst, ptrdiff_t dststride, 106cabdff1aSopenharmony_ci uint8_t *src, ptrdiff_t srcstride, 107cabdff1aSopenharmony_ci int h, int mx, int my); 108cabdff1aSopenharmony_civoid ff_put_vp8_epel4_h4v6_msa(uint8_t *dst, ptrdiff_t dststride, 109cabdff1aSopenharmony_ci uint8_t *src, ptrdiff_t srcstride, 110cabdff1aSopenharmony_ci int h, int mx, int my); 111cabdff1aSopenharmony_civoid ff_put_vp8_epel4_h6v6_msa(uint8_t *dst, ptrdiff_t dststride, 112cabdff1aSopenharmony_ci uint8_t *src, ptrdiff_t srcstride, 113cabdff1aSopenharmony_ci int h, int mx, int my); 114cabdff1aSopenharmony_ci 115cabdff1aSopenharmony_civoid ff_put_vp8_bilinear16_h_msa(uint8_t *dst, ptrdiff_t dststride, 116cabdff1aSopenharmony_ci uint8_t *src, ptrdiff_t srcstride, 117cabdff1aSopenharmony_ci int h, int mx, int my); 118cabdff1aSopenharmony_civoid ff_put_vp8_bilinear16_v_msa(uint8_t *dst, ptrdiff_t dststride, 119cabdff1aSopenharmony_ci uint8_t *src, ptrdiff_t srcstride, 120cabdff1aSopenharmony_ci int h, int mx, int my); 121cabdff1aSopenharmony_civoid ff_put_vp8_bilinear16_hv_msa(uint8_t *dst, ptrdiff_t dststride, 122cabdff1aSopenharmony_ci uint8_t *src, ptrdiff_t srcstride, 123cabdff1aSopenharmony_ci int h, int mx, int my); 124cabdff1aSopenharmony_ci 125cabdff1aSopenharmony_civoid ff_put_vp8_bilinear8_h_msa(uint8_t *dst, ptrdiff_t dststride, 126cabdff1aSopenharmony_ci uint8_t *src, ptrdiff_t srcstride, 127cabdff1aSopenharmony_ci int h, int mx, int my); 128cabdff1aSopenharmony_civoid ff_put_vp8_bilinear8_v_msa(uint8_t *dst, ptrdiff_t dststride, 129cabdff1aSopenharmony_ci uint8_t *src, ptrdiff_t srcstride, 130cabdff1aSopenharmony_ci int h, int mx, int my); 131cabdff1aSopenharmony_civoid ff_put_vp8_bilinear8_hv_msa(uint8_t *dst, ptrdiff_t dststride, 132cabdff1aSopenharmony_ci uint8_t *src, ptrdiff_t srcstride, 133cabdff1aSopenharmony_ci int h, int mx, int my); 134cabdff1aSopenharmony_ci 135cabdff1aSopenharmony_civoid ff_put_vp8_bilinear4_h_msa(uint8_t *dst, ptrdiff_t dststride, 136cabdff1aSopenharmony_ci uint8_t *src, ptrdiff_t srcstride, 137cabdff1aSopenharmony_ci int h, int mx, int my); 138cabdff1aSopenharmony_civoid ff_put_vp8_bilinear4_v_msa(uint8_t *dst, ptrdiff_t dststride, 139cabdff1aSopenharmony_ci uint8_t *src, ptrdiff_t srcstride, 140cabdff1aSopenharmony_ci int h, int mx, int my); 141cabdff1aSopenharmony_civoid ff_put_vp8_bilinear4_hv_msa(uint8_t *dst, ptrdiff_t dststride, 142cabdff1aSopenharmony_ci uint8_t *src, ptrdiff_t srcstride, 143cabdff1aSopenharmony_ci int h, int mx, int my); 144cabdff1aSopenharmony_ci 145cabdff1aSopenharmony_ci/* loop filter */ 146cabdff1aSopenharmony_civoid ff_vp8_h_loop_filter16_inner_msa(uint8_t *dst, ptrdiff_t stride, 147cabdff1aSopenharmony_ci int32_t e, int32_t i, int32_t h); 148cabdff1aSopenharmony_civoid ff_vp8_v_loop_filter16_inner_msa(uint8_t *dst, ptrdiff_t stride, 149cabdff1aSopenharmony_ci int32_t e, int32_t i, int32_t h); 150cabdff1aSopenharmony_civoid ff_vp8_h_loop_filter8uv_inner_msa(uint8_t *dst_u, uint8_t *dst_v, 151cabdff1aSopenharmony_ci ptrdiff_t stride, 152cabdff1aSopenharmony_ci int flim_e, int flim_i, int hev_thresh); 153cabdff1aSopenharmony_civoid ff_vp8_v_loop_filter8uv_inner_msa(uint8_t *dst_u, uint8_t *dst_v, 154cabdff1aSopenharmony_ci ptrdiff_t stride, 155cabdff1aSopenharmony_ci int flim_e, int flim_i, int hev_thresh); 156cabdff1aSopenharmony_civoid ff_vp8_h_loop_filter16_msa(uint8_t *dst, ptrdiff_t stride, 157cabdff1aSopenharmony_ci int flim_e, int flim_i, int hev_thresh); 158cabdff1aSopenharmony_civoid ff_vp8_v_loop_filter16_msa(uint8_t *dst, ptrdiff_t stride, 159cabdff1aSopenharmony_ci int flim_e, int flim_i, int hev_thresh); 160cabdff1aSopenharmony_civoid ff_vp8_h_loop_filter8uv_msa(uint8_t *dst_u, uint8_t *dst_v, 161cabdff1aSopenharmony_ci ptrdiff_t stride, 162cabdff1aSopenharmony_ci int flim_e, int flim_i, int hev_thresh); 163cabdff1aSopenharmony_civoid ff_vp8_v_loop_filter8uv_msa(uint8_t *dst_u, uint8_t *dst_v, 164cabdff1aSopenharmony_ci ptrdiff_t stride, 165cabdff1aSopenharmony_ci int flim_e, int flim_i, int hev_thresh); 166cabdff1aSopenharmony_civoid ff_vp8_h_loop_filter_simple_msa(uint8_t *dst, ptrdiff_t stride, int flim); 167cabdff1aSopenharmony_civoid ff_vp8_v_loop_filter_simple_msa(uint8_t *dst, ptrdiff_t stride, int flim); 168cabdff1aSopenharmony_ci 169cabdff1aSopenharmony_ci/* Idct functions */ 170cabdff1aSopenharmony_civoid ff_vp8_luma_dc_wht_msa(int16_t block[4][4][16], int16_t dc[16]); 171cabdff1aSopenharmony_civoid ff_vp8_idct_add_msa(uint8_t *dst, int16_t block[16], ptrdiff_t stride); 172cabdff1aSopenharmony_civoid ff_vp8_idct_dc_add_msa(uint8_t *dst, int16_t block[16], ptrdiff_t stride); 173cabdff1aSopenharmony_civoid ff_vp8_idct_dc_add4uv_msa(uint8_t *dst, int16_t block[4][16], 174cabdff1aSopenharmony_ci ptrdiff_t stride); 175cabdff1aSopenharmony_civoid ff_vp8_idct_dc_add4y_msa(uint8_t *dst, int16_t block[4][16], 176cabdff1aSopenharmony_ci ptrdiff_t stride); 177cabdff1aSopenharmony_ci 178cabdff1aSopenharmony_civoid ff_vp8_luma_dc_wht_mmi(int16_t block[4][4][16], int16_t dc[16]); 179cabdff1aSopenharmony_civoid ff_vp8_luma_dc_wht_dc_mmi(int16_t block[4][4][16], int16_t dc[16]); 180cabdff1aSopenharmony_civoid ff_vp8_idct_add_mmi(uint8_t *dst, int16_t block[16], ptrdiff_t stride); 181cabdff1aSopenharmony_civoid ff_vp8_idct_dc_add_mmi(uint8_t *dst, int16_t block[16], ptrdiff_t stride); 182cabdff1aSopenharmony_civoid ff_vp8_idct_dc_add4y_mmi(uint8_t *dst, int16_t block[4][16], 183cabdff1aSopenharmony_ci ptrdiff_t stride); 184cabdff1aSopenharmony_civoid ff_vp8_idct_dc_add4uv_mmi(uint8_t *dst, int16_t block[4][16], 185cabdff1aSopenharmony_ci ptrdiff_t stride); 186cabdff1aSopenharmony_ci 187cabdff1aSopenharmony_civoid ff_put_vp8_pixels4_mmi(uint8_t *dst, ptrdiff_t dststride, uint8_t *src, 188cabdff1aSopenharmony_ci ptrdiff_t srcstride, int h, int x, int y); 189cabdff1aSopenharmony_civoid ff_put_vp8_pixels8_mmi(uint8_t *dst, ptrdiff_t dststride, uint8_t *src, 190cabdff1aSopenharmony_ci ptrdiff_t srcstride, int h, int x, int y); 191cabdff1aSopenharmony_civoid ff_put_vp8_pixels16_mmi(uint8_t *dst, ptrdiff_t dststride, uint8_t *src, 192cabdff1aSopenharmony_ci ptrdiff_t srcstride, int h, int x, int y); 193cabdff1aSopenharmony_ci 194cabdff1aSopenharmony_civoid ff_put_vp8_epel16_h4_mmi(uint8_t *dst, ptrdiff_t dststride, uint8_t *src, 195cabdff1aSopenharmony_ci ptrdiff_t srcstride, int h, int mx, int my); 196cabdff1aSopenharmony_civoid ff_put_vp8_epel16_h6_mmi(uint8_t *dst, ptrdiff_t dststride, uint8_t *src, 197cabdff1aSopenharmony_ci ptrdiff_t srcstride, int h, int mx, int my); 198cabdff1aSopenharmony_civoid ff_put_vp8_epel16_v4_mmi(uint8_t *dst, ptrdiff_t dststride, uint8_t *src, 199cabdff1aSopenharmony_ci ptrdiff_t srcstride, int h, int mx, int my); 200cabdff1aSopenharmony_civoid ff_put_vp8_epel16_v6_mmi(uint8_t *dst, ptrdiff_t dststride, uint8_t *src, 201cabdff1aSopenharmony_ci ptrdiff_t srcstride, int h, int mx, int my); 202cabdff1aSopenharmony_civoid ff_put_vp8_epel16_h4v4_mmi(uint8_t *dst, ptrdiff_t dststride, 203cabdff1aSopenharmony_ci uint8_t *src, ptrdiff_t srcstride, int h, int mx, int my); 204cabdff1aSopenharmony_civoid ff_put_vp8_epel16_h6v4_mmi(uint8_t *dst, ptrdiff_t dststride, 205cabdff1aSopenharmony_ci uint8_t *src, ptrdiff_t srcstride, int h, int mx, int my); 206cabdff1aSopenharmony_civoid ff_put_vp8_epel16_h4v6_mmi(uint8_t *dst, ptrdiff_t dststride, 207cabdff1aSopenharmony_ci uint8_t *src, ptrdiff_t srcstride, int h, int mx, int my); 208cabdff1aSopenharmony_civoid ff_put_vp8_epel16_h6v6_mmi(uint8_t *dst, ptrdiff_t dststride, 209cabdff1aSopenharmony_ci uint8_t *src, ptrdiff_t srcstride, int h, int mx, int my); 210cabdff1aSopenharmony_ci 211cabdff1aSopenharmony_civoid ff_put_vp8_epel8_h4_mmi(uint8_t *dst, ptrdiff_t dststride, 212cabdff1aSopenharmony_ci uint8_t *src, ptrdiff_t srcstride, int h, int mx, int my); 213cabdff1aSopenharmony_civoid ff_put_vp8_epel8_h6_mmi(uint8_t *dst, ptrdiff_t dststride, 214cabdff1aSopenharmony_ci uint8_t *src, ptrdiff_t srcstride, int h, int mx, int my); 215cabdff1aSopenharmony_civoid ff_put_vp8_epel8_v4_mmi(uint8_t *dst, ptrdiff_t dststride, 216cabdff1aSopenharmony_ci uint8_t *src, ptrdiff_t srcstride, int h, int mx, int my); 217cabdff1aSopenharmony_civoid ff_put_vp8_epel8_v6_mmi(uint8_t *dst, ptrdiff_t dststride, 218cabdff1aSopenharmony_ci uint8_t *src, ptrdiff_t srcstride, int h, int mx, int my); 219cabdff1aSopenharmony_civoid ff_put_vp8_epel8_h4v4_mmi(uint8_t *dst, ptrdiff_t dststride, 220cabdff1aSopenharmony_ci uint8_t *src, ptrdiff_t srcstride, int h, int mx, int my); 221cabdff1aSopenharmony_civoid ff_put_vp8_epel8_h6v4_mmi(uint8_t *dst, ptrdiff_t dststride, 222cabdff1aSopenharmony_ci uint8_t *src, ptrdiff_t srcstride, int h, int mx, int my); 223cabdff1aSopenharmony_civoid ff_put_vp8_epel8_h4v6_mmi(uint8_t *dst, ptrdiff_t dststride, 224cabdff1aSopenharmony_ci uint8_t *src, ptrdiff_t srcstride, int h, int mx, int my); 225cabdff1aSopenharmony_civoid ff_put_vp8_epel8_h6v6_mmi(uint8_t *dst, ptrdiff_t dststride, 226cabdff1aSopenharmony_ci uint8_t *src, ptrdiff_t srcstride, int h, int mx, int my); 227cabdff1aSopenharmony_ci 228cabdff1aSopenharmony_civoid ff_put_vp8_epel4_h4_mmi(uint8_t *dst, ptrdiff_t dststride, 229cabdff1aSopenharmony_ci uint8_t *src, ptrdiff_t srcstride, int h, int mx, int my); 230cabdff1aSopenharmony_civoid ff_put_vp8_epel4_h6_mmi(uint8_t *dst, ptrdiff_t dststride, 231cabdff1aSopenharmony_ci uint8_t *src, ptrdiff_t srcstride, int h, int mx, int my); 232cabdff1aSopenharmony_civoid ff_put_vp8_epel4_v4_mmi(uint8_t *dst, ptrdiff_t dststride, 233cabdff1aSopenharmony_ci uint8_t *src, ptrdiff_t srcstride, int h, int mx, int my); 234cabdff1aSopenharmony_civoid ff_put_vp8_epel4_v6_mmi(uint8_t *dst, ptrdiff_t dststride, 235cabdff1aSopenharmony_ci uint8_t *src, ptrdiff_t srcstride, int h, int mx, int my); 236cabdff1aSopenharmony_civoid ff_put_vp8_epel4_h4v4_mmi(uint8_t *dst, ptrdiff_t dststride, 237cabdff1aSopenharmony_ci uint8_t *src, ptrdiff_t srcstride, int h, int mx, int my); 238cabdff1aSopenharmony_civoid ff_put_vp8_epel4_h6v4_mmi(uint8_t *dst, ptrdiff_t dststride, 239cabdff1aSopenharmony_ci uint8_t *src, ptrdiff_t srcstride, int h, int mx, int my); 240cabdff1aSopenharmony_civoid ff_put_vp8_epel4_h4v6_mmi(uint8_t *dst, ptrdiff_t dststride, 241cabdff1aSopenharmony_ci uint8_t *src, ptrdiff_t srcstride, int h, int mx, int my); 242cabdff1aSopenharmony_civoid ff_put_vp8_epel4_h6v6_mmi(uint8_t *dst, ptrdiff_t dststride, 243cabdff1aSopenharmony_ci uint8_t *src, ptrdiff_t srcstride, int h, int mx, int my); 244cabdff1aSopenharmony_ci 245cabdff1aSopenharmony_civoid ff_put_vp8_bilinear16_h_mmi(uint8_t *dst, ptrdiff_t dststride, 246cabdff1aSopenharmony_ci uint8_t *src, ptrdiff_t srcstride, int h, int mx, int my); 247cabdff1aSopenharmony_civoid ff_put_vp8_bilinear16_v_mmi(uint8_t *dst, ptrdiff_t dststride, 248cabdff1aSopenharmony_ci uint8_t *src, ptrdiff_t srcstride, int h, int mx, int my); 249cabdff1aSopenharmony_civoid ff_put_vp8_bilinear16_hv_mmi(uint8_t *dst, ptrdiff_t dststride, 250cabdff1aSopenharmony_ci uint8_t *src, ptrdiff_t srcstride, int h, int mx, int my); 251cabdff1aSopenharmony_ci 252cabdff1aSopenharmony_civoid ff_put_vp8_bilinear8_h_mmi(uint8_t *dst, ptrdiff_t dststride, 253cabdff1aSopenharmony_ci uint8_t *src, ptrdiff_t srcstride, int h, int mx, int my); 254cabdff1aSopenharmony_civoid ff_put_vp8_bilinear8_v_mmi(uint8_t *dst, ptrdiff_t dststride, 255cabdff1aSopenharmony_ci uint8_t *src, ptrdiff_t srcstride, int h, int mx, int my); 256cabdff1aSopenharmony_civoid ff_put_vp8_bilinear8_hv_mmi(uint8_t *dst, ptrdiff_t dststride, 257cabdff1aSopenharmony_ci uint8_t *src, ptrdiff_t srcstride, int h, int mx, int my); 258cabdff1aSopenharmony_ci 259cabdff1aSopenharmony_civoid ff_put_vp8_bilinear4_h_mmi(uint8_t *dst, ptrdiff_t dststride, 260cabdff1aSopenharmony_ci uint8_t *src, ptrdiff_t srcstride, int h, int mx, int my); 261cabdff1aSopenharmony_civoid ff_put_vp8_bilinear4_v_mmi(uint8_t *dst, ptrdiff_t dststride, 262cabdff1aSopenharmony_ci uint8_t *src, ptrdiff_t srcstride, int h, int mx, int my); 263cabdff1aSopenharmony_civoid ff_put_vp8_bilinear4_hv_mmi(uint8_t *dst, ptrdiff_t dststride, 264cabdff1aSopenharmony_ci uint8_t *src, ptrdiff_t srcstride, int h, int mx, int my); 265cabdff1aSopenharmony_ci 266cabdff1aSopenharmony_ci// loop filter applied to edges between macroblocks 267cabdff1aSopenharmony_civoid ff_vp8_v_loop_filter16_mmi(uint8_t *dst, ptrdiff_t stride, int flim_E, 268cabdff1aSopenharmony_ci int flim_I, int hev_thresh); 269cabdff1aSopenharmony_civoid ff_vp8_h_loop_filter16_mmi(uint8_t *dst, ptrdiff_t stride, int flim_E, 270cabdff1aSopenharmony_ci int flim_I, int hev_thresh); 271cabdff1aSopenharmony_civoid ff_vp8_v_loop_filter8uv_mmi(uint8_t *dstU, uint8_t *dstV, ptrdiff_t stride, 272cabdff1aSopenharmony_ci int flim_E, int flim_I, int hev_thresh); 273cabdff1aSopenharmony_civoid ff_vp8_h_loop_filter8uv_mmi(uint8_t *dstU, uint8_t *dstV, ptrdiff_t stride, 274cabdff1aSopenharmony_ci int flim_E, int flim_I, int hev_thresh); 275cabdff1aSopenharmony_ci 276cabdff1aSopenharmony_ci// loop filter applied to inner macroblock edges 277cabdff1aSopenharmony_civoid ff_vp8_v_loop_filter16_inner_mmi(uint8_t *dst, ptrdiff_t stride, 278cabdff1aSopenharmony_ci int flim_E, int flim_I, int hev_thresh); 279cabdff1aSopenharmony_civoid ff_vp8_h_loop_filter16_inner_mmi(uint8_t *dst, ptrdiff_t stride, 280cabdff1aSopenharmony_ci int flim_E, int flim_I, int hev_thresh); 281cabdff1aSopenharmony_civoid ff_vp8_v_loop_filter8uv_inner_mmi(uint8_t *dstU, uint8_t *dstV, 282cabdff1aSopenharmony_ci ptrdiff_t stride, int flim_E, int flim_I, int hev_thresh); 283cabdff1aSopenharmony_civoid ff_vp8_h_loop_filter8uv_inner_mmi(uint8_t *dstU, uint8_t *dstV, 284cabdff1aSopenharmony_ci ptrdiff_t stride, int flim_E, int flim_I, int hev_thresh); 285cabdff1aSopenharmony_ci 286cabdff1aSopenharmony_civoid ff_vp8_v_loop_filter_simple_mmi(uint8_t *dst, ptrdiff_t stride, int flim); 287cabdff1aSopenharmony_civoid ff_vp8_h_loop_filter_simple_mmi(uint8_t *dst, ptrdiff_t stride, int flim); 288cabdff1aSopenharmony_ci 289cabdff1aSopenharmony_ci#endif // #ifndef AVCODEC_MIPS_VP8DSP_MIPS_H 290