DSPContext Struct Reference

DSPContext. More...

#include <dsputil.h>

Data Fields

void(* get_pixels )(DCTELEM *block, const uint8_t *pixels, int line_size)
void(* diff_pixels )(DCTELEM *block, const uint8_t *s1, const uint8_t *s2, int stride)
void(* put_pixels_clamped )(const DCTELEM *block, uint8_t *pixels, int line_size)
void(* put_signed_pixels_clamped )(const DCTELEM *block, uint8_t *pixels, int line_size)
void(* add_pixels_clamped )(const DCTELEM *block, uint8_t *pixels, int line_size)
void(* add_pixels8 )(uint8_t *pixels, DCTELEM *block, int line_size)
void(* add_pixels4 )(uint8_t *pixels, DCTELEM *block, int line_size)
int(* sum_abs_dctelem )(DCTELEM *block)
void(* gmc1 )(uint8_t *dst, uint8_t *src, int srcStride, int h, int x16, int y16, int rounder)
 translational global motion compensation.
void(* gmc )(uint8_t *dst, uint8_t *src, int stride, int h, int ox, int oy, int dxx, int dxy, int dyx, int dyy, int shift, int r, int width, int height)
 global motion compensation.
void(* clear_block )(DCTELEM *block)
void(* clear_blocks )(DCTELEM *blocks)
int(* pix_sum )(uint8_t *pix, int line_size)
int(* pix_norm1 )(uint8_t *pix, int line_size)
me_cmp_func sad [6]
me_cmp_func sse [6]
me_cmp_func hadamard8_diff [6]
me_cmp_func dct_sad [6]
me_cmp_func quant_psnr [6]
me_cmp_func bit [6]
me_cmp_func rd [6]
me_cmp_func vsad [6]
me_cmp_func vsse [6]
me_cmp_func nsse [6]
me_cmp_func w53 [6]
me_cmp_func w97 [6]
me_cmp_func dct_max [6]
me_cmp_func dct264_sad [6]
me_cmp_func me_pre_cmp [6]
me_cmp_func me_cmp [6]
me_cmp_func me_sub_cmp [6]
me_cmp_func mb_cmp [6]
me_cmp_func ildct_cmp [6]
me_cmp_func frame_skip_cmp [6]
int(* ssd_int8_vs_int16 )(const int8_t *pix1, const int16_t *pix2, int size)
op_pixels_func put_pixels_tab [4][4]
 Halfpel motion compensation with rounding (a+b+1)>>1.
op_pixels_func avg_pixels_tab [4][4]
 Halfpel motion compensation with rounding (a+b+1)>>1.
op_pixels_func put_no_rnd_pixels_tab [4][4]
 Halfpel motion compensation with no rounding (a+b)>>1.
op_pixels_func avg_no_rnd_pixels_tab [4][4]
 Halfpel motion compensation with no rounding (a+b)>>1.
void(* put_no_rnd_pixels_l2 [2])(uint8_t *block, const uint8_t *a, const uint8_t *b, int line_size, int h)
tpel_mc_func put_tpel_pixels_tab [11]
 Thirdpel motion compensation with rounding (a+b+1)>>1.
tpel_mc_func avg_tpel_pixels_tab [11]
qpel_mc_func put_qpel_pixels_tab [2][16]
qpel_mc_func avg_qpel_pixels_tab [2][16]
qpel_mc_func put_no_rnd_qpel_pixels_tab [2][16]
qpel_mc_func avg_no_rnd_qpel_pixels_tab [2][16]
qpel_mc_func put_mspel_pixels_tab [8]
h264_chroma_mc_func put_h264_chroma_pixels_tab [3]
 h264 Chroma MC
h264_chroma_mc_func put_no_rnd_h264_chroma_pixels_tab [3]
h264_chroma_mc_func avg_h264_chroma_pixels_tab [3]
qpel_mc_func put_h264_qpel_pixels_tab [4][16]
qpel_mc_func avg_h264_qpel_pixels_tab [4][16]
qpel_mc_func put_2tap_qpel_pixels_tab [4][16]
qpel_mc_func avg_2tap_qpel_pixels_tab [4][16]
h264_weight_func weight_h264_pixels_tab [10]
h264_biweight_func biweight_h264_pixels_tab [10]
qpel_mc_func put_cavs_qpel_pixels_tab [2][16]
qpel_mc_func avg_cavs_qpel_pixels_tab [2][16]
void(* cavs_filter_lv )(uint8_t *pix, int stride, int alpha, int beta, int tc, int bs1, int bs2)
void(* cavs_filter_lh )(uint8_t *pix, int stride, int alpha, int beta, int tc, int bs1, int bs2)
void(* cavs_filter_cv )(uint8_t *pix, int stride, int alpha, int beta, int tc, int bs1, int bs2)
void(* cavs_filter_ch )(uint8_t *pix, int stride, int alpha, int beta, int tc, int bs1, int bs2)
void(* cavs_idct8_add )(uint8_t *dst, DCTELEM *block, int stride)
me_cmp_func pix_abs [2][4]
void(* add_bytes )(uint8_t *dst, uint8_t *src, int w)
void(* add_bytes_l2 )(uint8_t *dst, uint8_t *src1, uint8_t *src2, int w)
void(* diff_bytes )(uint8_t *dst, uint8_t *src1, uint8_t *src2, int w)
void(* sub_hfyu_median_prediction )(uint8_t *dst, uint8_t *src1, uint8_t *src2, int w, int *left, int *left_top)
 subtract huffyuv's variant of median prediction note, this might read from src1[-1], src2[-1]
