FFmpeg
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Macros | Functions | Variables
hevcdsp_init_neon.c File Reference
#include "libavutil/attributes.h"
#include "libavutil/arm/cpu.h"
#include "libavcodec/hevcdsp.h"

Go to the source code of this file.

Macros

#define PUT_PIXELS(name)
 
#define QPEL_FUNC(name)
 
#define QPEL_FUNC_UW_PIX(name)
 
#define QPEL_FUNC_UW(name)
 

Functions

void ff_hevc_v_loop_filter_luma_neon (uint8_t *_pix, ptrdiff_t _stride, int _beta, int *_tc, uint8_t *_no_p, uint8_t *_no_q)
 
void ff_hevc_h_loop_filter_luma_neon (uint8_t *_pix, ptrdiff_t _stride, int _beta, int *_tc, uint8_t *_no_p, uint8_t *_no_q)
 
void ff_hevc_v_loop_filter_chroma_neon (uint8_t *_pix, ptrdiff_t _stride, int *_tc, uint8_t *_no_p, uint8_t *_no_q)
 
void ff_hevc_h_loop_filter_chroma_neon (uint8_t *_pix, ptrdiff_t _stride, int *_tc, uint8_t *_no_p, uint8_t *_no_q)
 
void ff_hevc_transform_4x4_neon_8 (int16_t *coeffs, int col_limit)
 
void ff_hevc_transform_8x8_neon_8 (int16_t *coeffs, int col_limit)
 
void ff_hevc_idct_4x4_dc_neon_8 (int16_t *coeffs)
 
void ff_hevc_idct_8x8_dc_neon_8 (int16_t *coeffs)
 
void ff_hevc_idct_16x16_dc_neon_8 (int16_t *coeffs)
 
void ff_hevc_idct_32x32_dc_neon_8 (int16_t *coeffs)
 
void ff_hevc_transform_luma_4x4_neon_8 (int16_t *coeffs)
 
void ff_hevc_transform_add_4x4_neon_8 (uint8_t *_dst, int16_t *coeffs, ptrdiff_t stride)
 
void ff_hevc_transform_add_8x8_neon_8 (uint8_t *_dst, int16_t *coeffs, ptrdiff_t stride)
 
void ff_hevc_transform_add_16x16_neon_8 (uint8_t *_dst, int16_t *coeffs, ptrdiff_t stride)
 
void ff_hevc_transform_add_32x32_neon_8 (uint8_t *_dst, int16_t *coeffs, ptrdiff_t stride)
 
 PUT_PIXELS (ff_hevc_put_pixels_w2_neon_8)
 
 PUT_PIXELS (ff_hevc_put_pixels_w4_neon_8)
 
 PUT_PIXELS (ff_hevc_put_pixels_w6_neon_8)
 
 PUT_PIXELS (ff_hevc_put_pixels_w8_neon_8)
 
 PUT_PIXELS (ff_hevc_put_pixels_w12_neon_8)
 
 PUT_PIXELS (ff_hevc_put_pixels_w16_neon_8)
 
 PUT_PIXELS (ff_hevc_put_pixels_w24_neon_8)
 
 PUT_PIXELS (ff_hevc_put_pixels_w32_neon_8)
 
 PUT_PIXELS (ff_hevc_put_pixels_w48_neon_8)
 
 PUT_PIXELS (ff_hevc_put_pixels_w64_neon_8)
 
void ff_hevc_put_qpel_neon_wrapper (int16_t *dst, uint8_t *src, ptrdiff_t srcstride, int height, intptr_t mx, intptr_t my, int width)
 
void ff_hevc_put_qpel_uni_neon_wrapper (uint8_t *dst, ptrdiff_t dststride, uint8_t *src, ptrdiff_t srcstride, int height, intptr_t mx, intptr_t my, int width)
 
