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                                           const int16_t *sao_offset_val, 
int eo, 
int width, 
int height);
 
   34                                         const int16_t *sao_offset_val, 
int eo, 
int width, 
int height);
 
   37                                          const int16_t *sao_offset_val, 
int eo, 
int width, 
int height);
 
   39                                        const int16_t *sao_offset_val, 
int eo, 
int width, 
int height);
 
   41 #define NEON8_FNPROTO_PARTIAL_6(fn, args, ext) \ 
   42     void ff_hevc_put_hevc_##fn##_h4_8_neon##ext args;  \ 
   43     void ff_hevc_put_hevc_##fn##_h6_8_neon##ext args;  \ 
   44     void ff_hevc_put_hevc_##fn##_h8_8_neon##ext args;  \ 
   45     void ff_hevc_put_hevc_##fn##_h12_8_neon##ext args; \ 
   46     void ff_hevc_put_hevc_##fn##_h16_8_neon##ext args; \ 
   47     void ff_hevc_put_hevc_##fn##_h32_8_neon##ext args; 
   59 #define NEON8_FNPROTO(fn, args, ext) \ 
   60     void ff_hevc_put_hevc_##fn##4_8_neon##ext args; \ 
   61     void ff_hevc_put_hevc_##fn##6_8_neon##ext args; \ 
   62     void ff_hevc_put_hevc_##fn##8_8_neon##ext args; \ 
   63     void ff_hevc_put_hevc_##fn##12_8_neon##ext args; \ 
   64     void ff_hevc_put_hevc_##fn##16_8_neon##ext args; \ 
   65     void ff_hevc_put_hevc_##fn##24_8_neon##ext args; \ 
   66     void ff_hevc_put_hevc_##fn##32_8_neon##ext args; \ 
   67     void ff_hevc_put_hevc_##fn##48_8_neon##ext args; \ 
   68     void ff_hevc_put_hevc_##fn##64_8_neon##ext args 
   70 #define NEON8_FNPROTO_PARTIAL_4(fn, args, ext) \ 
   71     void ff_hevc_put_hevc_##fn##4_8_neon##ext args; \ 
   72     void ff_hevc_put_hevc_##fn##8_8_neon##ext args; \ 
   73     void ff_hevc_put_hevc_##fn##16_8_neon##ext args; \ 
   74     void ff_hevc_put_hevc_##fn##64_8_neon##ext args 
   76 #define NEON8_FNPROTO_PARTIAL_5(fn, args, ext) \ 
   77     void ff_hevc_put_hevc_##fn##4_8_neon##ext args; \ 
   78     void ff_hevc_put_hevc_##fn##8_8_neon##ext args; \ 
   79     void ff_hevc_put_hevc_##fn##16_8_neon##ext args; \ 
   80     void ff_hevc_put_hevc_##fn##32_8_neon##ext args; \ 
   81     void ff_hevc_put_hevc_##fn##64_8_neon##ext args 
  117         int height, 
int denom, 
int wx, 
int ox,
 
  134         int height, 
int denom, 
int wx, 
int ox,
 
  139         int height, 
int denom, 
int wx, 
int ox,
 
  160         int height, 
int denom, 
int wx, 
int ox,
 
  165         int height, 
int denom, 
int wx, 
int ox,
 
  166         intptr_t 
mx, intptr_t 
my, 
int width), _i8mm);
 
  198         int height, 
int denom, 
int wx, 
int ox,
 
  203         int height, 
int denom, 
int wx, 
int ox,
 
  204         intptr_t 
mx, intptr_t 
my, 
int width), _i8mm);
 
  208         int height, 
int denom, 
int wx, 
int ox,
 
  213         int height, 
int denom, 
int wx, 
int ox,
 
  214         intptr_t 
mx, intptr_t 
my, 
int width), _i8mm);
 
  218         int height, 
int denom, 
int wx, 
int ox,
 
  223         int height, 
int denom, 
int wx, 
int ox,
 
  224         intptr_t 
mx, intptr_t 
my, 
int width), _i8mm);
 
  238 #undef NEON8_FNPROTO_PARTIAL_4 
  239 #define NEON8_FNPROTO_PARTIAL_4(fn, args, ext) \ 
  240     void ff_vvc_put_##fn##_h4_8_neon##ext args;  \ 
  241     void ff_vvc_put_##fn##_h8_8_neon##ext args;  \ 
  242     void ff_vvc_put_##fn##_h16_8_neon##ext args; \ 
  243     void ff_vvc_put_##fn##_h32_8_neon##ext args; 
  246         const int8_t *
hf, 
const int8_t *
vf, 
int width),)
 
  252         const int8_t *
hf, const int8_t *
vf, 
int width),)
 
  254 #undef NEON8_FNPROTO_PARTIAL_6 
  255 #define NEON8_FNPROTO_PARTIAL_6(fn, args, ext) \ 
  256     void ff_vvc_put_##fn##4_8_neon##ext args; \ 
  257     void ff_vvc_put_##fn##8_8_neon##ext args; \ 
  258     void ff_vvc_put_##fn##16_8_neon##ext args; \ 
  259     void ff_vvc_put_##fn##32_8_neon##ext args; \ 
  260     void ff_vvc_put_##fn##64_8_neon##ext args; \ 
  261     void ff_vvc_put_##fn##128_8_neon##ext args 
  265         const int8_t *
hf, 
const int8_t *
vf, 
int width),);
 
  269         const int8_t *
hf, 
const int8_t *
vf, 
int width),);
 
  273         int height, 
int denom, 
int wx, 
int ox,
 
  274         const int8_t *
hf, 
const int8_t *
vf, 
int width),);
 
  278         const int8_t *
hf, 
const int8_t *
vf, 
int width), _i8mm);
 
  282         const int8_t *
hf, 
const int8_t *
vf, 
int width), _i8mm);
 
  286                                const int8_t *
hf, 
const int8_t *
vf, 
int width);
 
  290                                const int8_t *
hf, 
const int8_t *
vf, 
int width);
 
  294         const int8_t *
hf, 
const int8_t *
vf, 
int width),);
 
  298         const int8_t *
hf, 
const int8_t *
vf, 
int width), _i8mm);
 
  302         const int8_t *
hf, 
const int8_t *
vf, 
int width),);
 
  306         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)
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