void(* add_hfyu_median_prediction )(uint8_t *dst, uint8_t *top, uint8_t *diff, int w, int *left, int *left_top)
void(* add_png_paeth_prediction )(uint8_t *dst, uint8_t *src, uint8_t *top, int w, int bpp)
void(* bswap_buf )(uint32_t *dst, const uint32_t *src, int w)
void(* h264_v_loop_filter_luma )(uint8_t *pix, int stride, int alpha, int beta, int8_t *tc0)
void(* h264_h_loop_filter_luma )(uint8_t *pix, int stride, int alpha, int beta, int8_t *tc0)
void(* h264_v_loop_filter_luma_intra )(uint8_t *pix, int stride, int alpha, int beta)
void(* h264_h_loop_filter_luma_intra )(uint8_t *pix, int stride, int alpha, int beta)
void(* h264_v_loop_filter_chroma )(uint8_t *pix, int stride, int alpha, int beta, int8_t *tc0)
void(* h264_h_loop_filter_chroma )(uint8_t *pix, int stride, int alpha, int beta, int8_t *tc0)
void(* h264_v_loop_filter_chroma_intra )(uint8_t *pix, int stride, int alpha, int beta)
void(* h264_h_loop_filter_chroma_intra )(uint8_t *pix, int stride, int alpha, int beta)
void(* h264_loop_filter_strength )(int16_t bS[2][4][4], uint8_t nnz[40], int8_t ref[2][40], int16_t mv[2][40][2], int bidir, int edges, int step, int mask_mv0, int mask_mv1, int field)
void(* h263_v_loop_filter )(uint8_t *src, int stride, int qscale)
void(* h263_h_loop_filter )(uint8_t *src, int stride, int qscale)
void(* h261_loop_filter )(uint8_t *src, int stride)
void(* x8_v_loop_filter )(uint8_t *src, int stride, int qscale)
void(* x8_h_loop_filter )(uint8_t *src, int stride, int qscale)
void(* vp3_v_loop_filter )(uint8_t *src, int stride, int *bounding_values)
void(* vp3_h_loop_filter )(uint8_t *src, int stride, int *bounding_values)
void(* vp6_filter_diag4 )(uint8_t *dst, uint8_t *src, int stride, const int16_t *h_weights, const int16_t *v_weights)
void(* vorbis_inverse_coupling )(float *mag, float *ang, int blocksize)
void(* ac3_downmix )(float(*samples)[256], float(*matrix)[2], int out_ch, int in_ch, int len)
void(* flac_compute_autocorr )(const int32_t *data, int len, int lag, double *autoc)
void(* vector_fmul )(float *dst, const float *src, int len)
void(* vector_fmul_reverse )(float *dst, const float *src0, const float *src1, int len)
void(* vector_fmul_add_add )(float *dst, const float *src0, const float *src1, const float *src2, int src3, int len, int step)
void(* vector_fmul_window )(float *dst, const float *src0, const float *src1, const float *win, float add_bias, int len)
void(* int32_to_float_fmul_scalar )(float *dst, const int *src, float mul, int len)
void(* float_to_int16 )(int16_t *dst, const float *src, long len)
void(* float_to_int16_interleave )(int16_t *dst, const float **src, long len, int channels)
void(* fdct )(DCTELEM *block)
void(* fdct248 )(DCTELEM *block)
void(* idct )(DCTELEM *block)
void(* idct_put )(uint8_t *dest, int line_size, DCTELEM *block)
 block -> idct -> clip to unsigned 8 bit -> dest.
void(* idct_add )(uint8_t *dest, int line_size, DCTELEM *block)
 block -> idct -> add dest -> clip to unsigned 8 bit -> dest.
uint8_t idct_permutation [64]
 idct input permutation.