void ff_hevc_put_qpel_bi_neon_wrapper (uint8_t *dst, ptrdiff_t dststride, uint8_t *src, ptrdiff_t srcstride, int16_t *src2, int height, intptr_t mx, intptr_t my, int width)
 
 QPEL_FUNC (ff_hevc_put_qpel_v1_neon_8)
 
 QPEL_FUNC (ff_hevc_put_qpel_v2_neon_8)
 
 QPEL_FUNC (ff_hevc_put_qpel_v3_neon_8)
 
 QPEL_FUNC (ff_hevc_put_qpel_h1_neon_8)
 
 QPEL_FUNC (ff_hevc_put_qpel_h2_neon_8)
 
 QPEL_FUNC (ff_hevc_put_qpel_h3_neon_8)
 
 QPEL_FUNC (ff_hevc_put_qpel_h1v1_neon_8)
 
 QPEL_FUNC (ff_hevc_put_qpel_h1v2_neon_8)
 
 QPEL_FUNC (ff_hevc_put_qpel_h1v3_neon_8)
 
 QPEL_FUNC (ff_hevc_put_qpel_h2v1_neon_8)
 
 QPEL_FUNC (ff_hevc_put_qpel_h2v2_neon_8)
 
 QPEL_FUNC (ff_hevc_put_qpel_h2v3_neon_8)
 
 QPEL_FUNC (ff_hevc_put_qpel_h3v1_neon_8)
 
 QPEL_FUNC (ff_hevc_put_qpel_h3v2_neon_8)
 
 QPEL_FUNC (ff_hevc_put_qpel_h3v3_neon_8)
 
 QPEL_FUNC_UW_PIX (ff_hevc_put_qpel_uw_pixels_w4_neon_8)
 
 QPEL_FUNC_UW_PIX (ff_hevc_put_qpel_uw_pixels_w8_neon_8)
 
 QPEL_FUNC_UW_PIX (ff_hevc_put_qpel_uw_pixels_w16_neon_8)
 
 QPEL_FUNC_UW_PIX (ff_hevc_put_qpel_uw_pixels_w24_neon_8)
 
 QPEL_FUNC_UW_PIX (ff_hevc_put_qpel_uw_pixels_w32_neon_8)
 
 QPEL_FUNC_UW_PIX (ff_hevc_put_qpel_uw_pixels_w48_neon_8)
 
 QPEL_FUNC_UW_PIX (ff_hevc_put_qpel_uw_pixels_w64_neon_8)
 
 QPEL_FUNC_UW (ff_hevc_put_qpel_uw_pixels_neon_8)
 
 QPEL_FUNC_UW (ff_hevc_put_qpel_uw_v1_neon_8)
 
 QPEL_FUNC_UW (ff_hevc_put_qpel_uw_v2_neon_8)
 
 QPEL_FUNC_UW (ff_hevc_put_qpel_uw_v3_neon_8)
 
 QPEL_FUNC_UW (ff_hevc_put_qpel_uw_h1_neon_8)
 
 QPEL_FUNC_UW (ff_hevc_put_qpel_uw_h2_neon_8)
 
 QPEL_FUNC_UW (ff_hevc_put_qpel_uw_h3_neon_8)
 
 QPEL_FUNC_UW (ff_hevc_put_qpel_uw_h1v1_neon_8)
 
 QPEL_FUNC_UW (ff_hevc_put_qpel_uw_h1v2_neon_8)
 
 QPEL_FUNC_UW (ff_hevc_put_qpel_uw_h1v3_neon_8)
 
 QPEL_FUNC_UW (ff_hevc_put_qpel_uw_h2v1_neon_8)
 
 QPEL_FUNC_UW (ff_hevc_put_qpel_uw_h2v2_neon_8)
 
 QPEL_FUNC_UW (ff_hevc_put_qpel_uw_h2v3_neon_8)
 
 QPEL_FUNC_UW (ff_hevc_put_qpel_uw_h3v1_neon_8)
 
 QPEL_FUNC_UW (ff_hevc_put_qpel_uw_h3v2_neon_8)
 
 QPEL_FUNC_UW (ff_hevc_put_qpel_uw_h3v3_neon_8)
 
