31
31
#include "dsputil.h"
33
33
//typedef void (*h264_chroma_mc_func)(uint8_t *dst/*align 8*/, uint8_t *src/*align 1*/, int srcStride, int h, int x, int y);
34
typedef void (*h264_weight_func)(uint8_t *block, int stride, int log2_denom, int weight, int offset);
35
typedef void (*h264_biweight_func)(uint8_t *dst, uint8_t *src, int stride, int log2_denom, int weightd, int weights, int offset);
34
typedef void (*h264_weight_func)(uint8_t *block, int stride, int height,
35
int log2_denom, int weight, int offset);
36
typedef void (*h264_biweight_func)(uint8_t *dst, uint8_t *src, int stride, int height,
37
int log2_denom, int weightd, int weights, int offset);
38
40
* Context for storing H.264 DSP functions
40
42
typedef struct H264DSPContext{
42
h264_weight_func weight_h264_pixels_tab[10];
43
h264_biweight_func biweight_h264_pixels_tab[10];
44
h264_weight_func weight_h264_pixels_tab[4];
45
h264_biweight_func biweight_h264_pixels_tab[4];
46
48
void (*h264_v_loop_filter_luma)(uint8_t *pix/*align 16*/, int stride, int alpha, int beta, int8_t *tc0);
74
76
void (*h264_chroma_dc_dequant_idct)(DCTELEM *block, int qmul);
77
void ff_h264dsp_init(H264DSPContext *c, const int bit_depth);
78
void ff_h264dsp_init_arm(H264DSPContext *c, const int bit_depth);
79
void ff_h264dsp_init_ppc(H264DSPContext *c, const int bit_depth);
80
void ff_h264dsp_init_x86(H264DSPContext *c, const int bit_depth);
79
void ff_h264dsp_init(H264DSPContext *c, const int bit_depth, const int chroma_format_idc);
80
void ff_h264dsp_init_arm(H264DSPContext *c, const int bit_depth, const int chroma_format_idc);
81
void ff_h264dsp_init_ppc(H264DSPContext *c, const int bit_depth, const int chroma_format_idc);
82
void ff_h264dsp_init_x86(H264DSPContext *c, const int bit_depth, const int chroma_format_idc);
82
84
#endif /* AVCODEC_H264DSP_H */