int idct_permutation_type
int(* try_8x8basis )(int16_t rem[64], int16_t weight[64], int16_t basis[64], int scale)
void(* add_8x8basis )(int16_t rem[64], int16_t basis[64], int scale)
void(* draw_edges )(uint8_t *buf, int wrap, int width, int height, int w)
void(* h264_idct_add )(uint8_t *dst, DCTELEM *block, int stride)
void(* h264_idct8_add )(uint8_t *dst, DCTELEM *block, int stride)
void(* h264_idct_dc_add )(uint8_t *dst, DCTELEM *block, int stride)
void(* h264_idct8_dc_add )(uint8_t *dst, DCTELEM *block, int stride)
void(* h264_dct )(DCTELEM block[4][4])
void(* h264_idct_add16 )(uint8_t *dst, const int *blockoffset, DCTELEM *block, int stride, const uint8_t nnzc[6 *8])
void(* h264_idct8_add4 )(uint8_t *dst, const int *blockoffset, DCTELEM *block, int stride, const uint8_t nnzc[6 *8])
void(* h264_idct_add8 )(uint8_t **dst, const int *blockoffset, DCTELEM *block, int stride, const uint8_t nnzc[6 *8])
void(* h264_idct_add16intra )(uint8_t *dst, const int *blockoffset, DCTELEM *block, int stride, const uint8_t nnzc[6 *8])
void(* vertical_compose97i )(IDWTELEM *b0, IDWTELEM *b1, IDWTELEM *b2, IDWTELEM *b3, IDWTELEM *b4, IDWTELEM *b5, int width)
void(* horizontal_compose97i )(IDWTELEM *b, int width)
void(* inner_add_yblock )(const uint8_t *obmc, const int obmc_stride, uint8_t **block, int b_w, int b_h, int src_x, int src_y, int src_stride, slice_buffer *sb, int add, uint8_t *dst8)
void(* prefetch )(void *mem, int stride, int h)
void(* shrink [4])(uint8_t *dst, int dst_wrap, const uint8_t *src, int src_wrap, int width, int height)
void(* vc1_inv_trans_8x8 )(DCTELEM *b)
void(* vc1_inv_trans_8x4 )(uint8_t *dest, int line_size, DCTELEM *block)
void(* vc1_inv_trans_4x8 )(uint8_t *dest, int line_size, DCTELEM *block)
void(* vc1_inv_trans_4x4 )(uint8_t *dest, int line_size, DCTELEM *block)
void(* vc1_v_overlap )(uint8_t *src, int stride)
void(* vc1_h_overlap )(uint8_t *src, int stride)
op_pixels_func put_vc1_mspel_pixels_tab [16]
void(* x8_spatial_compensation [12])(uint8_t *src, uint8_t *dst, int linesize)
void(* x8_setup_spatial_compensation )(uint8_t *src, uint8_t *dst, int linesize, int *range, int *sum, int edges)
void(* add_int16 )(int16_t *v1, int16_t *v2, int len)
 Add contents of the second vector to the first one.
void(* sub_int16 )(int16_t *v1, int16_t *v2, int len)
 Add contents of the second vector to the first one.
int32_t(* scalarproduct_int16 )(int16_t *v1, int16_t *v2, int len, int shift)
 Calculate scalar product of two vectors.
qpel_mc_func put_rv30_tpel_pixels_tab [4][16]
qpel_mc_func avg_rv30_tpel_pixels_tab [4][16]
qpel_mc_func put_rv40_qpel_pixels_tab [4][16]
qpel_mc_func avg_rv40_qpel_pixels_tab [4][16]
h264_chroma_mc_func put_rv40_chroma_pixels_tab [3]
h264_chroma_mc_func avg_rv40_chroma_pixels_tab [3]

Detailed Description

DSPContext.

Definition at line 196 of file dsputil.h.


Field Documentation

void(* DSPContext::ac3_downmix)(float(*samples)[256], float(*matrix)[2], int out_ch, int in_ch, int len)

Definition at line 386 of file dsputil.h.

Referenced by decode_audio_block(), dsputil_init(), and dsputil_init_mmx().

void(* DSPContext::add_8x8basis)(int16_t rem[64], int16_t basis[64], int scale)

Definition at line 446 of file dsputil.h.

Referenced by dct_quantize_refine(), dsputil_init(), and dsputilenc_init_mmx().

void(* DSPContext::add_bytes)(uint8_t *dst, uint8_t *src, int w)

Definition at line 344 of file dsputil.h.

Referenced by dsputil_init(), dsputil_init_altivec(), and dsputil_init_mmx().

void(* DSPContext::add_bytes_l2)(uint8_t *dst, uint8_t *src1, uint8_t *src2, int w)

Definition at line 345 of file dsputil.h.

Referenced by dsputil_init(), dsputil_init_mmx(), and png_filter_row().

void(* DSPContext::add_hfyu_median_prediction)(uint8_t *dst, uint8_t *top, uint8_t *diff, int w, int *left, int *left_top)

Definition at line 352 of file dsputil.h.

Referenced by dsputil_init(), and dsputil_init_mmx().

void(* DSPContext::add_int16)(int16_t *v1, int16_t *v2, int len)

Add contents of the second vector to the first one.

Parameters:
len length of vectors, should be multiple of 16

Definition at line 499 of file dsputil.h.

Referenced by do_apply_filter(), dsputil_init(), dsputil_init_mmx(), and int_init_altivec().

void(* DSPContext::add_pixels4)(uint8_t *pixels, DCTELEM *block, int line_size)

Definition at line 204 of file dsputil.h.

Referenced by dsputil_init(), and hl_decode_mb_internal().

void(* DSPContext::add_pixels8)(uint8_t *pixels, DCTELEM *block, int line_size)

Definition at line 203 of file dsputil.h.

Referenced by dsputil_init(), and hl_decode_mb_internal().

void(* DSPContext::add_pixels_clamped)(const DCTELEM *block, uint8_t *pixels, int line_size)
void(* DSPContext::add_png_paeth_prediction)(uint8_t *dst, uint8_t *src, uint8_t *top, int w, int bpp)