static av_cold void hevcdsp_init_neon (HEVCDSPContext *c, const int bit_depth)
 
void ff_hevcdsp_init_arm (HEVCDSPContext *c, const int bit_depth)
 

Variables

static void(* put_hevc_qpel_neon [4][4])(int16_t *dst, ptrdiff_t dststride, uint8_t *src, ptrdiff_t srcstride, int height, int width)
 
static void(* put_hevc_qpel_uw_neon [4][4])(uint8_t *dst, ptrdiff_t dststride, uint8_t *_src, ptrdiff_t _srcstride, int width, int height, int16_t *src2, ptrdiff_t src2stride)
 

Macro Definition Documentation

#define PUT_PIXELS (   name)
Value:
void name(int16_t *dst, uint8_t *src, \
ptrdiff_t srcstride, int height, \
intptr_t mx, intptr_t my, int width)

Definition at line 45 of file hevcdsp_init_neon.c.

#define QPEL_FUNC (   name)
Value:
void name(int16_t *dst, ptrdiff_t dststride, uint8_t *src, ptrdiff_t srcstride, \
int height, int width)

Definition at line 72 of file hevcdsp_init_neon.c.

#define QPEL_FUNC_UW_PIX (   name)
Value:
void name(uint8_t *dst, ptrdiff_t dststride, uint8_t *_src, ptrdiff_t _srcstride, \
int height, intptr_t mx, intptr_t my, int width);

Definition at line 93 of file hevcdsp_init_neon.c.

#define QPEL_FUNC_UW (   name)
Value:
void name(uint8_t *dst, ptrdiff_t dststride, uint8_t *_src, ptrdiff_t _srcstride, \
int width, int height, int16_t* src2, ptrdiff_t src2stride);

Definition at line 105 of file hevcdsp_init_neon.c.

Function Documentation

void ff_hevc_v_loop_filter_luma_neon ( uint8_t _pix,
ptrdiff_t  _stride,
int  _beta,
int *  _tc,
uint8_t _no_p,
uint8_t _no_q 
)

Referenced by hevcdsp_init_neon().

void ff_hevc_h_loop_filter_luma_neon ( uint8_t _pix,
ptrdiff_t  _stride,
int  _beta,
int *  _tc,
uint8_t _no_p,
uint8_t _no_q 
)

Referenced by hevcdsp_init_neon().

void ff_hevc_v_loop_filter_chroma_neon ( uint8_t _pix,
ptrdiff_t  _stride,
int *  _tc,
uint8_t _no_p,
uint8_t _no_q 
)

Referenced by hevcdsp_init_neon().

void ff_hevc_h_loop_filter_chroma_neon ( uint8_t _pix,
ptrdiff_t  _stride,
int *  _tc,
uint8_t _no_p,
uint8_t _no_q 
)

Referenced by hevcdsp_init_neon().

void ff_hevc_transform_4x4_neon_8 ( int16_t *  coeffs,
int  col_limit 
)

Referenced by hevcdsp_init_neon().

void ff_hevc_transform_8x8_neon_8 ( int16_t *  coeffs,
int  col_limit 
)

Referenced by hevcdsp_init_neon().

void ff_hevc_idct_4x4_dc_neon_8 ( int16_t *  coeffs)

Referenced by hevcdsp_init_neon().

void ff_hevc_idct_8x8_dc_neon_8 ( int16_t *  coeffs)

Referenced by hevcdsp_init_neon().

void ff_hevc_idct_16x16_dc_neon_8 ( int16_t *  coeffs)

Referenced by hevcdsp_init_neon().

void ff_hevc_idct_32x32_dc_neon_8 ( int16_t *  coeffs)

Referenced by hevcdsp_init_neon().

