DSPContext Struct Reference

DSPContext. More...

#include <dsputil.h>

Data Fields

int dct_bits
 Size of DCT coefficients.
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(* emulated_edge_mc )(uint8_t *buf, const uint8_t *src, int linesize, int block_w, int block_h, int src_x, int src_y, int w, int h)
 Motion estimation with emulated edge values.
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 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]
me_cmp_func pix_abs [2][4]
void(* add_bytes )(uint8_t *dst, uint8_t *src, int w)
void(* diff_bytes )(uint8_t *dst, uint8_t *src1, uint8_t *src2, int w)
void(* sub_hfyu_median_prediction )(uint8_t *dst, const uint8_t *src1, const 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, const uint8_t *top, const uint8_t *diff, int w, int *left, int *left_top)
int(* add_hfyu_left_prediction )(uint8_t *dst, const uint8_t *src, int w, int left)
void(* add_hfyu_left_prediction_bgr32 )(uint8_t *dst, const uint8_t *src, int w, int *red, int *green, int *blue, int *alpha)
void(* bswap_buf )(uint32_t *dst, const uint32_t *src, int w)
void(* bswap16_buf )(uint16_t *dst, const uint16_t *src, int len)
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_idct_dc_add )(uint8_t *dest, int line_size, const DCTELEM *block)
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(* 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(* vector_fmul )(float *dst, const float *src0, const float *src1, int len)
void(* vector_fmul_reverse )(float *dst, const float *src0, const float *src1, int len)
void(* vector_fmul_add )(float *dst, const float *src0, const float *src1, const float *src2, int len)
void(* vector_fmul_window )(float *dst, const float *src0, const float *src1, const float *win, int len)
void(* vector_clipf )(float *dst, const float *src, float min, float max, int len)
void(* vector_fmul_scalar )(float *dst, const float *src, float mul, int len)
 Multiply a vector of floats by a scalar float.
void(* vector_fmac_scalar )(float *dst, const float *src, float mul, int len)
 Multiply a vector of floats by a scalar float and add to destination vector.
float(* scalarproduct_float )(const float *v1, const float *v2, int len)
 Calculate the scalar product of two vectors of floats.
void(* butterflies_float )(float *restrict v1, float *restrict v2, int len)
 Calculate the sum and difference of two vectors of floats.
void(* butterflies_float_interleave )(float *dst, const float *src0, const float *src1, int len)
 Calculate the sum and difference of two vectors of floats and interleave results into a separate output vector of floats, with each sum positioned before the corresponding difference.
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, int h, int sides)
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(* mlp_filter_channel )(int32_t *state, const int32_t *coeff, int firorder, int iirorder, unsigned int filter_shift, int32_t mask, int blocksize, int32_t *sample_buffer)
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)
int32_t(* scalarproduct_int16 )(const int16_t *v1, const int16_t *v2, int len, int shift)
 Calculate scalar product of two vectors.
int32_t(* scalarproduct_and_madd_int16 )(int16_t *v1, const int16_t *v2, const int16_t *v3, int len, int mul)
 Calculate scalar product of v1 and v2, and v1[i] += v3[i] * mul.
void(* apply_window_int16 )(int16_t *output, const int16_t *input, const int16_t *window, unsigned int len)
 Apply symmetric window in 16-bit fixed-point.
void(* vector_clip_int32 )(int32_t *dst, const int32_t *src, int32_t min, int32_t max, unsigned int len)
 Clip each element in an array of int32_t to a given minimum and maximum value.
op_fill_func fill_block_tab [2]

Detailed Description

DSPContext.

Definition at line 226 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 408 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 513 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 380 of file dsputil.h.

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

int(* DSPContext::add_hfyu_left_prediction)(uint8_t *dst, const uint8_t *src, int w, int left)

Definition at line 388 of file dsputil.h.

Referenced by decode_frame(), dsputil_init(), dsputil_init_mmx(), and lag_pred_line().

void(* DSPContext::add_hfyu_left_prediction_bgr32)(uint8_t *dst, const uint8_t *src, int w, int *red, int *green, int *blue, int *alpha)

Definition at line 389 of file dsputil.h.

Referenced by decode_frame(), and dsputil_init().

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

Definition at line 387 of file dsputil.h.

Referenced by decode_frame(), dsputil_init(), dsputil_init_mmx(), and vble_restore_plane().

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::apply_window_int16)(int16_t *output, const int16_t *input, const int16_t *window, unsigned int len)

Apply symmetric window in 16-bit fixed-point.

Parameters:
output destination array constraints: 16-byte aligned
input source array constraints: 16-byte aligned
window window array constraints: 16-byte aligned, at least len/2 elements
len full window length constraints: multiple of ? greater than zero

Definition at line 562 of file dsputil.h.

Referenced by apply_window(), dsputil_init(), dsputil_init_mmx(), 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 342 of file dsputil.h.

Referenced by dsputil_init_align(), dsputil_init_alpha(), dsputil_init_vis(), ff_dsputil_init_iwmmxt(), ff_dsputil_init_neon(), and vc1_interp_mc().

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 318 of file dsputil.h.