Definition at line 354 of file dsputil.h.

Referenced by dsputil_init(), dsputil_init_mmx(), and png_filter_row().

Definition at line 327 of file dsputil.h.

Referenced by decode_slice_header(), dsputil_init(), and ff_h263_decode_frame().

Definition at line 334 of file dsputil.h.

Referenced by ff_cavs_inter().

Definition at line 324 of file dsputil.h.

Referenced by decode_slice_header(), dsputil_init(), and ff_dsputil_init_neon().

Halfpel motion compensation with no rounding (a+b)>>1.

this is an array[2][4] of motion compensation functions for 2 horizontal blocksizes (8,16) and the 4 halfpel positions
*pixels_tab[ 0->16xH 1->8xH ][ xhalfpel + 2*yhalfpel ]

Parameters:
block destination into which the result is averaged (a+b)>>1
pixels source
line_size number of bytes in a horizontal line of block
h height

Definition at line 292 of file dsputil.h.

Referenced by dsputil_init_align(), dsputil_init_alpha(), dsputil_init_iwmmxt(), and dsputil_init_vis().

Definition at line 312 of file dsputil.h.

Halfpel motion compensation with rounding (a+b+1)>>1.

This is an array[4][4] of motion compensation functions for 4 horizontal blocksizes (8,16) and the 4 halfpel positions
*pixels_tab[ 0->16xH 1->8xH ][ xhalfpel + 2*yhalfpel ]

Parameters:
block destination into which the result is averaged (a+b+1)>>1
pixels source
line_size number of bytes in a horizontal line of block
h height

Definition at line 268 of file dsputil.h.

Referenced by check_bidir_mv(), dsputil_init_align(), dsputil_init_alpha(), dsputil_init_altivec(), dsputil_init_iwmmxt(), dsputil_init_mlib(), dsputil_init_mmx(), dsputil_init_vis(), encode_mb_internal(), ff_dsputil_init_neon(), ff_init_me(), MPV_decode_mb_internal(), MPV_motion_internal(), svq3_mc_dir_part(), and vc1_interp_mc().

Definition at line 514 of file dsputil.h.

Referenced by rv34_mc_2mv(), and rv34_mc_2mv_skip().

Definition at line 520 of file dsputil.h.

Referenced by dsputil_init_mmx(), rv34_mc_2mv(), and rv34_mc_2mv_skip().

Definition at line 518 of file dsputil.h.

Referenced by dsputil_init(), rv34_mc_2mv(), and rv34_mc_2mv_skip().

Definition at line 307 of file dsputil.h.

Referenced by dsputil_init(), and svq3_mc_dir_part().

Definition at line 226 of file dsputil.h.

Referenced by ff_set_cmp().

void(* DSPContext::bswap_buf)(uint32_t *dst, const uint32_t *src, int w)
void(* DSPContext::cavs_filter_ch)(uint8_t *pix, int stride, int alpha, int beta, int tc, int bs1, int bs2)

Definition at line 338 of file dsputil.h.

Referenced by ff_cavs_filter().

void(* DSPContext::cavs_filter_cv)(uint8_t *pix, int stride, int alpha, int beta, int tc, int bs1, int bs2)

Definition at line 337 of file dsputil.h.

Referenced by ff_cavs_filter().

void(* DSPContext::cavs_filter_lh)(uint8_t *pix, int stride, int alpha, int beta, int tc, int bs1, int bs2)

Definition at line 336 of file dsputil.h.

Referenced by ff_cavs_filter().

void(* DSPContext::cavs_filter_lv)(uint8_t *pix, int stride, int alpha, int beta, int tc, int bs1, int bs2)

Definition at line 335 of file dsputil.h.

Referenced by ff_cavs_filter().

Definition at line 339 of file dsputil.h.

Referenced by decode_residual_block(), and ff_cavsdsp_init_3dnow().

Definition at line 234 of file dsputil.h.

Referenced by ff_set_cmp().

Definition at line 233 of file dsputil.h.

Referenced by ff_set_cmp().

Definition at line 224 of file dsputil.h.

Referenced by ff_set_cmp().

void(* DSPContext::diff_bytes)(uint8_t *dst, uint8_t *src1, uint8_t *src2, int w)
void(* DSPContext::diff_pixels)(DCTELEM *block, const uint8_t *s1, const uint8_t *s2, int stride)
void(* DSPContext::draw_edges)(uint8_t *buf, int wrap, int width, int height, int w)

Definition at line 450 of file dsputil.h.

Referenced by dsputil_init(), dsputil_init_mmx(), frame_start(), and MPV_frame_end().

Definition at line 406 of file dsputil.h.

Referenced by dsputil_init(), and dvvideo_init().

void(* DSPContext::flac_compute_autocorr)(const int32_t *data, int len, int lag, double *autoc)

Definition at line 388 of file dsputil.h.

Referenced by dsputil_init(), dsputilenc_init_mmx(), and ff_lpc_calc_coefs().

