#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(* | put_pixels_nonclamped )(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 | avg_h264_chroma_pixels_tab [3] |
h264_chroma_mc_func | put_no_rnd_vc1_chroma_pixels_tab [3] |
h264_chroma_mc_func | avg_no_rnd_vc1_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] |
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, 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(* | 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(* | 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(* | 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(* | lpc_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 )(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, float add_bias, int len) |
void(* | int32_to_float_fmul_scalar )(float *dst, const int *src, float mul, 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_fmul_sv_scalar [2])(float *dst, const float *src, const float **sv, float mul, int len) |
Multiply a vector of floats by concatenated short vectors of floats and by a scalar float. | |
void(* | sv_fmul_scalar [2])(float *dst, const float **sv, float mul, int len) |
Multiply short vectors of floats by a scalar float, store concatenated result. | |
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(* | 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(* | 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(* | 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_inv_trans_8x8_dc )(uint8_t *dest, int line_size, DCTELEM *block) |
void(* | vc1_inv_trans_8x4_dc )(uint8_t *dest, int line_size, DCTELEM *block) |
void(* | vc1_inv_trans_4x8_dc )(uint8_t *dest, int line_size, DCTELEM *block) |
void(* | vc1_inv_trans_4x4_dc )(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) |
void(* | vc1_v_loop_filter4 )(uint8_t *src, int stride, int pq) |
void(* | vc1_h_loop_filter4 )(uint8_t *src, int stride, int pq) |
void(* | vc1_v_loop_filter8 )(uint8_t *src, int stride, int pq) |
void(* | vc1_h_loop_filter8 )(uint8_t *src, int stride, int pq) |
void(* | vc1_v_loop_filter16 )(uint8_t *src, int stride, int pq) |
void(* | vc1_h_loop_filter16 )(uint8_t *src, int stride, int pq) |
op_pixels_func | put_vc1_mspel_pixels_tab [16] |
op_pixels_func | avg_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) |
int32_t(* | scalarproduct_int16 )(int16_t *v1, int16_t *v2, int len, int shift) |
Calculate scalar product of two vectors. | |
int32_t(* | scalarproduct_and_madd_int16 )(int16_t *v1, int16_t *v2, int16_t *v3, int len, int mul) |
Calculate scalar product of v1 and v2, and v1[i] += v3[i] * mul. | |
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] |
op_fill_func | fill_block_tab [2] |
void(* | scale_block )(const uint8_t src[64], uint8_t *dst, int linesize) |
Definition at line 207 of file dsputil.h.
void(* DSPContext::ac3_downmix)(float(*samples)[256], float(*matrix)[2], int out_ch, int in_ch, int len) |
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) |
Referenced by dct_quantize_refine(), dsputil_init(), and dsputilenc_init_mmx().
void(* DSPContext::add_bytes)(uint8_t *dst, uint8_t *src, int w) |
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) |
Referenced by dsputil_init(), dsputil_init_mmx(), and png_filter_row().
int(* DSPContext::add_hfyu_left_prediction)(uint8_t *dst, const uint8_t *src, int w, int left) |
Referenced by dsputil_init(), and dsputil_init_mmx().
void(* DSPContext::add_hfyu_left_prediction_bgr32)(uint8_t *dst, const uint8_t *src, int w, int *red, int *green, int *blue, int *alpha) |
Referenced by 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) |
Referenced by dsputil_init(), and dsputil_init_mmx().
void(* DSPContext::add_pixels4)(uint8_t *pixels, DCTELEM *block, int line_size) |
Referenced by dsputil_init(), and hl_decode_mb_internal().
void(* DSPContext::add_pixels8)(uint8_t *pixels, DCTELEM *block, int line_size) |
Referenced by bink_decode_plane(), 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) |
Referenced by dsputil_init(), dsputil_init_mmx(), and png_filter_row().
Definition at line 340 of file dsputil.h.
Referenced by decode_slice_header(), dsputil_init(), and ff_h263_decode_frame().
Definition at line 331 of file dsputil.h.
Referenced by dsputil_init(), dsputil_init_align(), dsputil_init_mmx(), ff_cavs_inter(), ff_dsputil_init_neon(), hl_decode_mb_internal(), MPV_decode_mb_internal(), MPV_motion_lowres(), rv34_mc_2mv(), rv34_mc_2mv_skip(), and vc1_interp_mc().
Definition at line 337 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 ]
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 304 of file dsputil.h.
Referenced by dsputil_init_align(), dsputil_init_alpha(), dsputil_init_vis(), ff_dsputil_init_iwmmxt(), and vc1_interp_mc().
Definition at line 334 of file dsputil.h.
Referenced by dsputil_init(), dsputil_init_mmx(), 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 ]
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 280 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 322 of file dsputil.h.
Referenced by check_bidir_mv(), encode_mb_internal(), ff_h263_decode_frame(), ff_init_me(), and vc1_decode_frame().
Definition at line 564 of file dsputil.h.
Referenced by dsputil_init_mmx(), rv34_mc_2mv(), and rv34_mc_2mv_skip().
Definition at line 562 of file dsputil.h.
Referenced by dsputil_init(), rv34_mc_2mv(), and rv34_mc_2mv_skip().
void(* DSPContext::bswap_buf)(uint32_t *dst, const uint32_t *src, int w) |
void(* DSPContext::butterflies_float)(float *restrict v1, float *restrict v2, int len) |
Calculate the sum and difference of two vectors of floats.
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 |
Referenced by apply_mid_side_stereo(), dsputil_init(), ff_dsputil_init_neon(), and wma_decode_block().
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) |
Referenced by decode_residual_block(), and ff_cavsdsp_init_3dnow().
void(* DSPContext::clear_block)(DCTELEM *block) |
Referenced by bink_decode_plane(), decode_dc_progressive(), decode_mb(), decode_residual_block(), dnxhd_decode_macroblock(), dnxhd_get_blocks(), dsputil_init(), dsputil_init_altivec(), dsputil_init_mmx(), get_b_cbp(), get_p_cbp(), h263_decode_block(), mjpeg_decode_scan(), render_slice(), vc1_decode_intra_block(), vc1_decode_p_block(), vlc_decode_block(), wmv2_add_block(), and x8_decode_intra_mb().
void(* DSPContext::clear_blocks)(DCTELEM *blocks) |
Referenced by decode_i_mb(), decode_mb(), dsputil_init(), dsputil_init_alpha(), dsputil_init_bfin(), dsputil_init_mmi(), dsputil_init_mmx(), dsputil_init_ppc(), dsputil_init_sh4(), ff_dsputil_init_iwmmxt(), ff_er_frame_end(), ff_h263_decode_mb(), ff_wmv2_decode_mb(), guess_mv(), h261_decode_mb(), hl_decode_mb_internal(), mpeg4_decode_mb(), mpeg4_decode_partitioned_mb(), mpeg_decode_mb(), msmpeg4v12_decode_mb(), msmpeg4v34_decode_mb(), rv34_decode_slice(), svq3_decode_mb(), tqi_decode_mb(), vc1_decode_i_blocks(), vc1_decode_i_blocks_adv(), and vp56_decode_mb().
void(* DSPContext::diff_bytes)(uint8_t *dst, uint8_t *src1, uint8_t *src2, int w) |
Referenced by dsputil_init(), dsputilenc_init_mmx(), png_filter_row(), sub_left_prediction(), and sub_left_prediction_bgr32().
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(), dsputil_init_mmx(), frame_start(), and MPV_frame_end().
void(* DSPContext::fdct)(DCTELEM *block) |
void(* DSPContext::fdct248)(DCTELEM *block) |
Referenced by dsputil_init(), and dvvideo_init().
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) |
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) |
Referenced by dsputil_init(), and ff_h261_loop_filter().
void(* DSPContext::h263_h_loop_filter)(uint8_t *src, int stride, int qscale) |
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) |
Referenced by dsputil_init(), dsputil_init_mmx(), and ff_h263_loop_filter().
Definition at line 235 of file dsputil.h.
Referenced by dsputil_init(), dsputil_init_altivec(), dsputilenc_init_mmx(), and ff_set_cmp().
void(* DSPContext::idct)(DCTELEM *block) |
Referenced by bink_decode_plane(), dnxhd_calc_bits_thread(), dsputil_init(), dsputil_init_alpha(), dsputil_init_arm(), dsputil_init_bfin(), dsputil_init_mmi(), dsputil_init_mmx(), dsputil_init_ppc(), dsputil_init_sh4(), dsputil_init_vis(), ff_dsputil_init_armv5te(), ff_dsputil_init_armv6(), ff_dsputil_init_neon(), ff_xvmc_decode_mb(), and MPV_common_init_mlib().
void(* DSPContext::idct_add)(uint8_t *dest, int line_size, DCTELEM *block) |
block -> idct -> add dest -> clip to unsigned 8 bit -> dest.
line_size | size in bytes of a horizontal line of dest |
Referenced by add_dct(), add_dequant_dct(), bink_decode_plane(), dsputil_init(), dsputil_init_alpha(), dsputil_init_arm(), dsputil_init_bfin(), dsputil_init_mmi(), dsputil_init_mmx(), dsputil_init_ppc(), dsputil_init_sh4(), dsputil_init_vis(), ff_dsputil_init_armv5te(), ff_dsputil_init_armv6(), ff_dsputil_init_neon(), MPV_common_init_altivec(), MPV_common_init_mlib(), rd8x8_c(), render_slice(), vp56_decode_mb(), wmv2_add_block(), and x8_decode_intra_mb().
uint8_t DSPContext::idct_permutation[64] |
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:
Definition at line 487 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_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(), 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(), vp3_decode_init(), and vp56_init().
Definition at line 488 of file dsputil.h.
Referenced by dct_quantize_altivec(), dct_quantize_bfin(), dct_quantize_c(), dsputil_init(), dsputil_init_arm(), dsputil_init_bfin(), dsputil_init_mmi(), dsputil_init_mmx(), dsputil_init_ppc(), dsputil_init_sh4(), dsputil_init_vis(), ff_dsputil_init_armv5te(), ff_dsputil_init_armv6(), ff_dsputil_init_neon(), MPV_common_init_altivec(), and MPV_common_init_mlib().
void(* DSPContext::idct_put)(uint8_t *dest, int line_size, DCTELEM *block) |
block -> idct -> clip to unsigned 8 bit -> dest.
(-1392, 0, 0, ...) -> idct -> (-174, -174, ...) -> put -> (0, 0, ...)
line_size | size in bytes of a horizontal line of dest |
Referenced by bink_decode_plane(), decode(), dnxhd_decode_macroblock(), dsputil_init(), dsputil_init_alpha(), dsputil_init_arm(), dsputil_init_bfin(), dsputil_init_mmi(), dsputil_init_mmx(), dsputil_init_ppc(), dsputil_init_sh4(), dsputil_init_vis(), dvvideo_init(), ff_dsputil_init_armv5te(), ff_dsputil_init_armv6(), ff_dsputil_init_neon(), idct_put(), mjpeg_decode_scan(), mjpeg_decode_scan_progressive_ac(), MPV_common_init_altivec(), MPV_common_init_mlib(), MPV_decode_mb_internal(), put_dct(), render_slice(), rtjpeg_decode_frame_yuv420(), tgq_idct_put_mb(), tqi_idct_put(), and vp56_decode_mb().
Definition at line 252 of file dsputil.h.
Referenced by dvvideo_init(), encode_mb_internal(), and MPV_encode_init().
void(* DSPContext::int32_to_float_fmul_scalar)(float *dst, const int *src, float mul, int len) |
Referenced by dca_subsubframe(), decode_audio_block(), dsputil_init(), dsputil_init_mmx(), ff_dsputil_init_neon(), and float_init_altivec().
void(* DSPContext::lpc_compute_autocorr)(const int32_t *data, int len, int lag, double *autoc) |
Referenced by dsputil_init(), dsputilenc_init_mmx(), and ff_lpc_calc_coefs().
Definition at line 251 of file dsputil.h.
Referenced by check_bidir_mv(), ff_estimate_p_frame_motion(), ff_get_mb_score(), ff_init_me(), h263_mv4_search(), and interlaced_search().
Definition at line 249 of file dsputil.h.
Referenced by epzs_motion_search2(), epzs_motion_search4(), epzs_motion_search_internal(), ff_init_me(), full_search(), funny_diamond_search(), hex_search(), l2s_dia_search(), qpel_motion_search(), sab_diamond_search(), small_diamond_search(), umh_search(), and var_diamond_search().
Definition at line 248 of file dsputil.h.
Referenced by epzs_motion_search_internal(), and ff_init_me().
Definition at line 250 of file dsputil.h.
Referenced by ff_init_me(), h263_mv4_search(), hpel_motion_search(), interlaced_search(), and qpel_motion_search().
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) |
Referenced by ff_mlp_init(), ff_mlp_init_x86(), and filter_channel().
Definition at line 242 of file dsputil.h.
Referenced by dsputil_init(), dsputilenc_init_mmx(), ff_set_cmp(), and sse_mb().
Definition at line 351 of file dsputil.h.
Referenced by dsputil_init(), dsputil_init_alpha(), dsputil_init_altivec(), dsputil_init_bfin(), ff_dsputil_init_armv6(), and main().
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) |
Referenced by dsputil_init(), dsputil_init_mmx(), dsputil_init_ppc(), ff_dsputil_init_armv5te(), hl_decode_mb_internal(), and prefetch_motion().
Definition at line 339 of file dsputil.h.
Referenced by decode_slice_header(), dsputil_init(), and ff_h263_decode_frame().
h264 Chroma MC
Definition at line 330 of file dsputil.h.
Referenced by dsputil_init(), dsputil_init_align(), dsputil_init_mmx(), ff_cavs_inter(), ff_dsputil_init_neon(), hl_decode_mb_internal(), MPV_decode_mb_internal(), rv34_mc_1mv(), rv34_mc_2mv(), rv34_mc_2mv_skip(), vc1_mc_1mv(), vc1_mc_4mv_chroma(), vp6_filter(), and vp6_filter_diag2().
Definition at line 336 of file dsputil.h.
Referenced by decode_slice_header(), dsputil_init(), and ff_dsputil_init_neon().
Definition at line 325 of file dsputil.h.
Referenced by dsputil_init(), dsputil_init_align(), and ff_mspel_motion().
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 ]
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 292 of file dsputil.h.
Referenced by 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().
Definition at line 323 of file dsputil.h.
Referenced by encode_mb_internal(), ff_h263_decode_frame(), ff_init_me(), and h263_mv4_search().
Definition at line 333 of file dsputil.h.
Referenced by dsputil_init(), dsputil_init_mmx(), vc1_mc_1mv(), and vc1_mc_4mv_chroma().
void(* DSPContext::put_pixels_clamped)(const DCTELEM *block, uint8_t *pixels, int line_size) |
void(* DSPContext::put_pixels_nonclamped)(const DCTELEM *block, uint8_t *pixels, int line_size) |
Referenced by bink_decode_plane(), and dsputil_init().
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 ]
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 268 of file dsputil.h.
Referenced by bink_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().
Definition at line 321 of file dsputil.h.
Referenced by check_bidir_mv(), encode_mb_internal(), ff_h263_decode_frame(), ff_init_me(), h263_mv4_search(), and vc1_decode_frame().
Definition at line 557 of file dsputil.h.
Referenced by rv34_mc_1mv(), rv34_mc_2mv(), and rv34_mc_2mv_skip().
Definition at line 563 of file dsputil.h.
Referenced by dsputil_init_mmx(), rv34_mc_1mv(), rv34_mc_2mv(), and rv34_mc_2mv_skip().
Definition at line 561 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) |
Referenced by dsputil_init(), dsputil_init_mmx(), ff_dsputil_init_neon(), vc1_decode_b_mb(), and vc1_decode_p_mb().
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 ]
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 318 of file dsputil.h.
Referenced by dsputil_init(), and svq3_mc_dir_part().
Definition at line 534 of file dsputil.h.
Referenced by ff_vc1dsp_init_mmx(), vc1_mc_1mv(), and vc1_mc_4mv_luma().
Definition at line 233 of file dsputil.h.
Referenced by dsputil_init(), dsputil_init_alpha(), dsputil_init_altivec(), dsputil_init_bfin(), encode_mb_internal(), ff_dsputil_init_armv6(), ff_set_cmp(), get_intra_count(), is_intra_more_likely(), and mpeg4_encode_mb().
int32_t(* DSPContext::scalarproduct_and_madd_int16)(int16_t *v1, int16_t *v2, int16_t *v3, int len, int mul) |
Calculate scalar product of v1 and v2, and v1[i] += v3[i] * mul.
len | length of vectors, should be multiple of 16 |
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.
v1 | first vector, 16-byte aligned | |
v2 | second vector, 16-byte aligned | |
len | length of vectors, multiple of 4 |
Referenced by decode_spectrum_and_dequant(), dsputil_init(), dsputil_init_mmx(), and ff_dsputil_init_neon().
int32_t(* DSPContext::scalarproduct_int16)(int16_t *v1, int16_t *v2, int len, int shift) |
Calculate scalar product of two vectors.
len | length of vectors, should be multiple of 16 | |
shift | number of bits to discard from product |
Referenced by dsputil_init(), dsputil_init_mmx(), ff_acelp_decode_gain_code(), ff_dsputil_init_neon(), and int_init_altivec().
void(* DSPContext::scale_block)(const uint8_t src[64], uint8_t *dst, int linesize) |
Referenced by bink_decode_plane(), and dsputil_init().
void(* DSPContext::shrink[4])(uint8_t *dst, int dst_wrap, const uint8_t *src, int src_wrap, int width, int height) |
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) |
Referenced by dsputil_init(), dsputilenc_init_mmx(), encode_block(), and int_init_altivec().
Definition at line 234 of file dsputil.h.
Referenced by check_input_motion(), dsputil_init(), dsputil_init_altivec(), dsputil_init_bfin(), dsputilenc_init_mmx(), ff_dsputil_init_armv6(), ff_estimate_p_frame_motion(), ff_set_cmp(), nsse16_mmx(), rd8x8_c(), sse(), sse_mb(), and svq1_encode_plane().
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]
Referenced by dsputil_init(), and dsputilenc_init_mmx().
int(* DSPContext::sum_abs_dctelem)(DCTELEM *block) |
Referenced by dct_sad8x8_c(), dsputil_init(), and dsputilenc_init_mmx().
void(* DSPContext::sv_fmul_scalar[2])(float *dst, const float **sv, float mul, int len) |
Multiply short vectors of floats by a scalar float, store concatenated result.
[0]: short vectors of length 2, 8-byte aligned [1]: short vectors of length 4, 16-byte aligned
dst | output vector, 16-byte aligned | |
sv | array of pointers to short vectors | |
mul | scalar value | |
len | number of output elements, multiple of 4 |
Referenced by dsputil_init(), and ff_dsputil_init_neon().
int(* DSPContext::try_8x8basis)(int16_t rem[64], int16_t weight[64], int16_t basis[64], int scale) |
Referenced by dct_quantize_refine(), dsputil_init(), and dsputilenc_init_mmx().
void(* DSPContext::vc1_h_loop_filter16)(uint8_t *src, int stride, int pq) |
Referenced by vc1_loop_filter_iblk().
void(* DSPContext::vc1_h_loop_filter4)(uint8_t *src, int stride, int pq) |
Referenced by vc1_decode_p_block().
void(* DSPContext::vc1_h_loop_filter8)(uint8_t *src, int stride, int pq) |
Referenced by vc1_decode_p_block(), vc1_decode_p_mb(), and vc1_loop_filter_iblk().
void(* DSPContext::vc1_h_overlap)(uint8_t *src, int stride) |
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) |
Referenced by vc1_decode_p_block(), and vc1_decode_sequence_header().
void(* DSPContext::vc1_inv_trans_4x4_dc)(uint8_t *dest, int line_size, DCTELEM *block) |
Referenced by ff_vc1dsp_init_mmx(), vc1_decode_p_block(), and vc1_decode_sequence_header().
void(* DSPContext::vc1_inv_trans_4x8)(uint8_t *dest, int line_size, DCTELEM *block) |
Referenced by vc1_decode_p_block(), and vc1_decode_sequence_header().
void(* DSPContext::vc1_inv_trans_4x8_dc)(uint8_t *dest, int line_size, DCTELEM *block) |
Referenced by ff_vc1dsp_init_mmx(), vc1_decode_p_block(), and vc1_decode_sequence_header().
void(* DSPContext::vc1_inv_trans_8x4)(uint8_t *dest, int line_size, DCTELEM *block) |
Referenced by vc1_decode_p_block(), vc1_decode_sequence_header(), and vc1dsp_init_altivec().
void(* DSPContext::vc1_inv_trans_8x4_dc)(uint8_t *dest, int line_size, DCTELEM *block) |
Referenced by ff_vc1dsp_init_mmx(), vc1_decode_p_block(), and vc1_decode_sequence_header().
void(* DSPContext::vc1_inv_trans_8x8)(DCTELEM *b) |
void(* DSPContext::vc1_inv_trans_8x8_dc)(uint8_t *dest, int line_size, DCTELEM *block) |
Referenced by ff_vc1dsp_init_mmx(), vc1_decode_p_block(), and vc1_decode_sequence_header().
void(* DSPContext::vc1_v_loop_filter16)(uint8_t *src, int stride, int pq) |
Referenced by vc1_loop_filter_iblk().
void(* DSPContext::vc1_v_loop_filter4)(uint8_t *src, int stride, int pq) |
Referenced by vc1_decode_p_block().
void(* DSPContext::vc1_v_loop_filter8)(uint8_t *src, int stride, int pq) |
Referenced by vc1_decode_p_block(), vc1_decode_p_mb(), and vc1_loop_filter_iblk().
void(* DSPContext::vc1_v_overlap)(uint8_t *src, int stride) |
Referenced by vc1_decode_i_blocks(), vc1_decode_i_blocks_adv(), and vc1_decode_p_mb().
void(* DSPContext::vector_clipf)(float *dst, const float *src, float min, float max, int len) |
Referenced by dsputil_init(), dsputil_init_mmx(), and ff_dsputil_init_neon().
void(* DSPContext::vector_fmul)(float *dst, const float *src, int len) |
void(* DSPContext::vector_fmul_add)(float *dst, const float *src0, const float *src1, const float *src2, int len) |
Referenced by dsputil_init(), dsputil_init_mmx(), ff_dsputil_init_neon(), float_init_altivec(), sbr_qmf_synthesis(), and wma_window().
void(* DSPContext::vector_fmul_reverse)(float *dst, const float *src0, const float *src1, 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.
dst | result vector, 16-byte aligned | |
src | input vector, 16-byte aligned | |
mul | scalar value | |
len | length of vector, multiple of 4 |
Referenced by decode_block(), decode_spectrum_and_dequant(), decode_subframe(), dsputil_init(), ff_dsputil_init_neon(), inverse_channel_transform(), and sbr_qmf_analysis().
void(* DSPContext::vector_fmul_sv_scalar[2])(float *dst, const float *src, const float **sv, float mul, int len) |
Multiply a vector of floats by concatenated short vectors of floats and by a scalar float.
Source and destination vectors must overlap exactly or not at all. [0]: short vectors of length 2, 8-byte aligned [1]: short vectors of length 4, 16-byte aligned
dst | output vector, 16-byte aligned | |
src | input vector, 16-byte aligned | |
sv | array of pointers to short vectors | |
mul | scalar value | |
len | number of elements in src and dst, multiple of 4 |
Referenced by dsputil_init(), and ff_dsputil_init_neon().
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) |
Referenced by dsputil_init(), dsputil_init_altivec(), dsputil_init_mmx(), ff_dsputil_init_neon(), and vorbis_parse_audio_packet().
void(* DSPContext::vp3_h_loop_filter)(uint8_t *src, int stride, int *bounding_values) |
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) |
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) |
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) |
Referenced by dsputil_init(), dsputil_init_mmx(), and vp6_filter().
Definition at line 240 of file dsputil.h.
Referenced by dsputil_init(), dsputilenc_init_mmx(), and ff_set_cmp().
void(* DSPContext::x8_h_loop_filter)(uint8_t *src, int stride, int qscale) |
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) |
Referenced by ff_intrax8dsp_init(), and x8_setup_spatial_predictor().
void(* DSPContext::x8_spatial_compensation[12])(uint8_t *src, uint8_t *dst, int linesize) |
Referenced by ff_intrax8dsp_init(), and x8_decode_intra_mb().
void(* DSPContext::x8_v_loop_filter)(uint8_t *src, int stride, int qscale) |
Referenced by ff_intrax8dsp_init(), and x8_decode_intra_mb().