DSP utils. More...
Go to the source code of this file.
Data Structures | |
struct | ScanTable |
Scantable. More... | |
struct | DSPContext |
DSPContext. More... |
Macros | |
#define | H264_IDCT(depth) |
#define | MAX_NEG_CROP 1024 |
#define | PUTAVG_PIXELS(depth) |
#define | ff_put_pixels8x8_c ff_put_pixels8x8_8_c |
#define | ff_avg_pixels8x8_c ff_avg_pixels8x8_8_c |
#define | ff_put_pixels16x16_c ff_put_pixels16x16_8_c |
#define | ff_avg_pixels16x16_c ff_avg_pixels16x16_8_c |
#define | DEF_OLD_QPEL(name) |
#define | CALL_2X_PIXELS(a, b, n) |
#define | FF_NO_IDCT_PERM 1 |
#define | FF_LIBMPEG2_IDCT_PERM 2 |
#define | FF_SIMPLE_IDCT_PERM 3 |
#define | FF_TRANSPOSE_IDCT_PERM 4 |
#define | FF_PARTTRANS_IDCT_PERM 5 |
#define | FF_SSE2_IDCT_PERM 6 |
#define | BASIS_SHIFT 16 |
#define | RECON_SHIFT 6 |
#define | EDGE_WIDTH 16 |
#define | EDGE_TOP 1 |
#define | EDGE_BOTTOM 2 |
#define | BYTE_VEC32(c) ((c)*0x01010101UL) |
#define | BYTE_VEC64(c) ((c)*0x0001000100010001UL) |
#define | STRIDE_ALIGN 8 |
#define | E(x) x |
#define | LOCAL_ALIGNED_A(a, t, v, s, o,...) |
#define | LOCAL_ALIGNED_D(a, t, v, s, o,...) |
#define | LOCAL_ALIGNED(a, t, v,...) E(LOCAL_ALIGNED_A(a, t, v, __VA_ARGS__,,)) |
#define | LOCAL_ALIGNED_8(t, v,...) LOCAL_ALIGNED(8, t, v, __VA_ARGS__) |
#define | LOCAL_ALIGNED_16(t, v,...) LOCAL_ALIGNED(16, t, v, __VA_ARGS__) |
#define | WRAPPER8_16_SQ(name8, name16) |
Typedefs | |
typedef short | DCTELEM |
typedef void(* | op_pixels_func )(uint8_t *block, const uint8_t *pixels, int line_size, int h) |
typedef void(* | tpel_mc_func )(uint8_t *block, const uint8_t *pixels, int line_size, int w, int h) |
typedef void(* | qpel_mc_func )(uint8_t *dst, uint8_t *src, int stride) |
typedef void(* | h264_chroma_mc_func )(uint8_t *dst, uint8_t *src, int srcStride, int h, int x, int y) |
typedef void(* | op_fill_func )(uint8_t *block, uint8_t value, int line_size, int h) |
typedef int(* | me_cmp_func )(void *s, uint8_t *blk1, uint8_t *blk2, int line_size, int h) |
typedef struct ScanTable | ScanTable |
Scantable. | |
typedef struct DSPContext | DSPContext |
DSPContext. |
Variables | |
const uint8_t | ff_alternate_horizontal_scan [64] |
const uint8_t | ff_alternate_vertical_scan [64] |
const uint8_t | ff_zigzag_direct [64] |
const uint8_t | ff_zigzag248_direct [64] |
uint32_t | ff_squareTbl [512] |
uint8_t | ff_cropTbl [256+2 *MAX_NEG_CROP] |
DSP utils.
note, many functions in here may use MMX which trashes the FPU state, it is absolutely necessary to call emms_c() between dsp & float/double code
Definition in file dsputil.h.
#define BASIS_SHIFT 16 |
Definition at line 427 of file dsputil.h.
Referenced by add_8x8basis(), add_8x8basis_c(), build_basis(), try_8x8basis(), and try_8x8basis_c().
#define BYTE_VEC32 | ( | c | ) | ((c)*0x01010101UL) |
Definition at line 507 of file dsputil.h.
Referenced by no_rnd_avg32(), and rnd_avg32().
#define BYTE_VEC64 | ( | c | ) | ((c)*0x0001000100010001UL) |
Definition at line 508 of file dsputil.h.
Referenced by no_rnd_avg64(), and rnd_avg64().
#define CALL_2X_PIXELS | ( | a, | |
b, | |||
n | |||
) |
#define DEF_OLD_QPEL | ( | name | ) |
#define EDGE_BOTTOM 2 |
Definition at line 433 of file dsputil.h.
Referenced by draw_edges(), ff_draw_horiz_band(), ff_MPV_frame_end(), and ff_snow_frame_start().
#define EDGE_TOP 1 |
Definition at line 432 of file dsputil.h.
Referenced by draw_edges(), ff_draw_horiz_band(), ff_MPV_frame_end(), and ff_snow_frame_start().
#define EDGE_WIDTH 16 |
Definition at line 431 of file dsputil.h.
Referenced by avcodec_get_edge_width(), ff_draw_horiz_band(), ff_MPV_frame_end(), ff_snow_frame_start(), ff_snow_release_buffer(), halfpel_interpol(), init_context_frame(), and video_get_buffer().
#define ff_avg_pixels8x8_c ff_avg_pixels8x8_8_c |
Definition at line 100 of file dsputil.h.
Referenced by ff_vc1dsp_init().
#define FF_LIBMPEG2_IDCT_PERM 2 |
Definition at line 419 of file dsputil.h.
Referenced by dct_quantize(), ff_dsputil_init(), ff_dsputil_init_arm(), ff_dsputil_init_armv6(), and ff_init_scantable_permutation().
#define FF_NO_IDCT_PERM 1 |
Definition at line 418 of file dsputil.h.
Referenced by dct_quantize_bfin(), decode_init(), ff_cavsdsp_init(), ff_dct_quantize_c(), ff_dsputil_init(), ff_dsputil_init_arm(), ff_dsputil_init_armv5te(), ff_dsputil_init_bfin(), ff_dsputil_init_sh4(), ff_init_scantable_permutation(), ff_proresdsp_init(), ff_vp3dsp_init(), tgq_decode_init(), and tqi_decode_init().
#define FF_PARTTRANS_IDCT_PERM 5 |
Definition at line 422 of file dsputil.h.
Referenced by ff_dsputil_init_neon(), ff_init_scantable_permutation(), and ff_vp3dsp_init_x86().
#define ff_put_pixels8x8_c ff_put_pixels8x8_8_c |
Definition at line 99 of file dsputil.h.
Referenced by ff_dsputil_init(), and ff_vc1dsp_init().
#define FF_SIMPLE_IDCT_PERM 3 |
Definition at line 420 of file dsputil.h.
Referenced by dct_quantize(), dsputil_init_mmx(), and ff_init_scantable_permutation().
#define FF_SSE2_IDCT_PERM 6 |
Definition at line 423 of file dsputil.h.
Referenced by dsputil_init_sse2(), and ff_init_scantable_permutation().
#define FF_TRANSPOSE_IDCT_PERM 4 |
Definition at line 421 of file dsputil.h.
Referenced by ff_dsputil_init_ppc(), ff_dsputil_init_vis(), ff_init_scantable_permutation(), ff_proresdsp_x86_init(), ff_vp3dsp_init_arm(), ff_vp3dsp_init_ppc(), and ff_vp3dsp_init_x86().
#define H264_IDCT | ( | depth | ) |
#define LOCAL_ALIGNED | ( | a, | |
t, | |||
v, | |||
... | |||
) | E(LOCAL_ALIGNED_A(a, t, v, __VA_ARGS__,,)) |
Definition at line 582 of file dsputil.h.
Referenced by do_hybrid_window().
#define LOCAL_ALIGNED_16 | ( | t, | |
v, | |||
... | |||
) | LOCAL_ALIGNED(16, t, v, __VA_ARGS__) |
Definition at line 593 of file dsputil.h.
Referenced by apply_channel_coupling(), apply_window_mp3(), bink_decode_plane(), binkb_decode_plane(), bit8x8_c(), count_mantissa_bits(), dca_subsubframe(), dct_max8x8_c(), dct_quantize(), dct_quantize_refine(), dct_sad8x8_c(), decode_subframe(), decorrelate(), dnxhd_calc_bits_thread(), dv_decode_video_segment(), dv_init_enc_block(), ff_check_alignment(), h263_skip_b_part(), imc_decode_frame(), mpc7_decode_init(), quant_psnr8x8_c(), rd8x8_c(), render_slice(), rv34_decode_inter_macroblock(), rv34_output_i16x16(), sbr_hf_assemble(), and sbr_hf_inverse_filter().
#define LOCAL_ALIGNED_8 | ( | t, | |
v, | |||
... | |||
) | LOCAL_ALIGNED(8, t, v, __VA_ARGS__) |
Definition at line 587 of file dsputil.h.
Referenced by dv_encode_video_segment(), h264_filter_mb_fast_internal(), and MPV_motion_internal().
#define LOCAL_ALIGNED_A | ( | a, | |
t, | |||
v, | |||
s, | |||
o, | |||
... | |||
) |
#define LOCAL_ALIGNED_D | ( | a, | |
t, | |||
v, | |||
s, | |||
o, | |||
... | |||
) |
#define MAX_NEG_CROP 1024 |
Definition at line 83 of file dsputil.h.
Referenced by cavs_idct8_add_c(), deinterlace_line_c(), deinterlace_line_inplace_c(), ff_bfin_vp3_idct_put(), ff_dsputil_static_init(), filter_common(), filter_mbedge(), h_block_filter(), idct_add(), idct_put(), intra_pred_plane(), mp_yuv_to_rgb(), parse_palette_segment(), pred16x16_tm_vp8_c(), pred4x4_tm_vp8_c(), pred8x8_tm_vp8_c(), rv30_weak_loop_filter(), rv40_weak_loop_filter(), v_block_filter(), wmv2_mspel8_h_lowpass(), wmv2_mspel8_v_lowpass(), and yuv_a_to_rgba().
#define PUTAVG_PIXELS | ( | depth | ) |
#define RECON_SHIFT 6 |
Definition at line 428 of file dsputil.h.
Referenced by add_8x8basis(), add_8x8basis_c(), dct_quantize_refine(), try_8x8basis(), and try_8x8basis_c().
#define STRIDE_ALIGN 8 |
Definition at line 567 of file dsputil.h.
Referenced by avcodec_align_dimensions2(), and fill_rectangle().
#define WRAPPER8_16_SQ | ( | name8, | |
name16 | |||
) |
typedef struct DSPContext DSPContext |
|
inlinestatic |
Definition at line 622 of file dsputil.h.
Referenced by copy_cell().
|
inlinestatic |
Definition at line 633 of file dsputil.h.
Referenced by mjpeg_decode_scan(), mjpeg_decode_scan_progressive_ac(), and rd8x8_c().
Referenced by ff_rv40dsp_init().
Referenced by ff_rv40dsp_init().
void ff_block_permute | ( | DCTELEM * | block, |
uint8_t * | permutation, | ||
const uint8_t * | scantable, | ||
int | last | ||
) |
permute block according to permuatation.
last | last non zero element in scantable order |
permute block according to permuatation.
block | the block which will be permuted according to the given permutation vector |
permutation | the permutation vector |
last | the last non zero coefficient in scantable order, used to speed the permutation up |
scantable | the used scantable, this is only used to speed the permutation up, the block is not (inverse) permutated to scantable order! |
Definition at line 1716 of file dsputil.c.
Referenced by dct_quantize_bfin(), and ff_dct_quantize_c().
int ff_check_alignment | ( | void | ) |
Definition at line 2608 of file dsputil.c.
Referenced by encode_thread(), estimate_motion_thread(), ff_dsputil_init(), and mb_var_thread().
void ff_dsputil_init | ( | DSPContext * | p, |
AVCodecContext * | avctx | ||
) |
Definition at line 2628 of file dsputil.c.
Referenced by aac_decode_init(), ac3_decode_init(), ape_decode_init(), cllc_decode_init(), common_init(), cook_decode_init(), decode_init(), dnxhd_decode_header(), dnxhd_encode_init(), dsp_init(), encode_init(), ff_ac3_encode_init(), ff_asv_common_init(), ff_cavs_init(), ff_dct_common_init(), ff_dvvideo_init(), ff_huffyuv_common_init(), ff_mjpeg_decode_init(), ff_vp56_init(), ff_wma_init(), ffv1_common_init(), flac_encode_init(), h264_set_parameter_from_sps(), imc_decode_init(), ipvideo_decode_init(), lag_decode_init(), mca(), mdec_common_init(), mimic_decode_init(), mp_decode_init(), mpc7_decode_init(), mpc8_decode_init(), png_enc_init(), svq1_decode_init(), svq1_encode_init(), tak_decode_init(), tqi_decode_init(), truespeech_decode_init(), utvideo_encode_init(), vble_decode_init(), vorbis_decode_init(), and vp3_decode_init().
void ff_dsputil_init_alpha | ( | DSPContext * | c, |
AVCodecContext * | avctx | ||
) |
Definition at line 271 of file dsputil_alpha.c.
Referenced by ff_dsputil_init().
void ff_dsputil_init_arm | ( | DSPContext * | c, |
AVCodecContext * | avctx | ||
) |
Definition at line 77 of file dsputil_init_arm.c.
Referenced by ff_dsputil_init().
void ff_dsputil_init_bfin | ( | DSPContext * | c, |
AVCodecContext * | avctx | ||
) |
Definition at line 198 of file dsputil_bfin.c.
Referenced by ff_dsputil_init().
void ff_dsputil_init_dwt | ( | DSPContext * | c | ) |
Definition at line 845 of file dwt.c.
Referenced by ff_dsputil_init().
void ff_dsputil_init_mmx | ( | DSPContext * | c, |
AVCodecContext * | avctx | ||
) |
Definition at line 2437 of file dsputil_mmx.c.
Referenced by ff_dsputil_init().
void ff_dsputil_init_ppc | ( | DSPContext * | c, |
AVCodecContext * | avctx | ||
) |
Definition at line 140 of file dsputil_ppc.c.
Referenced by ff_dsputil_init().
void ff_dsputil_init_sh4 | ( | DSPContext * | c, |
AVCodecContext * | avctx | ||
) |
Definition at line 92 of file dsputil_sh4.c.
Referenced by ff_dsputil_init().
void ff_dsputil_init_vis | ( | DSPContext * | c, |
AVCodecContext * | avctx | ||
) |
Definition at line 3953 of file dsputil_vis.c.
Referenced by ff_dsputil_init().
Definition at line 2591 of file dsputil.c.
Referenced by avcodec_init().
Referenced by ff_dsputil_init().
Referenced by ff_dsputil_init().
Definition at line 208 of file jfdctfst.c.
Referenced by dct_quantize_trellis_c(), ff_convert_matrix(), and ff_dsputil_init().
Definition at line 274 of file jfdctfst.c.
Referenced by ff_dsputil_init().
Referenced by hadamard_func().
Referenced by hadamard_func().
Referenced by hadamard_func().
void ff_gmc_c | ( | 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 | ||
) |
Definition at line 477 of file dsputil.c.
Referenced by ff_dsputil_init().
Definition at line 122 of file dsputil.c.
Referenced by decode_frame_header(), decode_init(), decode_vop_header(), dnxhd_init_vlc(), encode_init(), ff_cavs_init(), ff_dct_common_init(), ff_intrax8_common_init(), ff_mjpeg_decode_init(), ff_msmpeg4_common_init(), ff_vp56_init(), ff_wmv2_common_init(), mimic_decode_init(), mpeg_decode_picture_coding_extension(), tgq_decode_init(), tqi_decode_init(), and vp3_decode_init().
Definition at line 143 of file dsputil.c.
Referenced by decode_init(), ff_cavs_init(), ff_dsputil_init(), ff_proresdsp_init(), ff_vp56_init(), tgq_decode_init(), tqi_decode_init(), and vp3_decode_init().
Referenced by ff_dsputil_init(), ff_jref_idct_add(), and ff_jref_idct_put().
Referenced by ff_convert_matrix(), and ff_dsputil_init().
Referenced by ff_convert_matrix(), and ff_dsputil_init().
Referenced by ff_rv40dsp_init().
Referenced by ff_rv40dsp_init().
float ff_scalarproduct_float_c | ( | const float * | v1, |
const float * | v2, | ||
int | len | ||
) |
Return the scalar product of two vectors.
v1 | first input vector |
v2 | first input vector |
len | number of elements |
Definition at line 2390 of file dsputil.c.
Referenced by acelp_decode_gain_codef(), amrnb_decode_frame(), amrwb_decode_frame(), apply_gain_ctrl(), calc_input_response(), convolve(), decode(), decode_frame(), ff_adaptive_gain_control(), ff_amr_set_fixed_gain(), ff_dsputil_init(), ff_scale_vector_to_given_sum_of_squares(), find_hb_gain(), kalman_smoothen(), postfilter(), scaled_hb_excitation(), synth_block_fcb_acb(), synthesis(), tilt_factor(), upsample_5_4(), and voice_factor().
void ff_set_cmp | ( | DSPContext * | c, |
me_cmp_func * | cmp, | ||
int | type | ||
) |
Definition at line 1741 of file dsputil.c.
Referenced by encode_init(), ff_dvvideo_init(), ff_init_me(), and ff_MPV_encode_init().
void ff_shrink22 | ( | uint8_t * | dst, |
int | dst_wrap, | ||
const uint8_t * | src, | ||
int | src_wrap, | ||
int | width, | ||
int | height | ||
) |
Definition at line 192 of file imgconvert.c.
Referenced by ff_dsputil_init().
void ff_shrink44 | ( | uint8_t * | dst, |
int | dst_wrap, | ||
const uint8_t * | src, | ||
int | src_wrap, | ||
int | width, | ||
int | height | ||
) |
Definition at line 225 of file imgconvert.c.
Referenced by ff_dsputil_init().
void ff_shrink88 | ( | uint8_t * | dst, |
int | dst_wrap, | ||
const uint8_t * | src, | ||
int | src_wrap, | ||
int | width, | ||
int | height | ||
) |
Definition at line 256 of file imgconvert.c.
Referenced by ff_dsputil_init().
Definition at line 175 of file svq3.c.
Referenced by hl_decode_mb(), hl_decode_mb_idct_luma(), and hl_decode_mb_predict_luma().
Definition at line 140 of file svq3.c.
Referenced by hl_decode_mb_predict_luma().
Definition at line 2557 of file dsputil.c.
Referenced by ff_dsputil_init(), ff_wmv2_idct_add_c(), and ff_wmv2_idct_put_c().
|
inlinestatic |
Definition at line 530 of file dsputil.h.
Referenced by encode_q_branch(), ff_estimate_motion_b(), ff_estimate_p_frame_motion(), ff_pre_estimate_p_frame_motion(), get_4block_rd(), and get_block_rd().
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
const uint8_t ff_alternate_horizontal_scan[64] |
Definition at line 86 of file dsputil.c.
Referenced by decode_vop_header(), and ff_dct_common_init().
const uint8_t ff_alternate_vertical_scan[64] |
Definition at line 97 of file dsputil.c.
Referenced by decode_vop_header(), ff_dct_common_init(), and mpeg_decode_picture_coding_extension().
uint8_t ff_cropTbl[256+2 *MAX_NEG_CROP] |
uint32_t ff_squareTbl[512] |
Definition at line 42 of file dsputil.c.
Referenced by ff_dsputil_static_init(), pix_norm1(), pix_norm1_c(), sse(), sse16_c(), sse4_c(), and sse8_c().
const uint8_t ff_zigzag248_direct[64] |
Definition at line 72 of file dsputil.c.
Referenced by dv_init_enc_block(), and ff_dvvideo_init().
const uint8_t ff_zigzag_direct[64] |
Definition at line 59 of file dsputil.c.
Referenced by decode_dct(), decode_gop_header(), decode_i_block(), decode_init(), decode_scaling_list(), decode_vol_header(), decode_vop_header(), dnxhd_init_qmat(), dnxhd_init_vlc(), dv_init_enc_block(), ff_cavs_init(), ff_dct_common_init(), ff_dsputil_static_init(), ff_dvvideo_init(), ff_mjpeg_decode_init(), ff_rtjpeg_decode_init(), ff_vp56_init(), ff_write_quant_matrix(), fill_quantization_matrices(), fill_scaling_lists(), init_scan_tables(), load_matrix(), mpeg_decode_picture_coding_extension(), mss4_decode_dct(), tgq_decode_init(), tqi_decode_init(), vaapi_mpeg2_start_frame(), vaapi_mpeg4_start_frame(), and vp3_decode_init().