void(* DSPContext::float_to_int16)(int16_t *dst, const float *src, long len)
void(* DSPContext::float_to_int16_interleave)(int16_t *dst, const float **src, long len, int channels)

Definition at line 241 of file dsputil.h.

Referenced by MPV_encode_init(), and skip_check().

void(* DSPContext::get_pixels)(DCTELEM *block, const uint8_t *pixels, int line_size)
void(* DSPContext::gmc)(uint8_t *dst, uint8_t *src, int stride, int h, int ox, int oy, int dxx, int dxy, int dyx, int dyy, int shift, int r, int width, int height)

global motion compensation.

Definition at line 213 of file dsputil.h.

Referenced by dsputil_init(), dsputil_init_align(), dsputil_init_mmx(), and gmc_motion().

void(* DSPContext::gmc1)(uint8_t *dst, uint8_t *src, int srcStride, int h, int x16, int y16, int rounder)

translational global motion compensation.

Definition at line 209 of file dsputil.h.

Referenced by dsputil_init(), dsputil_init_align(), dsputil_init_ppc(), and gmc1_motion().

void(* DSPContext::h261_loop_filter)(uint8_t *src, int stride)

Definition at line 373 of file dsputil.h.

Referenced by dsputil_init(), and ff_h261_loop_filter().

void(* DSPContext::h263_h_loop_filter)(uint8_t *src, int stride, int qscale)

Definition at line 371 of file dsputil.h.

Referenced by dsputil_init(), dsputil_init_mmx(), and ff_h263_loop_filter().

void(* DSPContext::h263_v_loop_filter)(uint8_t *src, int stride, int qscale)

Definition at line 370 of file dsputil.h.

Referenced by dsputil_init(), dsputil_init_mmx(), and ff_h263_loop_filter().

Definition at line 462 of file dsputil.h.

Referenced by ff_h264dspenc_init().

void(* DSPContext::h264_h_loop_filter_chroma)(uint8_t *pix, int stride, int alpha, int beta, int8_t *tc0)

Definition at line 363 of file dsputil.h.

Referenced by dsputil_init(), dsputil_init_mmx(), ff_dsputil_init_neon(), and filter_mb_edgecv().

void(* DSPContext::h264_h_loop_filter_chroma_intra)(uint8_t *pix, int stride, int alpha, int beta)

Definition at line 365 of file dsputil.h.

Referenced by dsputil_init(), dsputil_init_mmx(), and filter_mb_edgecv().

void(* DSPContext::h264_h_loop_filter_luma)(uint8_t *pix, int stride, int alpha, int beta, int8_t *tc0)

Definition at line 358 of file dsputil.h.

Referenced by dsputil_init(), dsputil_init_mmx(), ff_dsputil_init_neon(), and filter_mb_edgev().

void(* DSPContext::h264_h_loop_filter_luma_intra)(uint8_t *pix, int stride, int alpha, int beta)

Definition at line 361 of file dsputil.h.

Referenced by dsputil_init(), dsputil_init_mmx(), and filter_mb_edgev().

void(* DSPContext::h264_idct8_add4)(uint8_t *dst, const int *blockoffset, DCTELEM *block, int stride, const uint8_t nnzc[6 *8])

Definition at line 464 of file dsputil.h.

Referenced by dsputil_init(), dsputil_init_mmx(), and hl_decode_mb_internal().

Definition at line 461 of file dsputil.h.

Referenced by dsputil_init(), dsputil_init_mmx(), and hl_decode_mb_internal().

void(* DSPContext::h264_idct_add)(uint8_t *dst, DCTELEM *block, int stride)
void(* DSPContext::h264_idct_add16)(uint8_t *dst, const int *blockoffset, DCTELEM *block, int stride, const uint8_t nnzc[6 *8])
void(* DSPContext::h264_idct_add16intra)(uint8_t *dst, const int *blockoffset, DCTELEM *block, int stride, const uint8_t nnzc[6 *8])
void(* DSPContext::h264_idct_add8)(uint8_t **dst, const int *blockoffset, DCTELEM *block, int stride, const uint8_t nnzc[6 *8])

Definition at line 465 of file dsputil.h.

Referenced by dsputil_init(), dsputil_init_mmx(), and ff_dsputil_init_neon().

void(* DSPContext::h264_loop_filter_strength)(int16_t bS[2][4][4], uint8_t nnz[40], int8_t ref[2][40], int16_t mv[2][40][2], int bidir, int edges, int step, int mask_mv0, int mask_mv1, int field)

Definition at line 367 of file dsputil.h.

Referenced by dsputil_init(), dsputil_init_mmx(), and filter_mb_fast().

void(* DSPContext::h264_v_loop_filter_chroma)(uint8_t *pix, int stride, int alpha, int beta, int8_t *tc0)

Definition at line 362 of file dsputil.h.

Referenced by dsputil_init(), dsputil_init_mmx(), ff_dsputil_init_neon(), and filter_mb_edgech().

void(* DSPContext::h264_v_loop_filter_chroma_intra)(uint8_t *pix, int stride, int alpha, int beta)

Definition at line 364 of file dsputil.h.