Referenced by check_bidir_mv(), dsputil_init_align(), dsputil_init_alpha(), dsputil_init_altivec(), dsputil_init_mlib(), dsputil_init_mmx(), dsputil_init_vis(), encode_mb_internal(), ff_dsputil_init_armv6(), ff_dsputil_init_iwmmxt(), 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 357 of file dsputil.h.

Referenced by dsputil_init(), and svq3_mc_dir_part().

Definition at line 276 of file dsputil.h.

Referenced by ff_set_cmp().

void(* DSPContext::bswap16_buf)(uint16_t *dst, const uint16_t *src, int len)

Definition at line 392 of file dsputil.h.

Referenced by ac3_decode_frame(), dsputil_init(), and imc_decode_frame().

void(* DSPContext::butterflies_float)(float *restrict v1, float *restrict v2, int len)

Calculate the sum and difference of two vectors of floats.

Parameters:
v1 first input vector, sum output, 16-byte aligned
v2 second input vector, difference output, 16-byte aligned
len length of vectors, multiple of 4

Definition at line 452 of file dsputil.h.

Referenced by apply_mid_side_stereo(), dsputil_init(), ff_dsputil_init_neon(), and wma_decode_block().

void(* DSPContext::butterflies_float_interleave)(float *dst, const float *src0, const float *src1, int len)

Calculate the sum and difference of two vectors of floats and interleave results into a separate output vector of floats, with each sum positioned before the corresponding difference.

Parameters:
dst output vector constraints: 16-byte aligned
src0 first input vector constraints: 32-byte aligned
src1 second input vector constraints: 32-byte aligned
len number of elements in the input constraints: multiple of 8

Definition at line 468 of file dsputil.h.

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

Definition at line 284 of file dsputil.h.

Referenced by ff_set_cmp().

Size of DCT coefficients.

Definition at line 230 of file dsputil.h.

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

Definition at line 283 of file dsputil.h.

Referenced by ff_set_cmp().

Definition at line 274 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::draw_edges)(uint8_t *buf, int wrap, int width, int height, int w, int h, int sides)
void(* DSPContext::emulated_edge_mc)(uint8_t *buf, const uint8_t *src, int linesize, int block_w, int block_h, int src_x, int src_y, int w, int h)

Motion estimation with emulated edge values.

Parameters:
buf pointer to destination buffer (unaligned)
src pointer to pixel source (unaligned)
linesize width (in pixels) for src/buf
block_w number of pixels (per row) to copy to buf
block_h nummber of pixel rows to copy to buf
src_x offset of src to start of row - this may be negative
src_y offset of src to top of image - this may be negative
w width of src in pixels
h height of src in pixels

Definition at line 253 of file dsputil.h.

Referenced by chroma_4mv_motion(), chroma_4mv_motion_lowres(), dsputil_init_mmx(), encode_mb_internal(), ff_mspel_motion(), ff_snow_pred_block(), gmc1_motion(), hpel_motion(), hpel_motion_lowres(), mc_dir_part(), mpeg_motion_internal(), mpeg_motion_lowres(), MPV_motion_internal(), qpel_motion(), render_slice(), rv34_mc(), svq3_mc_dir_part(), vc1_interp_mc(), vc1_mc_1mv(), vc1_mc_4mv_chroma(), vc1_mc_4mv_chroma4(), vc1_mc_4mv_luma(), vp56_mc(), vp8_mc_chroma(), and vp8_mc_luma().

Definition at line 473 of file dsputil.h.

Referenced by dsputil_init(), and dvvideo_init().

Definition at line 291 of file dsputil.h.

Referenced by MPV_encode_init(), and skip_check().

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 263 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 259 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 397 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 395 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 394 of file dsputil.h.

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

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 -> reference dct -> reference idct -> x)
  • (x -> reference dct -> simple_mmx_perm = idct_permutation -> simple_idct_mmx -> x)
  • (->decode coeffs -> zigzag reorder -> simple_mmx_perm -> dequant -> simple_idct_mmx ->...)

Definition at line 503 of file dsputil.h.

Referenced by common_init(), dct_quantize_altivec(), dct_quantize_bfin(), dct_quantize_c(), dct_quantize_refine(), dct_quantize_trellis_c(), decide_ac_pred(), decode_frame_header(), decode_init(), decode_pic(), decode_slice(), 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_h263_pred_acdc(), ff_intrax8_common_init(), ff_mjpeg_decode_init(), ff_vp56_init(), ff_wmv2_common_init(), fill_quantization_matrices(), filter(), init_dequantizer(), load_matrix(), mimic_decode_init(), mpeg1_decode_sequence(), mpeg4_pred_ac(), mpeg_decode_init(), mpeg_decode_picture_coding_extension(), MPV_decode_mb_internal(), MPV_encode_init(), restore_ac_coeffs(), rtjpeg_decode_init(), tgq_decode_init(), tqi_decode_init(), vaapi_mpeg2_start_frame(), vaapi_mpeg4_start_frame(), vcr2_init_sequence(), and vp3_decode_init().

Definition at line 286 of file dsputil.h.

Referenced by epzs_motion_search_internal(), and ff_init_me().