void ff_hevc_transform_luma_4x4_neon_8 ( int16_t *  coeffs)

Referenced by hevcdsp_init_neon().

void ff_hevc_transform_add_4x4_neon_8 ( uint8_t _dst,
int16_t *  coeffs,
ptrdiff_t  stride 
)

Referenced by hevcdsp_init_neon().

void ff_hevc_transform_add_8x8_neon_8 ( uint8_t _dst,
int16_t *  coeffs,
ptrdiff_t  stride 
)

Referenced by hevcdsp_init_neon().

void ff_hevc_transform_add_16x16_neon_8 ( uint8_t _dst,
int16_t *  coeffs,
ptrdiff_t  stride 
)

Referenced by hevcdsp_init_neon().

void ff_hevc_transform_add_32x32_neon_8 ( uint8_t _dst,
int16_t *  coeffs,
ptrdiff_t  stride 
)

Referenced by hevcdsp_init_neon().

PUT_PIXELS ( ff_hevc_put_pixels_w2_neon_8  )
PUT_PIXELS ( ff_hevc_put_pixels_w4_neon_8  )
PUT_PIXELS ( ff_hevc_put_pixels_w6_neon_8  )
PUT_PIXELS ( ff_hevc_put_pixels_w8_neon_8  )
PUT_PIXELS ( ff_hevc_put_pixels_w12_neon_8  )
PUT_PIXELS ( ff_hevc_put_pixels_w16_neon_8  )
PUT_PIXELS ( ff_hevc_put_pixels_w24_neon_8  )
PUT_PIXELS ( ff_hevc_put_pixels_w32_neon_8  )
PUT_PIXELS ( ff_hevc_put_pixels_w48_neon_8  )
PUT_PIXELS ( ff_hevc_put_pixels_w64_neon_8  )
void ff_hevc_put_qpel_neon_wrapper ( int16_t *  dst,
uint8_t src,
ptrdiff_t  srcstride,
int  height,
intptr_t  mx,
intptr_t  my,
int  width 
)

Definition at line 126 of file hevcdsp_init_neon.c.

Referenced by hevcdsp_init_neon().

void ff_hevc_put_qpel_uni_neon_wrapper ( uint8_t dst,
ptrdiff_t  dststride,
uint8_t src,
ptrdiff_t  srcstride,
int  height,
intptr_t  mx,
intptr_t  my,
int  width 
)

Definition at line 132 of file hevcdsp_init_neon.c.

Referenced by hevcdsp_init_neon().

void ff_hevc_put_qpel_bi_neon_wrapper ( uint8_t dst,
ptrdiff_t  dststride,
uint8_t src,
ptrdiff_t  srcstride,
int16_t *  src2,
int  height,
intptr_t  mx,
intptr_t  my,
int  width 
)

Definition at line 138 of file hevcdsp_init_neon.c.

Referenced by hevcdsp_init_neon().