Referenced by dsputil_init(), dsputil_init_mmx(), and filter_mb_edgech().

void(* DSPContext::h264_v_loop_filter_luma)(uint8_t *pix, int stride, int alpha, int beta, int8_t *tc0)

Definition at line 357 of file dsputil.h.

Referenced by dsputil_init(), dsputil_init_mmx(), ff_dsputil_init_neon(), and filter_mb_edgeh().

void(* DSPContext::h264_v_loop_filter_luma_intra)(uint8_t *pix, int stride, int alpha, int beta)

Definition at line 360 of file dsputil.h.

Referenced by dsputil_init(), dsputil_init_mmx(), and filter_mb_edgeh().

Definition at line 223 of file dsputil.h.

Referenced by dsputil_init(), dsputil_init_altivec(), dsputilenc_init_mmx(), and ff_set_cmp().

void(* DSPContext::idct_add)(uint8_t *dest, int line_size, DCTELEM *block)

idct input permutation.

several optimized IDCTs need a permutated input (relative to the normal order of the reference IDCT) this permutation must be performed before the idct_put/add, note, normally this can be merged with the zigzag/alternate scan
an example to avoid confusion:

  • (->decode coeffs -> zigzag reorder -> dequant -> reference idct ->...)
  • (x -> referece dct -> reference idct -> x)
  • (x -> referece dct -> simple_mmx_perm = idct_permutation -> simple_idct_mmx -> x)
  • (->decode coeffs -> zigzag reorder -> simple_mmx_perm -> dequant -> simple_idct_mmx ->...)

Definition at line 436 of file dsputil.h.

Referenced by common_init(), dct_quantize_altivec(), dct_quantize_bfin(), dct_quantize_c(), dct_quantize_refine(), dct_quantize_trellis_c(), decode_init(), decode_pic(), decode_vol_header(), decode_vop_header(), dnxhd_init_qmat(), dnxhd_init_vlc(), dsputil_init(), dvvideo_init(), encode_picture(), ff_convert_matrix(), ff_dct_common_init(), ff_intrax8_common_init(), ff_mjpeg_decode_init(), ff_wmv2_common_init(), h263_pred_acdc(), init_dequantizer(), mimic_decode_init(), mpeg1_decode_sequence(), mpeg4_pred_ac(), mpeg_decode_init(), mpeg_decode_picture_coding_extension(), mpeg_decode_quant_matrix_extension(), MPV_decode_mb_internal(), MPV_encode_init(), rtjpeg_decode_init(), tgq_decode_init(), tqi_decode_init(), vcr2_init_sequence(), vp3_decode_init(), and vp56_init().

void(* DSPContext::idct_put)(uint8_t *dest, int line_size, DCTELEM *block)

Definition at line 240 of file dsputil.h.

Referenced by dvvideo_init(), encode_mb_internal(), and MPV_encode_init().

void(* DSPContext::inner_add_yblock)(const uint8_t *obmc, const int obmc_stride, uint8_t **block, int b_w, int b_h, int src_x, int src_y, int src_stride, slice_buffer *sb, int add, uint8_t *dst8)

Definition at line 471 of file dsputil.h.

Referenced by add_yblock(), dsputil_init(), dsputil_init_mmx(), and snow_init_altivec().

void(* DSPContext::int32_to_float_fmul_scalar)(float *dst, const int *src, float mul, int len)

Definition at line 397 of file dsputil.h.

Referenced by decode_audio_block(), dsputil_init(), dsputil_init_mmx(), and float_init_altivec().

Definition at line 236 of file dsputil.h.

Referenced by epzs_motion_search_internal(), and ff_init_me().

Definition at line 230 of file dsputil.h.

Referenced by dsputil_init(), dsputilenc_init_mmx(), ff_set_cmp(), and sse_mb().

int(* DSPContext::pix_norm1)(uint8_t *pix, int line_size)
int(* DSPContext::pix_sum)(uint8_t *pix, int line_size)
void(* DSPContext::prefetch)(void *mem, int stride, int h)

Definition at line 326 of file dsputil.h.

Referenced by decode_slice_header(), dsputil_init(), and ff_h263_decode_frame().

Definition at line 333 of file dsputil.h.

Referenced by ff_cavs_inter().

Definition at line 323 of file dsputil.h.

Referenced by decode_slice_header(), dsputil_init(), and ff_dsputil_init_neon().

Definition at line 313 of file dsputil.h.

Referenced by dsputil_init(), dsputil_init_align(), and ff_mspel_motion().

Definition at line 320 of file dsputil.h.

Referenced by dsputil_init(), dsputil_init_mmx(), vc1_mc_1mv(), and vc1_mc_4mv_chroma().

void(* DSPContext::put_no_rnd_pixels_l2[2])(uint8_t *block, const uint8_t *a, const uint8_t *b, int line_size, int h)

Definition at line 294 of file dsputil.h.

Referenced by dsputil_init(), render_slice(), and vp56_mc().

Halfpel motion compensation with no rounding (a+b)>>1.

this is an array[2][4] of motion compensation functions for 2 horizontal blocksizes (8,16) and the 4 halfpel positions
*pixels_tab[ 0->16xH 1->8xH ][ xhalfpel + 2*yhalfpel ]

Parameters:
block destination where the result is stored
pixels source
line_size number of bytes in a horizontal line of block
h height

Definition at line 280 of file dsputil.h.

Referenced by dsputil_init_align(), dsputil_init_alpha(), dsputil_init_altivec(), dsputil_init_arm(), dsputil_init_bfin(), dsputil_init_iwmmxt(), dsputil_init_mlib(), dsputil_init_mmi(), dsputil_init_mmx(), dsputil_init_vis(), encode_mb_internal(), ff_dsputil_init_neon(), ff_init_me(), gmc1_motion(), h263_mv4_search(), interlaced_search(), MPV_decode_mb_internal(), render_slice(), vc1_mc_1mv(), and vc1_mc_4mv_luma().

Definition at line 311 of file dsputil.h.

Referenced by encode_mb_internal(), ff_h263_decode_frame(), ff_init_me(), and h263_mv4_search().

void(* DSPContext::put_pixels_clamped)(const DCTELEM *block, uint8_t *pixels, int line_size)

Halfpel motion compensation with rounding (a+b+1)>>1.

this is an array[4][4] of motion compensation functions for 4 horizontal blocksizes (8,16) and the 4 halfpel positions
*pixels_tab[ 0->16xH 1->8xH ][ xhalfpel + 2*yhalfpel ]

Parameters:
block destination where the result is stored
pixels source
line_size number of bytes in a horizontal line of block
h height

Definition at line 256 of file dsputil.h.

Referenced by check_bidir_mv(), decode(), dsputil_init_align(), dsputil_init_alpha(), dsputil_init_altivec(), dsputil_init_arm(), dsputil_init_bfin(), dsputil_init_iwmmxt(), dsputil_init_mlib(), dsputil_init_mmi(), dsputil_init_mmx(), dsputil_init_vis(), encode_mb_internal(), encode_thread(), ff_dsputil_init_neon(), ff_init_me(), gmc1_motion(), h263_mv4_search(), interlaced_search(), MPV_decode_mb_internal(), render_slice(), svq1_encode_plane(), svq1_motion_inter_4v_block(), svq1_motion_inter_block(), svq3_mc_dir_part(), vc1_mc_1mv(), vc1_mc_4mv_luma(), vp56_decode_mb(), and vp56_mc().

Definition at line 513 of file dsputil.h.

Referenced by rv34_mc_1mv(), rv34_mc_2mv(), and rv34_mc_2mv_skip().

Definition at line 519 of file dsputil.h.

Referenced by dsputil_init_mmx(), rv34_mc_1mv(), rv34_mc_2mv(), and rv34_mc_2mv_skip().

Definition at line 517 of file dsputil.h.

Referenced by dsputil_init(), rv34_mc_1mv(), rv34_mc_2mv(), and rv34_mc_2mv_skip().

void(* DSPContext::put_signed_pixels_clamped)(const DCTELEM *block, uint8_t *pixels, int line_size)

Thirdpel motion compensation with rounding (a+b+1)>>1.

this is an array[12] of motion compensation functions for the 9 thirdpe positions
*pixels_tab[ xthirdpel + 4*ythirdpel ]

Parameters:
block destination where the result is stored
pixels source
line_size number of bytes in a horizontal line of block
h height

Definition at line 306 of file dsputil.h.

Referenced by dsputil_init(), and svq3_mc_dir_part().

Definition at line 487 of file dsputil.h.

Referenced by vc1_mc_1mv(), and vc1_mc_4mv_luma().

Definition at line 225 of file dsputil.h.

Referenced by ff_set_cmp().

Definition at line 227 of file dsputil.h.

Referenced by ff_set_cmp().

int32_t(* DSPContext::scalarproduct_int16)(int16_t *v1, int16_t *v2, int len, int shift)

Calculate scalar product of two vectors.

Parameters:
len length of vectors, should be multiple of 16
shift number of bits to discard from product

Definition at line 510 of file dsputil.h.

Referenced by do_apply_filter(), dsputil_init(), dsputil_init_mmx(), ff_acelp_decode_gain_code(), and int_init_altivec().

void(* DSPContext::shrink[4])(uint8_t *dst, int dst_wrap, const uint8_t *src, int src_wrap, int width, int height)

Definition at line 475 of file dsputil.h.

Referenced by dsputil_init(), and estimate_best_b_count().

int(* DSPContext::ssd_int8_vs_int16)(const int8_t *pix1, const int16_t *pix2, int size)

Definition at line 243 of file dsputil.h.

Referenced by dsputil_init(), dsputilenc_init_mmx(), encode_block(), and int_init_altivec().

void(* DSPContext::sub_hfyu_median_prediction)(uint8_t *dst, uint8_t *src1, uint8_t *src2, int w, int *left, int *left_top)

subtract huffyuv's variant of median prediction note, this might read from src1[-1], src2[-1]

Definition at line 351 of file dsputil.h.

Referenced by dsputil_init(), and dsputilenc_init_mmx().

void(* DSPContext::sub_int16)(int16_t *v1, int16_t *v2, int len)