void(* DSPContext::mlp_filter_channel)(int32_t *state, const int32_t *coeff, int firorder, int iirorder, unsigned int filter_shift, int32_t mask, int blocksize, int32_t *sample_buffer)

Definition at line 527 of file dsputil.h.

Referenced by ff_mlp_init(), ff_mlp_init_x86(), and filter_channel().

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 344 of file dsputil.h.

Referenced by dsputil_init_mmx(), 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 330 of file dsputil.h.

Referenced by copy_cell(), dsputil_init_align(), dsputil_init_alpha(), dsputil_init_altivec(), dsputil_init_arm(), dsputil_init_bfin(), dsputil_init_mlib(), dsputil_init_mmi(), dsputil_init_mmx(), dsputil_init_vis(), encode_mb_internal(), ff_dsputil_init_armv6(), ff_dsputil_init_iwmmxt(), 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().

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 306 of file dsputil.h.

Referenced by bink_decode_plane(), binkb_decode_plane(), check_bidir_mv(), copy_from(), decode(), dsputil_init_align(), dsputil_init_alpha(), dsputil_init_altivec(), dsputil_init_arm(), dsputil_init_bfin(), dsputil_init_mlib(), dsputil_init_mmi(), dsputil_init_mmx(), dsputil_init_vis(), encode_mb_internal(), encode_thread(), ff_dsputil_init_armv6(), ff_dsputil_init_iwmmxt(), 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().

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 356 of file dsputil.h.

Referenced by dsputil_init(), and svq3_mc_dir_part().

Definition at line 275 of file dsputil.h.

Referenced by ff_set_cmp().

Definition at line 277 of file dsputil.h.

Referenced by ff_set_cmp().

int32_t(* DSPContext::scalarproduct_and_madd_int16)(int16_t *v1, const int16_t *v2, const int16_t *v3, int len, int mul)

Calculate scalar product of v1 and v2, and v1[i] += v3[i] * mul.

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

Definition at line 549 of file dsputil.h.

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

float(* DSPContext::scalarproduct_float)(const float *v1, const float *v2, int len)

Calculate the scalar product of two vectors of floats.

Parameters:
v1 first vector, 16-byte aligned
v2 second vector, 16-byte aligned
len length of vectors, multiple of 4

Definition at line 445 of file dsputil.h.

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

int32_t(* DSPContext::scalarproduct_int16)(const int16_t *v1, const 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 542 of file dsputil.h.

Referenced by decoder_init(), dsputil_init(), dsputil_init_mmx(), ff_acelp_decode_gain_code(), ff_dsputil_init_neon(), get_tilt_comp(), int_init_altivec(), and long_term_filter().

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

Definition at line 524 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 293 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, const uint8_t *src1, const 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 386 of file dsputil.h.

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

Definition at line 240 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 512 of file dsputil.h.

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

void(* DSPContext::vector_clip_int32)(int32_t *dst, const int32_t *src, int32_t min, int32_t max, unsigned int len)

Clip each element in an array of int32_t to a given minimum and maximum value.

Parameters:
dst destination array constraints: 16-byte aligned
src source array constraints: 16-byte aligned
min minimum value constraints: must in the the range [-(1<<24), 1<<24]
max maximum value constraints: must in the the range [-(1<<24), 1<<24]
len number of elements in the array constraints: multiple of 32 greater than zero

Definition at line 578 of file dsputil.h.

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

void(* DSPContext::vector_clipf)(float *dst, const float *src, float min, float max, int len)

Definition at line 417 of file dsputil.h.

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

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

Multiply a vector of floats by a scalar float and add to destination vector.

Source and destination vectors must overlap exactly or not at all.

Parameters:
dst result vector, 16-byte aligned
src input vector, 16-byte aligned
mul scalar value
len length of vector, multiple of 4

Definition at line 437 of file dsputil.h.

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

void(* DSPContext::vector_fmul_add)(float *dst, const float *src0, const float *src1, const float *src2, int len)
void(* DSPContext::vector_fmul_scalar)(float *dst, const float *src, float mul, int len)

Multiply a vector of floats by a scalar float.

Source and destination vectors must overlap exactly or not at all.

Parameters:
dst result vector, 16-byte aligned
src input vector, 16-byte aligned
mul scalar value
len length of vector, multiple of 4

Definition at line 426 of file dsputil.h.

Referenced by apply_intensity_stereo(), decode_block(), decode_spectrum_and_dequant(), decode_subframe(), dsputil_init(), ff_dsputil_init_neon(), and inverse_channel_transform().

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 404 of file dsputil.h.

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

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

Definition at line 402 of file dsputil.h.

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

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

Definition at line 403 of file dsputil.h.

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

Definition at line 278 of file dsputil.h.

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

Definition at line 279 of file dsputil.h.

Referenced by dsputil_init(), and ff_set_cmp().

Definition at line 281 of file dsputil.h.

Referenced by ff_dsputil_init_dwt(), and ff_set_cmp().

Definition at line 282 of file dsputil.h.

Referenced by ff_dsputil_init_dwt(), and ff_set_cmp().

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

Definition at line 400 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 534 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 533 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 399 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: