Go to the documentation of this file.
21 #ifndef AVCODEC_AARCH64_H26X_DSP_H
22 #define AVCODEC_AARCH64_H26X_DSP_H
28 ptrdiff_t stride_dst, ptrdiff_t stride_src,
29 const int16_t *sao_offset_val,
int sao_left_class,
32 ptrdiff_t stride_dst, ptrdiff_t stride_src,
33 const int16_t *sao_offset_val,
int sao_left_class,
36 const int16_t *sao_offset_val,
int eo,
int width,
int height);
38 const int16_t *sao_offset_val,
int eo,
int width,
int height);
41 const int16_t *sao_offset_val,
int eo,
int width,
int height);
43 const int16_t *sao_offset_val,
int eo,
int width,
int height);
45 #define NEON8_FNPROTO_PARTIAL_6(fn, args, ext) \
46 void ff_hevc_put_hevc_##fn##_h4_8_neon##ext args; \
47 void ff_hevc_put_hevc_##fn##_h6_8_neon##ext args; \
48 void ff_hevc_put_hevc_##fn##_h8_8_neon##ext args; \
49 void ff_hevc_put_hevc_##fn##_h12_8_neon##ext args; \
50 void ff_hevc_put_hevc_##fn##_h16_8_neon##ext args; \
51 void ff_hevc_put_hevc_##fn##_h32_8_neon##ext args;
63 #define NEON8_FNPROTO(fn, args, ext) \
64 void ff_hevc_put_hevc_##fn##4_8_neon##ext args; \
65 void ff_hevc_put_hevc_##fn##6_8_neon##ext args; \
66 void ff_hevc_put_hevc_##fn##8_8_neon##ext args; \
67 void ff_hevc_put_hevc_##fn##12_8_neon##ext args; \
68 void ff_hevc_put_hevc_##fn##16_8_neon##ext args; \
69 void ff_hevc_put_hevc_##fn##24_8_neon##ext args; \
70 void ff_hevc_put_hevc_##fn##32_8_neon##ext args; \
71 void ff_hevc_put_hevc_##fn##48_8_neon##ext args; \
72 void ff_hevc_put_hevc_##fn##64_8_neon##ext args
74 #define NEON8_FNPROTO_PARTIAL_4(fn, args, ext) \
75 void ff_hevc_put_hevc_##fn##4_8_neon##ext args; \
76 void ff_hevc_put_hevc_##fn##8_8_neon##ext args; \
77 void ff_hevc_put_hevc_##fn##16_8_neon##ext args; \
78 void ff_hevc_put_hevc_##fn##64_8_neon##ext args
80 #define NEON8_FNPROTO_PARTIAL_5(fn, args, ext) \
81 void ff_hevc_put_hevc_##fn##4_8_neon##ext args; \
82 void ff_hevc_put_hevc_##fn##8_8_neon##ext args; \
83 void ff_hevc_put_hevc_##fn##16_8_neon##ext args; \
84 void ff_hevc_put_hevc_##fn##32_8_neon##ext args; \
85 void ff_hevc_put_hevc_##fn##64_8_neon##ext args
97 int height,
int denom,
int wx0,
int wx1,
98 int ox0,
int ox1, intptr_t
mx, intptr_t
my,
int width),);
126 int height,
int denom,
int wx,
int ox,
147 int height,
int denom,
int wx,
int ox,
152 int height,
int denom,
int wx,
int ox,
173 int height,
int denom,
int wx,
int ox,
178 int height,
int denom,
int wx,
int ox,
179 intptr_t
mx, intptr_t
my,
int width), _i8mm);
211 int height,
int denom,
int wx,
int ox,
216 int height,
int denom,
int wx,
int ox,
217 intptr_t
mx, intptr_t
my,
int width), _i8mm);
221 int height,
int denom,
int wx,
int ox,
226 int height,
int denom,
int wx,
int ox,
227 intptr_t
mx, intptr_t
my,
int width), _i8mm);
231 int height,
int denom,
int wx,
int ox,
236 int height,
int denom,
int wx,
int ox,
237 intptr_t
mx, intptr_t
my,
int width), _i8mm);
251 #undef NEON8_FNPROTO_PARTIAL_4
252 #define NEON8_FNPROTO_PARTIAL_4(fn, args, ext) \
253 void ff_vvc_put_##fn##_h4_8_neon##ext args; \
254 void ff_vvc_put_##fn##_h8_8_neon##ext args; \
255 void ff_vvc_put_##fn##_h16_8_neon##ext args; \
256 void ff_vvc_put_##fn##_h32_8_neon##ext args;
259 const int8_t *
hf,
const int8_t *
vf,
int width),)
265 const int8_t *
hf, const int8_t *
vf,
int width),)
267 #undef NEON8_FNPROTO_PARTIAL_6
268 #define NEON8_FNPROTO_PARTIAL_6(fn, args, ext) \
269 void ff_vvc_put_##fn##4_8_neon##ext args; \
270 void ff_vvc_put_##fn##8_8_neon##ext args; \
271 void ff_vvc_put_##fn##16_8_neon##ext args; \
272 void ff_vvc_put_##fn##32_8_neon##ext args; \
273 void ff_vvc_put_##fn##64_8_neon##ext args; \
274 void ff_vvc_put_##fn##128_8_neon##ext args
278 const int8_t *
hf,
const int8_t *
vf,
int width),);
282 const int8_t *
hf,
const int8_t *
vf,
int width),);
286 int height,
int denom,
int wx,
int ox,
287 const int8_t *
hf,
const int8_t *
vf,
int width),);
291 const int8_t *
hf,
const int8_t *
vf,
int width), _i8mm);
295 const int8_t *
hf,
const int8_t *
vf,
int width), _i8mm);
299 const int8_t *
hf,
const int8_t *
vf,
int width);
303 const int8_t *
hf,
const int8_t *
vf,
int width);
307 const int8_t *
hf,
const int8_t *
vf,
int width),);
311 const int8_t *
hf,
const int8_t *
vf,
int width), _i8mm);
315 const int8_t *
hf,
const int8_t *
vf,
int width),);
319 const int8_t *
hf,
const int8_t *
vf,
int width), _i8mm);
void ff_hevc_sao_edge_filter_16x16_8_neon(uint8_t *dst, const uint8_t *src, ptrdiff_t stride_dst, const int16_t *sao_offset_val, int eo, int width, int height)
uint8_t ptrdiff_t const uint8_t ptrdiff_t int intptr_t intptr_t int int16_t const uint8_t * src
void ff_vvc_put_qpel_v8_8_neon(int16_t *dst, const uint8_t *_src, ptrdiff_t _srcstride, int height, const int8_t *hf, const int8_t *vf, int width)
uint8_t ptrdiff_t const uint8_t ptrdiff_t int height
void ff_hevc_sao_edge_filter_8x8_8_neon(uint8_t *dst, const uint8_t *src, ptrdiff_t stride_dst, const int16_t *sao_offset_val, int eo, int width, int height)
uint8_t ptrdiff_t const uint8_t * _src
uint8_t ptrdiff_t const uint8_t ptrdiff_t int intptr_t mx
uint8_t ptrdiff_t const uint8_t ptrdiff_t _srcstride
void ff_vvc_put_qpel_v4_8_neon(int16_t *dst, const uint8_t *_src, ptrdiff_t _srcstride, int height, const int8_t *hf, const int8_t *vf, int width)
void ff_h26x_sao_band_filter_16x16_8_neon(uint8_t *_dst, const uint8_t *_src, ptrdiff_t stride_dst, ptrdiff_t stride_src, const int16_t *sao_offset_val, int sao_left_class, int width, int height)
uint8_t ptrdiff_t const uint8_t ptrdiff_t int intptr_t intptr_t my
uint8_t ptrdiff_t const uint8_t ptrdiff_t int intptr_t intptr_t int int16_t const uint8_t ptrdiff_t srcstride
#define NEON8_FNPROTO(fn, args, ext)
uint8_t ptrdiff_t const uint8_t ptrdiff_t int intptr_t intptr_t int width
uint8_t ptrdiff_t _dststride
void ff_vvc_sao_edge_filter_8x8_8_neon(uint8_t *dst, const uint8_t *src, ptrdiff_t stride_dst, const int16_t *sao_offset_val, int eo, int width, int height)
uint8_t ptrdiff_t const uint8_t ptrdiff_t int intptr_t intptr_t int int16_t * dst
void ff_h26x_sao_band_filter_8x8_8_neon(uint8_t *_dst, const uint8_t *_src, ptrdiff_t stride_dst, ptrdiff_t stride_src, const int16_t *sao_offset_val, int sao_left_class, int width, int height)
#define NEON8_FNPROTO_PARTIAL_4(fn, args, ext)
uint8_t ptrdiff_t const uint8_t ptrdiff_t int const int8_t * hf
#define NEON8_FNPROTO_PARTIAL_6(fn, args, ext)
void ff_vvc_sao_edge_filter_16x16_8_neon(uint8_t *dst, const uint8_t *src, ptrdiff_t stride_dst, const int16_t *sao_offset_val, int eo, int width, int height)
uint8_t ptrdiff_t const uint8_t ptrdiff_t int const int8_t const int8_t * vf