Add contents of the second vector to the first one.

Parameters:
len length of vectors, should be multiple of 16

Definition at line 504 of file dsputil.h.

Referenced by do_apply_filter(), dsputil_init(), dsputil_init_mmx(), and int_init_altivec().

Definition at line 205 of file dsputil.h.

Referenced by dct_sad8x8_c(), dsputil_init(), and dsputilenc_init_mmx().

int(* DSPContext::try_8x8basis)(int16_t rem[64], int16_t weight[64], int16_t basis[64], int scale)

Definition at line 445 of file dsputil.h.

Referenced by dct_quantize_refine(), dsputil_init(), and dsputilenc_init_mmx().

void(* DSPContext::vc1_h_overlap)(uint8_t *src, int stride)

Definition at line 483 of file dsputil.h.

Referenced by vc1_decode_i_blocks(), vc1_decode_i_blocks_adv(), and vc1_decode_p_mb().

void(* DSPContext::vc1_inv_trans_4x4)(uint8_t *dest, int line_size, DCTELEM *block)

Definition at line 481 of file dsputil.h.

Referenced by decode_sequence_header(), and vc1_decode_p_block().

void(* DSPContext::vc1_inv_trans_4x8)(uint8_t *dest, int line_size, DCTELEM *block)

Definition at line 480 of file dsputil.h.

Referenced by decode_sequence_header(), and vc1_decode_p_block().

void(* DSPContext::vc1_inv_trans_8x4)(uint8_t *dest, int line_size, DCTELEM *block)

Definition at line 479 of file dsputil.h.

Referenced by decode_sequence_header(), vc1_decode_p_block(), and vc1dsp_init_altivec().

void(* DSPContext::vc1_v_overlap)(uint8_t *src, int stride)

Definition at line 482 of file dsputil.h.

Referenced by vc1_decode_i_blocks(), vc1_decode_i_blocks_adv(), and vc1_decode_p_mb().

void(* DSPContext::vector_fmul)(float *dst, const float *src, int len)
void(* DSPContext::vector_fmul_add_add)(float *dst, const float *src0, const float *src1, const float *src2, int src3, int len, int step)

Definition at line 393 of file dsputil.h.

Referenced by dsputil_init(), dsputil_init_mmx(), float_init_altivec(), and wma_window().

void(* DSPContext::vector_fmul_reverse)(float *dst, const float *src0, const float *src1, int len)
void(* DSPContext::vector_fmul_window)(float *dst, const float *src0, const float *src1, const float *win, float add_bias, int len)
void(* DSPContext::vorbis_inverse_coupling)(float *mag, float *ang, int blocksize)
void(* DSPContext::vp3_h_loop_filter)(uint8_t *src, int stride, int *bounding_values)

Definition at line 379 of file dsputil.h.

Referenced by apply_loop_filter(), dsputil_init(), dsputil_init_mmx(), and ff_dsputil_init_neon().

void(* DSPContext::vp3_v_loop_filter)(uint8_t *src, int stride, int *bounding_values)

Definition at line 378 of file dsputil.h.

Referenced by apply_loop_filter(), dsputil_init(), dsputil_init_mmx(), and ff_dsputil_init_neon().

void(* DSPContext::vp6_filter_diag4)(uint8_t *dst, uint8_t *src, int stride, const int16_t *h_weights, const int16_t *v_weights)

Definition at line 381 of file dsputil.h.

Referenced by dsputil_init(), dsputil_init_mmx(), and vp6_filter().

Definition at line 228 of file dsputil.h.

Referenced by dsputil_init(), dsputil_init_bfin(), dsputilenc_init_mmx(), and ff_set_cmp().

Definition at line 229 of file dsputil.h.

Referenced by dsputil_init(), and ff_set_cmp().

Definition at line 231 of file dsputil.h.

Referenced by dsputil_init(), and ff_set_cmp().

Definition at line 232 of file dsputil.h.

Referenced by dsputil_init(), and ff_set_cmp().

void(* DSPContext::x8_h_loop_filter)(uint8_t *src, int stride, int qscale)

Definition at line 376 of file dsputil.h.

Referenced by ff_intrax8dsp_init(), and x8_decode_intra_mb().

void(* DSPContext::x8_setup_spatial_compensation)(uint8_t *src, uint8_t *dst, int linesize, int *range, int *sum, int edges)

Definition at line 491 of file dsputil.h.

Referenced by ff_intrax8dsp_init(), and x8_setup_spatial_predictor().

void(* DSPContext::x8_spatial_compensation[12])(uint8_t *src, uint8_t *dst, int linesize)

Definition at line 490 of file dsputil.h.

Referenced by ff_intrax8dsp_init(), and x8_decode_intra_mb().

void(* DSPContext::x8_v_loop_filter)(uint8_t *src, int stride, int qscale)

Definition at line 375 of file dsputil.h.

Referenced by ff_intrax8dsp_init(), and x8_decode_intra_mb().


The documentation for this struct was generated from the following file:
Generated on Thu Jan 24 19:43:55 2013 for ffmpeg by  doxygen 1.6.3