comparison arm/dsputil_neon.c @ 8663:23f7711e777e libavcodec

ARM: NEON optimised H.264 biweighted prediction
author mru
date Sun, 25 Jan 2009 13:04:41 +0000
parents 639169d7fad5
children 882c351e69c2
comparison
equal deleted inserted replaced
8662:31bdc2da2e80 8663:23f7711e777e
90 void ff_h264_v_loop_filter_chroma_neon(uint8_t *pix, int stride, int alpha, 90 void ff_h264_v_loop_filter_chroma_neon(uint8_t *pix, int stride, int alpha,
91 int beta, int8_t *tc0); 91 int beta, int8_t *tc0);
92 void ff_h264_h_loop_filter_chroma_neon(uint8_t *pix, int stride, int alpha, 92 void ff_h264_h_loop_filter_chroma_neon(uint8_t *pix, int stride, int alpha,
93 int beta, int8_t *tc0); 93 int beta, int8_t *tc0);
94 94
95 void ff_biweight_h264_pixels_16x16_neon(uint8_t *dst, uint8_t *src, int stride,
96 int log2_den, int weightd, int weights,
97 int offset);
98 void ff_biweight_h264_pixels_16x8_neon(uint8_t *dst, uint8_t *src, int stride,
99 int log2_den, int weightd, int weights,
100 int offset);
101 void ff_biweight_h264_pixels_8x16_neon(uint8_t *dst, uint8_t *src, int stride,
102 int log2_den, int weightd, int weights,
103 int offset);
104 void ff_biweight_h264_pixels_8x8_neon(uint8_t *dst, uint8_t *src, int stride,
105 int log2_den, int weightd, int weights,
106 int offset);
107 void ff_biweight_h264_pixels_8x4_neon(uint8_t *dst, uint8_t *src, int stride,
108 int log2_den, int weightd, int weights,
109 int offset);
110 void ff_biweight_h264_pixels_4x8_neon(uint8_t *dst, uint8_t *src, int stride,
111 int log2_den, int weightd, int weights,
112 int offset);
113 void ff_biweight_h264_pixels_4x4_neon(uint8_t *dst, uint8_t *src, int stride,
114 int log2_den, int weightd, int weights,
115 int offset);
116 void ff_biweight_h264_pixels_4x2_neon(uint8_t *dst, uint8_t *src, int stride,
117 int log2_den, int weightd, int weights,
118 int offset);
119
95 void ff_h264_idct_add_neon(uint8_t *dst, DCTELEM *block, int stride); 120 void ff_h264_idct_add_neon(uint8_t *dst, DCTELEM *block, int stride);
96 void ff_h264_idct_dc_add_neon(uint8_t *dst, DCTELEM *block, int stride); 121 void ff_h264_idct_dc_add_neon(uint8_t *dst, DCTELEM *block, int stride);
97 void ff_h264_idct_add16_neon(uint8_t *dst, const int *block_offset, 122 void ff_h264_idct_add16_neon(uint8_t *dst, const int *block_offset,
98 DCTELEM *block, int stride, 123 DCTELEM *block, int stride,
99 const uint8_t nnzc[6*8]); 124 const uint8_t nnzc[6*8]);
174 c->h264_v_loop_filter_luma = ff_h264_v_loop_filter_luma_neon; 199 c->h264_v_loop_filter_luma = ff_h264_v_loop_filter_luma_neon;
175 c->h264_h_loop_filter_luma = ff_h264_h_loop_filter_luma_neon; 200 c->h264_h_loop_filter_luma = ff_h264_h_loop_filter_luma_neon;
176 c->h264_v_loop_filter_chroma = ff_h264_v_loop_filter_chroma_neon; 201 c->h264_v_loop_filter_chroma = ff_h264_v_loop_filter_chroma_neon;
177 c->h264_h_loop_filter_chroma = ff_h264_h_loop_filter_chroma_neon; 202 c->h264_h_loop_filter_chroma = ff_h264_h_loop_filter_chroma_neon;
178 203
204 c->biweight_h264_pixels_tab[0] = ff_biweight_h264_pixels_16x16_neon;
205 c->biweight_h264_pixels_tab[1] = ff_biweight_h264_pixels_16x8_neon;
206 c->biweight_h264_pixels_tab[2] = ff_biweight_h264_pixels_8x16_neon;
207 c->biweight_h264_pixels_tab[3] = ff_biweight_h264_pixels_8x8_neon;
208 c->biweight_h264_pixels_tab[4] = ff_biweight_h264_pixels_8x4_neon;
209 c->biweight_h264_pixels_tab[5] = ff_biweight_h264_pixels_4x8_neon;
210 c->biweight_h264_pixels_tab[6] = ff_biweight_h264_pixels_4x4_neon;
211 c->biweight_h264_pixels_tab[7] = ff_biweight_h264_pixels_4x2_neon;
212
179 c->h264_idct_add = ff_h264_idct_add_neon; 213 c->h264_idct_add = ff_h264_idct_add_neon;
180 c->h264_idct_dc_add = ff_h264_idct_dc_add_neon; 214 c->h264_idct_dc_add = ff_h264_idct_dc_add_neon;
181 c->h264_idct_add16 = ff_h264_idct_add16_neon; 215 c->h264_idct_add16 = ff_h264_idct_add16_neon;
182 c->h264_idct_add16intra = ff_h264_idct_add16intra_neon; 216 c->h264_idct_add16intra = ff_h264_idct_add16intra_neon;
183 c->h264_idct_add8 = ff_h264_idct_add8_neon; 217 c->h264_idct_add8 = ff_h264_idct_add8_neon;