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,
 
  143         int height, 
int denom, 
int wx, 
int ox,
 
  148         int height, 
int denom, 
int wx, 
int ox,
 
  169         int height, 
int denom, 
int wx, 
int ox,
 
  174         int height, 
int denom, 
int wx, 
int ox,
 
  175         intptr_t 
mx, intptr_t 
my, 
int width), _i8mm);
 
  207         int height, 
int denom, 
int wx, 
int ox,
 
  212         int height, 
int denom, 
int wx, 
int ox,
 
  213         intptr_t 
mx, intptr_t 
my, 
int width), _i8mm);
 
  217         int height, 
int denom, 
int wx, 
int ox,
 
  222         int height, 
int denom, 
int wx, 
int ox,
 
  223         intptr_t 
mx, intptr_t 
my, 
int width), _i8mm);
 
  227         int height, 
int denom, 
int wx, 
int ox,
 
  232         int height, 
int denom, 
int wx, 
int ox,
 
  233         intptr_t 
mx, intptr_t 
my, 
int width), _i8mm);
 
  247 #undef NEON8_FNPROTO_PARTIAL_4 
  248 #define NEON8_FNPROTO_PARTIAL_4(fn, args, ext) \ 
  249     void ff_vvc_put_##fn##_h4_8_neon##ext args;  \ 
  250     void ff_vvc_put_##fn##_h8_8_neon##ext args;  \ 
  251     void ff_vvc_put_##fn##_h16_8_neon##ext args; \ 
  252     void ff_vvc_put_##fn##_h32_8_neon##ext args; 
  255         const int8_t *
hf, 
const int8_t *
vf, 
int width),)
 
  261         const int8_t *
hf, const int8_t *
vf, 
int width),)
 
  263 #undef NEON8_FNPROTO_PARTIAL_6 
  264 #define NEON8_FNPROTO_PARTIAL_6(fn, args, ext) \ 
  265     void ff_vvc_put_##fn##4_8_neon##ext args; \ 
  266     void ff_vvc_put_##fn##8_8_neon##ext args; \ 
  267     void ff_vvc_put_##fn##16_8_neon##ext args; \ 
  268     void ff_vvc_put_##fn##32_8_neon##ext args; \ 
  269     void ff_vvc_put_##fn##64_8_neon##ext args; \ 
  270     void ff_vvc_put_##fn##128_8_neon##ext args 
  274         const int8_t *
hf, 
const int8_t *
vf, 
int width),);
 
  278         const int8_t *
hf, 
const int8_t *
vf, 
int width),);
 
  282         int height, 
int denom, 
int wx, 
int ox,
 
  283         const int8_t *
hf, 
const int8_t *
vf, 
int width),);
 
  287         const int8_t *
hf, 
const int8_t *
vf, 
int width), _i8mm);
 
  291         const int8_t *
hf, 
const int8_t *
vf, 
int width), _i8mm);
 
  295                                const int8_t *
hf, 
const int8_t *
vf, 
int width);
 
  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), _i8mm);
 
  311         const int8_t *
hf, 
const int8_t *
vf, 
int width),);
 
  315         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_5(fn, args, ext)
#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