FFmpeg
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
h264dsp_init_mips.c
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2015 Parag Salasakar (Parag.Salasakar@imgtec.com)
3  * Copyright (c) 2015 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 
22 #include "h264dsp_mips.h"
23 
24 #if HAVE_MSA
25 static av_cold void h264dsp_init_msa(H264DSPContext *c,
26  const int bit_depth,
27  const int chroma_format_idc)
28 {
29  if (8 == bit_depth) {
39 
40  if (chroma_format_idc <= 1)
42  else
45 
46  if (chroma_format_idc > 1)
49 
52 
53  if (chroma_format_idc <= 1)
56 
57  /* Weighted MC */
61 
65  } // if (8 == bit_depth)
66 }
67 #endif // #if HAVE_MSA
68 
69 #if HAVE_LOONGSON3
70 static av_cold void h264dsp_init_mmi(H264DSPContext * c,
71  const int bit_depth,
72  const int chroma_format_idc)
73 {
74  if (bit_depth == 8) {
78 
82  }
83 }
84 #endif /* HAVE_LOONGSON3 */
85 
86 av_cold void ff_h264dsp_init_mips(H264DSPContext *c, const int bit_depth,
87  const int chroma_format_idc)
88 {
89 #if HAVE_MSA
90  h264dsp_init_msa(c, bit_depth, chroma_format_idc);
91 #endif // #if HAVE_MSA
92 #if HAVE_LOONGSON3
93  h264dsp_init_mmi(c, bit_depth, chroma_format_idc);
94 #endif /* HAVE_LOONGSON3 */
95 }
void ff_h264_h_lpf_chroma_inter_msa(uint8_t *src, int stride, int alpha, int beta, int8_t *tc0)
Definition: h264dsp_msa.c:2388
void ff_h264_h_lpf_luma_inter_msa(uint8_t *src, int stride, int alpha, int beta, int8_t *tc0)
Definition: h264dsp_msa.c:2343
void ff_biweight_h264_pixels16_8_msa(uint8_t *dst, uint8_t *src, int stride, int height, int log2_denom, int weightd, int weights, int offset)
Definition: h264dsp_msa.c:2519
void(* h264_v_loop_filter_luma_intra)(uint8_t *pix, int stride, int alpha, int beta)
Definition: h264dsp.h:54
void(* h264_h_loop_filter_luma_mbaff_intra)(uint8_t *pix, int stride, int alpha, int beta)
Definition: h264dsp.h:58
void ff_h264_h_lpf_luma_intra_msa(uint8_t *src, int stride, int alpha, int beta)
Definition: h264dsp_msa.c:2432
void(* h264_h_loop_filter_chroma_mbaff)(uint8_t *pix, int stride, int alpha, int beta, int8_t *tc0)
Definition: h264dsp.h:64
void(* h264_h_loop_filter_chroma)(uint8_t *pix, int stride, int alpha, int beta, int8_t *tc0)
Definition: h264dsp.h:62
void ff_h264_weight_pixels4_8_mmi(uint8_t *block, int stride, int height, int log2_denom, int weight, int offset)
Definition: h264dsp_mmi.c:213
#define av_cold
Definition: attributes.h:74
void ff_h264_v_lpf_luma_intra_msa(uint8_t *src, int stride, int alpha, int beta)
Definition: h264dsp_msa.c:2440
void(* h264_h_loop_filter_luma_mbaff)(uint8_t *pix, int stride, int alpha, int beta, int8_t *tc0)
Definition: h264dsp.h:51
h264_weight_func weight_h264_pixels_tab[4]
Definition: h264dsp.h:43
void ff_biweight_h264_pixels8_8_msa(uint8_t *dst, uint8_t *src, int stride, int height, int log2_denom, int weightd, int weights, int offset)
Definition: h264dsp_msa.c:2528
void(* h264_h_loop_filter_chroma_intra)(uint8_t *pix, int stride, int alpha, int beta)
Definition: h264dsp.h:69
void(* h264_v_loop_filter_chroma)(uint8_t *pix, int stride, int alpha, int beta, int8_t *tc0)
Definition: h264dsp.h:60
void ff_h264_biweight_pixels16_8_mmi(uint8_t *dst, uint8_t *src, int stride, int height, int log2_denom, int weightd, int weights, int offset)
Definition: h264dsp_mmi.c:74
void ff_h264_biweight_pixels8_8_mmi(uint8_t *dst, uint8_t *src, int stride, int height, int log2_denom, int weightd, int weights, int offset)
Definition: h264dsp_mmi.c:170
void ff_h264_v_lpf_luma_inter_msa(uint8_t *src, int stride, int alpha, int beta, int8_t *tc0)
Definition: h264dsp_msa.c:2365
void ff_h264_h_lpf_chroma_intra_msa(uint8_t *src, int stride, int alpha, int beta)
Definition: h264dsp_msa.c:2448
h264_biweight_func biweight_h264_pixels_tab[4]
Definition: h264dsp.h:44
Context for storing H.264 DSP functions.
Definition: h264dsp.h:41
void(* h264_v_loop_filter_chroma_intra)(uint8_t *pix, int stride, int alpha, int beta)
Definition: h264dsp.h:67
void ff_weight_h264_pixels8_8_msa(uint8_t *src, int stride, int height, int log2_denom, int weight, int offset)
Definition: h264dsp_msa.c:2505
void ff_biweight_h264_pixels4_8_msa(uint8_t *dst, uint8_t *src, int stride, int height, int log2_denom, int weightd, int weights, int offset)
Definition: h264dsp_msa.c:2537
void ff_h264_biweight_pixels4_8_mmi(uint8_t *dst, uint8_t *src, int stride, int height, int log2_denom, int weightd, int weights, int offset)
Definition: h264dsp_mmi.c:244
void ff_h264_h_loop_filter_chroma422_msa(uint8_t *src, int32_t stride, int32_t alpha, int32_t beta, int8_t *tc0)
Definition: h264dsp_msa.c:2464
void(* h264_v_loop_filter_luma)(uint8_t *pix, int stride, int alpha, int beta, int8_t *tc0)
Definition: h264dsp.h:47
av_cold void ff_h264dsp_init_mips(H264DSPContext *c, const int bit_depth, const int chroma_format_idc)
void ff_weight_h264_pixels4_8_msa(uint8_t *src, int stride, int height, int log2_denom, int weight, int offset)
Definition: h264dsp_msa.c:2512
void ff_h264_v_lpf_chroma_intra_msa(uint8_t *src, int stride, int alpha, int beta)
Definition: h264dsp_msa.c:2456
void ff_h264_weight_pixels16_8_mmi(uint8_t *block, int stride, int height, int log2_denom, int weight, int offset)
Definition: h264dsp_mmi.c:28
void(* h264_h_loop_filter_luma_intra)(uint8_t *pix, int stride, int alpha, int beta)
Definition: h264dsp.h:56
static double c[64]
void ff_h264_h_loop_filter_luma_mbaff_intra_msa(uint8_t *src, int stride, int alpha, int beta)
void ff_h264_v_lpf_chroma_inter_msa(uint8_t *src, int stride, int alpha, int beta, int8_t *tc0)
Definition: h264dsp_msa.c:2410
void ff_h264_weight_pixels8_8_mmi(uint8_t *block, int stride, int height, int log2_denom, int weight, int offset)
Definition: h264dsp_mmi.c:135
void(* h264_h_loop_filter_luma)(uint8_t *pix, int stride, int alpha, int beta, int8_t *tc0)
Definition: h264dsp.h:49
void ff_weight_h264_pixels16_8_msa(uint8_t *src, int stride, int height, int log2_denom, int weight, int offset)
Definition: h264dsp_msa.c:2498
void ff_h264_h_loop_filter_luma_mbaff_msa(uint8_t *src, int32_t stride, int32_t alpha, int32_t beta, int8_t *tc0)
Definition: h264dsp_msa.c:2481
void ff_h264_h_loop_filter_chroma422_mbaff_msa(uint8_t *src, int32_t stride, int32_t alpha, int32_t beta, int8_t *tc0)
Definition: h264dsp_msa.c:2472