1#ifndef STRATEGIES_IPOL_H_
2#define STRATEGIES_IPOL_H_
51#define KVZ_IPOL_MAX_INPUT_SIZE_LUMA_SIMD ((KVZ_EXT_BLOCK_W_LUMA + 1) * KVZ_EXT_BLOCK_W_LUMA + 1)
52#define KVZ_IPOL_MAX_INPUT_SIZE_CHROMA_SIMD ((KVZ_EXT_BLOCK_W_CHROMA + 3) * KVZ_EXT_BLOCK_W_CHROMA + 1)
53#define KVZ_IPOL_MAX_IM_SIZE_LUMA_SIMD ((KVZ_EXT_BLOCK_W_LUMA + 1) * LCU_WIDTH)
54#define KVZ_IPOL_MAX_IM_SIZE_CHROMA_SIMD ((KVZ_EXT_BLOCK_W_CHROMA + 3) * LCU_WIDTH_C)
60#define KVZ_FME_MAX_INPUT_SIZE_SIMD ((KVZ_EXT_BLOCK_W_LUMA + 1) * (KVZ_EXT_BLOCK_W_LUMA + 1))
66 int8_t sample_off_x, int8_t sample_off_y);
113 const int16_t mv[2]);
124 const int16_t mv[2]);
141#define STRATEGIES_IPOL_EXPORTS \
142 {"filter_hpel_blocks_hor_ver_luma", (void**) &kvz_filter_hpel_blocks_hor_ver_luma}, \
143 {"filter_hpel_blocks_diag_luma", (void**) &kvz_filter_hpel_blocks_diag_luma}, \
144 {"filter_qpel_blocks_hor_ver_luma", (void**) &kvz_filter_qpel_blocks_hor_ver_luma}, \
145 {"filter_qpel_blocks_diag_luma", (void**) &kvz_filter_qpel_blocks_diag_luma}, \
146 {"sample_quarterpel_luma", (void**) &kvz_sample_quarterpel_luma}, \
147 {"sample_octpel_chroma", (void**) &kvz_sample_octpel_chroma}, \
148 {"sample_quarterpel_luma_hi", (void**) &kvz_sample_quarterpel_luma_hi}, \
149 {"sample_octpel_chroma_hi", (void**) &kvz_sample_octpel_chroma_hi}, \
150 {"get_extended_block", (void**) &kvz_get_extended_block}, \
Initialization of encoder_control_t.
Header that is included in every other header.
#define LCU_LUMA_SIZE
Definition: global.h:168
This file defines the public API of Kvazaar when used as a library.
uint8_t kvz_pixel
Definition: kvazaar.h:95
Inter prediction parameter search.
#define KVZ_EXT_BLOCK_W_LUMA
Definition: search_inter.h:58
void() kvz_sample_octpel_chroma_func(const encoder_control_t *const encoder, kvz_pixel *src, int16_t src_stride, int width, int height, kvz_pixel *dst, int16_t dst_stride, int8_t hor_flag, int8_t ver_flag, const int16_t mv[2])
Definition: strategies-ipol.h:99
ipol_blocks_func * kvz_filter_qpel_blocks_diag_luma
Definition: strategies-ipol.c:44
ipol_blocks_func * kvz_filter_hpel_blocks_hor_ver_luma
Definition: strategies-ipol.c:41
void() kvz_sample_14bit_octpel_chroma_func(const encoder_control_t *const encoder, kvz_pixel *src, int16_t src_stride, int width, int height, int16_t *dst, int16_t dst_stride, int8_t hor_flag, int8_t ver_flag, const int16_t mv[2])
Definition: strategies-ipol.h:115
kvz_sample_quarterpel_luma_func * kvz_sample_quarterpel_luma
Definition: strategies-ipol.c:46
ipol_blocks_func * kvz_filter_qpel_blocks_hor_ver_luma
Definition: strategies-ipol.c:43
epol_func * kvz_get_extended_block
Definition: strategies-ipol.c:45
void() kvz_sample_quarterpel_luma_hi_func(const encoder_control_t *const encoder, kvz_pixel *src, int16_t src_stride, int width, int height, int16_t *dst, int16_t dst_stride, int8_t hor_flag, int8_t ver_flag, const int16_t mv[2])
Definition: strategies-ipol.h:101
void() ipol_blocks_func(const encoder_control_t *encoder, kvz_pixel *src, int16_t src_stride, int width, int height, kvz_pixel filtered[4][LCU_LUMA_SIZE], int16_t hor_intermediate[5][((KVZ_EXT_BLOCK_W_LUMA+1) *LCU_WIDTH)], int8_t fme_level, int16_t hor_first_cols[5][KVZ_EXT_BLOCK_W_LUMA+1], int8_t sample_off_x, int8_t sample_off_y)
Definition: strategies-ipol.h:64
kvz_sample_quarterpel_luma_hi_func * kvz_sample_quarterpel_luma_hi
Definition: strategies-ipol.c:48
kvz_sample_octpel_chroma_hi_func * kvz_sample_octpel_chroma_hi
Definition: strategies-ipol.c:49
ipol_blocks_func * kvz_filter_hpel_blocks_diag_luma
Definition: strategies-ipol.c:42
void() kvz_sample_14bit_quarterpel_luma_func(const encoder_control_t *const encoder, kvz_pixel *src, int16_t src_stride, int width, int height, int16_t *dst, int16_t dst_stride, int8_t hor_flag, int8_t ver_flag, const int16_t mv[2])
Definition: strategies-ipol.h:104
void() epol_func(kvz_epol_args *args)
Definition: strategies-ipol.h:95
#define KVZ_IPOL_MAX_IM_SIZE_LUMA_SIMD
Definition: strategies-ipol.h:53
int kvz_strategy_register_ipol(void *opaque, uint8_t bitdepth)
Definition: strategies-ipol.c:52
kvz_sample_octpel_chroma_func * kvz_sample_octpel_chroma
Definition: strategies-ipol.c:47
void() kvz_sample_quarterpel_luma_func(const encoder_control_t *const encoder, kvz_pixel *src, int16_t src_stride, int width, int height, kvz_pixel *dst, int16_t dst_stride, int8_t hor_flag, int8_t ver_flag, const int16_t mv[2])
Definition: strategies-ipol.h:98
void() kvz_sample_octpel_chroma_hi_func(const encoder_control_t *const encoder, kvz_pixel *src, int16_t src_stride, int width, int height, int16_t *dst, int16_t dst_stride, int8_t hor_flag, int8_t ver_flag, const int16_t mv[2])
Definition: strategies-ipol.h:102
Definition: strategies-ipol.h:68
kvz_pixel * buf
Definition: strategies-ipol.h:87
int src_s
Definition: strategies-ipol.h:73
kvz_pixel ** ext
Definition: strategies-ipol.h:90
int * ext_s
Definition: strategies-ipol.h:92
int blk_y
Definition: strategies-ipol.h:77
int pad_r
Definition: strategies-ipol.h:81
kvz_pixel * src
Definition: strategies-ipol.h:70
int pad_t
Definition: strategies-ipol.h:82
int blk_x
Definition: strategies-ipol.h:76
int pad_l
Definition: strategies-ipol.h:80
kvz_pixel ** ext_origin
Definition: strategies-ipol.h:91
int pad_b
Definition: strategies-ipol.h:83
int blk_w
Definition: strategies-ipol.h:78
int src_w
Definition: strategies-ipol.h:71
int blk_h
Definition: strategies-ipol.h:79
int src_h
Definition: strategies-ipol.h:72
int pad_b_simd
Definition: strategies-ipol.h:84
Definition: strategies-ipol.h:62
kvz_pixel * buffer
Definition: strategies-ipol.h:62