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)

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

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

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

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

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

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)

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

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 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)

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)

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)

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)

Referenced by ff_cavs_filter().

void(* DSPContext::cavs_idct8_add)(uint8_t *dst, DCTELEM *block, int stride)

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)

Referenced by dsputil_init(), and dvvideo_init().

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

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.

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.

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

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

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

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

Referenced by ff_h264dspenc_init().

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

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

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

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

void(* DSPContext::h264_idct8_add)(uint8_t *dst, DCTELEM *block, int stride)

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

void(* DSPContext::h264_idct8_dc_add)(uint8_t *dst, DCTELEM *block, int stride)

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])

void(* DSPContext::h264_idct_dc_add)(uint8_t *dst, DCTELEM *block, int stride)

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)

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

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

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

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

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)

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

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)

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

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)

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

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]

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

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

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

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

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

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

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

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

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)

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)

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

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 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)

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

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

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


The documentation for this struct was generated from the following file:

Generated on Fri Oct 26 02:35:47 2012 for FFmpeg by  doxygen 1.5.8