QPEL_FUNC ( ff_hevc_put_qpel_v1_neon_8  )
QPEL_FUNC ( ff_hevc_put_qpel_v2_neon_8  )
QPEL_FUNC ( ff_hevc_put_qpel_v3_neon_8  )
QPEL_FUNC ( ff_hevc_put_qpel_h1_neon_8  )
QPEL_FUNC ( ff_hevc_put_qpel_h2_neon_8  )
QPEL_FUNC ( ff_hevc_put_qpel_h3_neon_8  )
QPEL_FUNC ( ff_hevc_put_qpel_h1v1_neon_8  )
QPEL_FUNC ( ff_hevc_put_qpel_h1v2_neon_8  )
QPEL_FUNC ( ff_hevc_put_qpel_h1v3_neon_8  )
QPEL_FUNC ( ff_hevc_put_qpel_h2v1_neon_8  )
QPEL_FUNC ( ff_hevc_put_qpel_h2v2_neon_8  )
QPEL_FUNC ( ff_hevc_put_qpel_h2v3_neon_8  )
QPEL_FUNC ( ff_hevc_put_qpel_h3v1_neon_8  )
QPEL_FUNC ( ff_hevc_put_qpel_h3v2_neon_8  )
QPEL_FUNC ( ff_hevc_put_qpel_h3v3_neon_8  )
QPEL_FUNC_UW_PIX ( ff_hevc_put_qpel_uw_pixels_w4_neon_8  )
QPEL_FUNC_UW_PIX ( ff_hevc_put_qpel_uw_pixels_w8_neon_8  )
QPEL_FUNC_UW_PIX ( ff_hevc_put_qpel_uw_pixels_w16_neon_8  )
QPEL_FUNC_UW_PIX ( ff_hevc_put_qpel_uw_pixels_w24_neon_8  )
QPEL_FUNC_UW_PIX ( ff_hevc_put_qpel_uw_pixels_w32_neon_8  )
QPEL_FUNC_UW_PIX ( ff_hevc_put_qpel_uw_pixels_w48_neon_8  )
QPEL_FUNC_UW_PIX ( ff_hevc_put_qpel_uw_pixels_w64_neon_8  )
QPEL_FUNC_UW ( ff_hevc_put_qpel_uw_pixels_neon_8  )
QPEL_FUNC_UW ( ff_hevc_put_qpel_uw_v1_neon_8  )
QPEL_FUNC_UW ( ff_hevc_put_qpel_uw_v2_neon_8  )
QPEL_FUNC_UW ( ff_hevc_put_qpel_uw_v3_neon_8  )
QPEL_FUNC_UW ( ff_hevc_put_qpel_uw_h1_neon_8  )
QPEL_FUNC_UW ( ff_hevc_put_qpel_uw_h2_neon_8  )
QPEL_FUNC_UW ( ff_hevc_put_qpel_uw_h3_neon_8  )
QPEL_FUNC_UW ( ff_hevc_put_qpel_uw_h1v1_neon_8  )
QPEL_FUNC_UW ( ff_hevc_put_qpel_uw_h1v2_neon_8  )
QPEL_FUNC_UW ( ff_hevc_put_qpel_uw_h1v3_neon_8  )
QPEL_FUNC_UW ( ff_hevc_put_qpel_uw_h2v1_neon_8  )
QPEL_FUNC_UW ( ff_hevc_put_qpel_uw_h2v2_neon_8  )
QPEL_FUNC_UW ( ff_hevc_put_qpel_uw_h2v3_neon_8  )
QPEL_FUNC_UW ( ff_hevc_put_qpel_uw_h3v1_neon_8  )
QPEL_FUNC_UW ( ff_hevc_put_qpel_uw_h3v2_neon_8  )
QPEL_FUNC_UW ( ff_hevc_put_qpel_uw_h3v3_neon_8  )
static av_cold void hevcdsp_init_neon ( HEVCDSPContext c,
const int  bit_depth 
)
static

Definition at line 144 of file hevcdsp_init_neon.c.

Referenced by ff_hevcdsp_init_arm().

void ff_hevcdsp_init_arm ( HEVCDSPContext c,
const int  bit_depth 
)

Definition at line 227 of file hevcdsp_init_neon.c.

Referenced by ff_hevc_dsp_init().

Variable Documentation

void(* put_hevc_qpel_neon[4][4])(int16_t *dst, ptrdiff_t dststride, uint8_t *src, ptrdiff_t srcstride, int height, int width)
static

Definition at line 61 of file hevcdsp_init_neon.c.

Referenced by ff_hevc_put_qpel_neon_wrapper(), and hevcdsp_init_neon().

void(* put_hevc_qpel_uw_neon[4][4])(uint8_t *dst, ptrdiff_t dststride, uint8_t *_src, ptrdiff_t _srcstride, int width, int height, int16_t *src2, ptrdiff_t src2stride)
static