25 #ifndef AVCODEC_HEVCDSP_H 26 #define AVCODEC_HEVCDSP_H 30 #define MAX_PB_SIZE 64 62 int16_t *sao_offset_val,
int sao_left_class,
int width,
int height);
66 int16_t *sao_offset_val,
int sao_eo_class,
int width,
int height);
68 void (*sao_edge_restore[2])(
uint8_t *_dst,
uint8_t *_src, ptrdiff_t _stride_dst, ptrdiff_t _stride_src,
69 struct SAOParams *sao,
int *borders,
int _width,
int _height,
int c_idx,
72 void (*put_hevc_qpel[10][2][2])(int16_t *dst,
uint8_t *
src, ptrdiff_t srcstride,
76 void (*put_hevc_qpel_uni_w[10][2][2])(
uint8_t *_dst, ptrdiff_t _dststride,
uint8_t *_src, ptrdiff_t _srcstride,
77 int height,
int denom,
int wx,
int ox, intptr_t mx, intptr_t my,
int width);
79 void (*put_hevc_qpel_bi[10][2][2])(
uint8_t *dst, ptrdiff_t dststride,
uint8_t *_src, ptrdiff_t _srcstride,
82 void (*put_hevc_qpel_bi_w[10][2][2])(
uint8_t *dst, ptrdiff_t dststride,
uint8_t *_src, ptrdiff_t _srcstride,
84 int height,
int denom,
int wx0,
int wx1,
85 int ox0,
int ox1, intptr_t mx, intptr_t my,
int width);
86 void (*put_hevc_epel[10][2][2])(int16_t *dst,
uint8_t *
src, ptrdiff_t srcstride,
89 void (*put_hevc_epel_uni[10][2][2])(
uint8_t *dst, ptrdiff_t dststride,
uint8_t *_src, ptrdiff_t _srcstride,
91 void (*put_hevc_epel_uni_w[10][2][2])(
uint8_t *_dst, ptrdiff_t _dststride,
uint8_t *_src, ptrdiff_t _srcstride,
92 int height,
int denom,
int wx,
int ox, intptr_t mx, intptr_t my,
int width);
93 void (*put_hevc_epel_bi[10][2][2])(
uint8_t *dst, ptrdiff_t dststride,
uint8_t *_src, ptrdiff_t _srcstride,
96 void (*put_hevc_epel_bi_w[10][2][2])(
uint8_t *dst, ptrdiff_t dststride,
uint8_t *_src, ptrdiff_t _srcstride,
98 int height,
int denom,
int wx0,
int ox0,
int wx1,
99 int ox1, intptr_t mx, intptr_t my,
int width);
static void idct(int16_t block[64])
const int8_t ff_hevc_qpel_filters[3][16]
static av_always_inline void FUNC() add_residual(uint8_t *_dst, int16_t *res, ptrdiff_t stride, int size)
void ff_hevc_dsp_init_ppc(HEVCDSPContext *c, const int bit_depth)
static int dequant(AVSContext *h, int16_t *level_buf, uint8_t *run_buf, int16_t *dst, int mul, int shift, int coeff_num)
static void FUNC() hevc_h_loop_filter_luma(uint8_t *pix, ptrdiff_t stride, int beta, int32_t *tc, uint8_t *no_p, uint8_t *no_q)
bitstream reader API header.
void ff_hevc_dsp_init(HEVCDSPContext *hpc, int bit_depth)
const int8_t ff_hevc_epel_filters[7][4]
int eo_class[3]
sao_eo_class
static void FUNC() sao_band_filter(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)
uint8_t type_idx[3]
sao_type_idx
int offset_abs[3][4]
sao_offset_abs
static void bit_depth(AudioStatsContext *s, uint64_t mask, uint64_t imask, AVRational *depth)
static void FUNC() hevc_v_loop_filter_luma(uint8_t *pix, ptrdiff_t stride, int beta, int32_t *tc, uint8_t *no_p, uint8_t *no_q)
void ff_hevc_dsp_init_mips(HEVCDSPContext *c, const int bit_depth)
void ff_hevc_dsp_init_arm(HEVCDSPContext *c, const int bit_depth)
void ff_hevc_dsp_init_x86(HEVCDSPContext *c, const int bit_depth)
typedef void(RENAME(mix_any_func_type))
static void FUNC() hevc_h_loop_filter_chroma(uint8_t *pix, ptrdiff_t stride, int32_t *tc, uint8_t *no_p, uint8_t *no_q)
static void FUNC() put_pcm(uint8_t *_dst, ptrdiff_t stride, int width, int height, GetBitContext *gb, int pcm_bit_depth)
static void FUNC() transform_rdpcm(int16_t *_coeffs, int16_t log2_size, int mode)
static void FUNC() hevc_v_loop_filter_chroma(uint8_t *pix, ptrdiff_t stride, int32_t *tc, uint8_t *no_p, uint8_t *no_q)
int16_t offset_val[3][5]
SaoOffsetVal.
uint8_t band_position[3]
sao_band_position
static const int16_t coeffs[]
static void FUNC() sao_edge_filter(uint8_t *_dst, uint8_t *_src, ptrdiff_t stride_dst, int16_t *sao_offset_val, int eo, int width, int height)
static void FUNC() transform_4x4_luma(int16_t *coeffs)
mode
Use these values in ebur128_init (or'ed).
int offset_sign[3][4]
sao_offset_sign