FFmpeg
|
#include "libavutil/attributes.h"
#include "libavutil/arm/cpu.h"
#include "libavcodec/hevcdsp.h"
#include "libavcodec/avcodec.h"
#include "hevcdsp_arm.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_sao_band_filter_neon_8_wrapper (uint8_t *_dst, uint8_t *_src, ptrdiff_t stride_dst, ptrdiff_t stride_src, int16_t *sao_offset_val, int sao_left_class, int width, int height) |
void | ff_hevc_sao_edge_filter_neon_8_wrapper (uint8_t *_dst, uint8_t *_src, ptrdiff_t stride_dst, int16_t *sao_offset_val, int eo, int width, int height) |
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_add_residual_4x4_8_neon (uint8_t *_dst, int16_t *coeffs, ptrdiff_t stride) |
void | ff_hevc_add_residual_4x4_10_neon (uint8_t *_dst, int16_t *coeffs, ptrdiff_t stride) |
void | ff_hevc_add_residual_8x8_8_neon (uint8_t *_dst, int16_t *coeffs, ptrdiff_t stride) |
void | ff_hevc_add_residual_8x8_10_neon (uint8_t *_dst, int16_t *coeffs, ptrdiff_t stride) |
void | ff_hevc_add_residual_16x16_8_neon (uint8_t *_dst, int16_t *coeffs, ptrdiff_t stride) |
void | ff_hevc_add_residual_16x16_10_neon (uint8_t *_dst, int16_t *coeffs, ptrdiff_t stride) |
void | ff_hevc_add_residual_32x32_8_neon (uint8_t *_dst, int16_t *coeffs, ptrdiff_t stride) |
void | ff_hevc_add_residual_32x32_10_neon (uint8_t *_dst, int16_t *coeffs, ptrdiff_t stride) |
void | ff_hevc_idct_4x4_dc_8_neon (int16_t *coeffs) |
void | ff_hevc_idct_8x8_dc_8_neon (int16_t *coeffs) |
void | ff_hevc_idct_16x16_dc_8_neon (int16_t *coeffs) |
void | ff_hevc_idct_32x32_dc_8_neon (int16_t *coeffs) |
void | ff_hevc_idct_4x4_dc_10_neon (int16_t *coeffs) |
void | ff_hevc_idct_8x8_dc_10_neon (int16_t *coeffs) |
void | ff_hevc_idct_16x16_dc_10_neon (int16_t *coeffs) |
void | ff_hevc_idct_32x32_dc_10_neon (int16_t *coeffs) |
void | ff_hevc_idct_4x4_8_neon (int16_t *coeffs, int col_limit) |
void | ff_hevc_idct_8x8_8_neon (int16_t *coeffs, int col_limit) |
void | ff_hevc_idct_16x16_8_neon (int16_t *coeffs, int col_limit) |
void | ff_hevc_idct_32x32_8_neon (int16_t *coeffs, int col_limit) |
void | ff_hevc_idct_4x4_10_neon (int16_t *coeffs, int col_limit) |
void | ff_hevc_idct_8x8_10_neon (int16_t *coeffs, int col_limit) |
void | ff_hevc_idct_16x16_10_neon (int16_t *coeffs, int col_limit) |
void | ff_hevc_idct_32x32_10_neon (int16_t *coeffs, int col_limit) |
void | ff_hevc_transform_luma_4x4_neon_8 (int16_t *coeffs) |
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) | |
void | ff_hevc_sao_band_filter_neon_8 (uint8_t *dst, uint8_t *src, ptrdiff_t stride_dst, ptrdiff_t stride_src, int width, int height, int16_t *offset_table) |
void | ff_hevc_sao_edge_filter_neon_8 (uint8_t *dst, uint8_t *src, ptrdiff_t stride_dst, ptrdiff_t stride_src, int width, int height, int a_stride, int b_stride, int16_t *sao_offset_val, uint8_t *edge_idx) |
av_cold void | ff_hevc_dsp_init_neon (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) |
#define PUT_PIXELS | ( | name | ) |
Definition at line 72 of file hevcdsp_init_neon.c.
#define QPEL_FUNC | ( | name | ) |
Definition at line 99 of file hevcdsp_init_neon.c.
#define QPEL_FUNC_UW_PIX | ( | name | ) |
Definition at line 120 of file hevcdsp_init_neon.c.
#define QPEL_FUNC_UW | ( | name | ) |
Definition at line 132 of file hevcdsp_init_neon.c.
void ff_hevc_sao_band_filter_neon_8_wrapper | ( | uint8_t * | _dst, |
uint8_t * | _src, | ||
ptrdiff_t | stride_dst, | ||
ptrdiff_t | stride_src, | ||
int16_t * | sao_offset_val, | ||
int | sao_left_class, | ||
int | width, | ||
int | height | ||
) |
Definition at line 155 of file hevcdsp_init_neon.c.
Referenced by ff_hevc_dsp_init_neon().
void ff_hevc_sao_edge_filter_neon_8_wrapper | ( | uint8_t * | _dst, |
uint8_t * | _src, | ||
ptrdiff_t | stride_dst, | ||
int16_t * | sao_offset_val, | ||
int | eo, | ||
int | width, | ||
int | height | ||
) |
Definition at line 174 of file hevcdsp_init_neon.c.
Referenced by ff_hevc_dsp_init_neon().
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 ff_hevc_dsp_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 ff_hevc_dsp_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 ff_hevc_dsp_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 ff_hevc_dsp_init_neon().
Referenced by ff_hevc_dsp_init_neon().
Referenced by ff_hevc_dsp_init_neon().
Referenced by ff_hevc_dsp_init_neon().
Referenced by ff_hevc_dsp_init_neon().
Referenced by ff_hevc_dsp_init_neon().
Referenced by ff_hevc_dsp_init_neon().
Referenced by ff_hevc_dsp_init_neon().
Referenced by ff_hevc_dsp_init_neon().
void ff_hevc_idct_4x4_dc_8_neon | ( | int16_t * | coeffs | ) |
Referenced by ff_hevc_dsp_init_neon().
void ff_hevc_idct_8x8_dc_8_neon | ( | int16_t * | coeffs | ) |
Referenced by ff_hevc_dsp_init_neon().
void ff_hevc_idct_16x16_dc_8_neon | ( | int16_t * | coeffs | ) |
Referenced by ff_hevc_dsp_init_neon().
void ff_hevc_idct_32x32_dc_8_neon | ( | int16_t * | coeffs | ) |
Referenced by ff_hevc_dsp_init_neon().
void ff_hevc_idct_4x4_dc_10_neon | ( | int16_t * | coeffs | ) |
Referenced by ff_hevc_dsp_init_neon().
void ff_hevc_idct_8x8_dc_10_neon | ( | int16_t * | coeffs | ) |
Referenced by ff_hevc_dsp_init_neon().
void ff_hevc_idct_16x16_dc_10_neon | ( | int16_t * | coeffs | ) |
Referenced by ff_hevc_dsp_init_neon().
void ff_hevc_idct_32x32_dc_10_neon | ( | int16_t * | coeffs | ) |
Referenced by ff_hevc_dsp_init_neon().
Referenced by ff_hevc_dsp_init_neon().
Referenced by ff_hevc_dsp_init_neon().
Referenced by ff_hevc_dsp_init_neon().
Referenced by ff_hevc_dsp_init_neon().
Referenced by ff_hevc_dsp_init_neon().
Referenced by ff_hevc_dsp_init_neon().
Referenced by ff_hevc_dsp_init_neon().
Referenced by ff_hevc_dsp_init_neon().
void ff_hevc_transform_luma_4x4_neon_8 | ( | int16_t * | coeffs | ) |
Referenced by ff_hevc_dsp_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 194 of file hevcdsp_init_neon.c.
Referenced by ff_hevc_dsp_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 200 of file hevcdsp_init_neon.c.
Referenced by ff_hevc_dsp_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 206 of file hevcdsp_init_neon.c.
Referenced by ff_hevc_dsp_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 | ) |
void ff_hevc_sao_band_filter_neon_8 | ( | uint8_t * | dst, |
uint8_t * | src, | ||
ptrdiff_t | stride_dst, | ||
ptrdiff_t | stride_src, | ||
int | width, | ||
int | height, | ||
int16_t * | offset_table | ||
) |
Referenced by ff_hevc_sao_band_filter_neon_8_wrapper().
void ff_hevc_sao_edge_filter_neon_8 | ( | uint8_t * | dst, |
uint8_t * | src, | ||
ptrdiff_t | stride_dst, | ||
ptrdiff_t | stride_src, | ||
int | width, | ||
int | height, | ||
int | a_stride, | ||
int | b_stride, | ||
int16_t * | sao_offset_val, | ||
uint8_t * | edge_idx | ||
) |
Referenced by ff_hevc_sao_edge_filter_neon_8_wrapper().
av_cold void ff_hevc_dsp_init_neon | ( | HEVCDSPContext * | c, |
const int | bit_depth | ||
) |
Definition at line 212 of file hevcdsp_init_neon.c.
Referenced by ff_hevc_dsp_init_arm().
|
static |
Definition at line 88 of file hevcdsp_init_neon.c.
Referenced by ff_hevc_dsp_init_neon(), and ff_hevc_put_qpel_neon_wrapper().
|
static |
Definition at line 90 of file hevcdsp_init_neon.c.
Referenced by ff_hevc_dsp_init_neon(), ff_hevc_put_qpel_bi_neon_wrapper(), and ff_hevc_put_qpel_uni_neon_wrapper().