#include "libavutil/intreadwrite.h"
#include "avcodec.h"
Go to the source code of this file.
Data Structures | |
struct | ScanTable |
Scantable. More... | |
struct | DSPContext |
DSPContext. More... | |
struct | FFTComplex |
struct | FFTContext |
struct | MDCTContext |
struct | RDFTContext |
Defines | |
#define | MAX_NEG_CROP 1024 |
#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 | BYTE_VEC32(c) ((c)*0x01010101UL) |
#define | emms_c() |
Empty mmx state. | |
#define | DECLARE_ALIGNED_16(t, v) DECLARE_ALIGNED(16, t, v) |
#define | emms_c() |
Empty mmx state. | |
#define | DECLARE_ALIGNED_8(t, v) DECLARE_ALIGNED(8, t, v) |
#define | STRIDE_ALIGN 8 |
#define | WRAPPER8_16(name8, name16) |
#define | WRAPPER8_16_SQ(name8, name16) |
Typedefs | |
typedef short | DCTELEM |
typedef int | DWTELEM |
typedef short | IDWTELEM |
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(* | h264_weight_func )(uint8_t *block, int stride, int log2_denom, int weight, int offset) |
typedef void(* | h264_biweight_func )(uint8_t *dst, uint8_t *src, int stride, int log2_denom, int weightd, int weights, int offset) |
typedef int(* | me_cmp_func )(void *s, uint8_t *blk1, uint8_t *blk2, int line_size, int h) |
typedef struct slice_buffer_s | slice_buffer |
typedef float | FFTSample |
Enumerations | |
enum | RDFTransformType { RDFT, IRDFT, RIDFT, IRIDFT } |
Functions | |
void | fdct_ifast (DCTELEM *data) |
void | fdct_ifast248 (DCTELEM *data) |
void | ff_jpeg_fdct_islow (DCTELEM *data) |
void | ff_fdct248_islow (DCTELEM *data) |
void | j_rev_dct (DCTELEM *data) |
void | j_rev_dct4 (DCTELEM *data) |
void | j_rev_dct2 (DCTELEM *data) |
void | j_rev_dct1 (DCTELEM *data) |
void | ff_wmv2_idct_c (DCTELEM *data) |
void | ff_fdct_mmx (DCTELEM *block) |
void | ff_fdct_mmx2 (DCTELEM *block) |
void | ff_fdct_sse2 (DCTELEM *block) |
void | ff_h264_idct8_add_c (uint8_t *dst, DCTELEM *block, int stride) |
void | ff_h264_idct_add_c (uint8_t *dst, DCTELEM *block, int stride) |
void | ff_h264_idct8_dc_add_c (uint8_t *dst, DCTELEM *block, int stride) |
void | ff_h264_idct_dc_add_c (uint8_t *dst, DCTELEM *block, int stride) |
void | ff_h264_lowres_idct_add_c (uint8_t *dst, int stride, DCTELEM *block) |
void | ff_h264_lowres_idct_put_c (uint8_t *dst, int stride, DCTELEM *block) |
void | ff_h264_idct_add16_c (uint8_t *dst, const int *blockoffset, DCTELEM *block, int stride, const uint8_t nnzc[6 *8]) |
void | ff_h264_idct_add16intra_c (uint8_t *dst, const int *blockoffset, DCTELEM *block, int stride, const uint8_t nnzc[6 *8]) |
void | ff_h264_idct8_add4_c (uint8_t *dst, const int *blockoffset, DCTELEM *block, int stride, const uint8_t nnzc[6 *8]) |
void | ff_h264_idct_add8_c (uint8_t **dest, const int *blockoffset, DCTELEM *block, int stride, const uint8_t nnzc[6 *8]) |
void | ff_vector_fmul_add_add_c (float *dst, const float *src0, const float *src1, const float *src2, int src3, int blocksize, int step) |
void | ff_vector_fmul_window_c (float *dst, const float *src0, const float *src1, const float *win, float add_bias, int len) |
void | ff_float_to_int16_c (int16_t *dst, const float *src, long len) |
void | ff_float_to_int16_interleave_c (int16_t *dst, const float **src, long len, int channels) |
void | ff_vp3_idct_c (DCTELEM *block) |
void | ff_vp3_idct_put_c (uint8_t *dest, int line_size, DCTELEM *block) |
void | ff_vp3_idct_add_c (uint8_t *dest, int line_size, DCTELEM *block) |
void | ff_vp3_v_loop_filter_c (uint8_t *src, int stride, int *bounding_values) |
void | ff_vp3_h_loop_filter_c (uint8_t *src, int stride, int *bounding_values) |
void | ff_vp6_filter_diag4_c (uint8_t *dst, uint8_t *src, int stride, const int16_t *h_weights, const int16_t *v_weights) |
void | ff_img_copy_plane (uint8_t *dst, int dst_wrap, const uint8_t *src, int src_wrap, int width, int height) |
void | ff_shrink22 (uint8_t *dst, int dst_wrap, const uint8_t *src, int src_wrap, int width, int height) |
void | ff_shrink44 (uint8_t *dst, int dst_wrap, const uint8_t *src, int src_wrap, int width, int height) |
void | ff_shrink88 (uint8_t *dst, int dst_wrap, const uint8_t *src, int src_wrap, int width, int height) |
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) |
void | ff_init_scantable (uint8_t *, ScanTable *st, const uint8_t *src_scantable) |
void | ff_emulated_edge_mc (uint8_t *buf, uint8_t *src, int linesize, int block_w, int block_h, int src_x, int src_y, int w, int h) |
Copies a rectangular area of samples to a temporary buffer and replicates the boarder samples. | |
void | dsputil_static_init (void) |
void | dsputil_init (DSPContext *p, AVCodecContext *avctx) |
int | ff_check_alignment (void) |
void | ff_block_permute (DCTELEM *block, uint8_t *permutation, const uint8_t *scantable, int last) |
permute block according to permuatation. | |
void | ff_set_cmp (DSPContext *c, me_cmp_func *cmp, int type) |
static uint32_t | rnd_avg32 (uint32_t a, uint32_t b) |
static uint32_t | no_rnd_avg32 (uint32_t a, uint32_t b) |
static int | get_penalty_factor (int lambda, int lambda2, int type) |
int | mm_support (void) |
void | dsputil_init_alpha (DSPContext *c, AVCodecContext *avctx) |
void | dsputil_init_arm (DSPContext *c, AVCodecContext *avctx) |
void | dsputil_init_bfin (DSPContext *c, AVCodecContext *avctx) |
void | dsputil_init_mlib (DSPContext *c, AVCodecContext *avctx) |
void | dsputil_init_mmi (DSPContext *c, AVCodecContext *avctx) |
void | dsputil_init_mmx (DSPContext *c, AVCodecContext *avctx) |
void | dsputil_init_ppc (DSPContext *c, AVCodecContext *avctx) |
void | dsputil_init_sh4 (DSPContext *c, AVCodecContext *avctx) |
void | dsputil_init_vis (DSPContext *c, AVCodecContext *avctx) |
void | add_pixels_clamped_mmx (const DCTELEM *block, uint8_t *pixels, int line_size) |
void | put_pixels_clamped_mmx (const DCTELEM *block, uint8_t *pixels, int line_size) |
void | put_signed_pixels_clamped_mmx (const DCTELEM *block, uint8_t *pixels, int line_size) |
static void | emms (void) |
void | dsputil_init_pix_mmx (DSPContext *c, AVCodecContext *avctx) |
void | get_psnr (uint8_t *orig_image[3], uint8_t *coded_image[3], int orig_linesize[3], int coded_linesize, AVCodecContext *avctx) |
int | ff_fft_init (FFTContext *s, int nbits, int inverse) |
Sets up a complex FFT. | |
void | ff_fft_permute_c (FFTContext *s, FFTComplex *z) |
void | ff_fft_permute_sse (FFTContext *s, FFTComplex *z) |
void | ff_fft_calc_c (FFTContext *s, FFTComplex *z) |
void | ff_fft_calc_sse (FFTContext *s, FFTComplex *z) |
void | ff_fft_calc_3dn (FFTContext *s, FFTComplex *z) |
void | ff_fft_calc_3dn2 (FFTContext *s, FFTComplex *z) |
void | ff_fft_calc_altivec (FFTContext *s, FFTComplex *z) |
Do a complex FFT with the parameters defined in ff_fft_init(). | |
static void | ff_fft_permute (FFTContext *s, FFTComplex *z) |
Do the permutation needed BEFORE calling ff_fft_calc(). | |
static void | ff_fft_calc (FFTContext *s, FFTComplex *z) |
Do a complex FFT with the parameters defined in ff_fft_init(). | |
void | ff_fft_end (FFTContext *s) |
static void | ff_imdct_calc (MDCTContext *s, FFTSample *output, const FFTSample *input) |
static void | ff_imdct_half (MDCTContext *s, FFTSample *output, const FFTSample *input) |
void | ff_kbd_window_init (float *window, float alpha, int n) |
Generate a Kaiser-Bessel Derived Window. | |
void | ff_sine_window_init (float *window, int n) |
Generate a sine window. | |
int | ff_mdct_init (MDCTContext *s, int nbits, int inverse) |
init MDCT or IMDCT computation. | |
void | ff_imdct_calc_c (MDCTContext *s, FFTSample *output, const FFTSample *input) |
Compute inverse MDCT of size N = 2^nbits. | |
void | ff_imdct_half_c (MDCTContext *s, FFTSample *output, const FFTSample *input) |
Compute the middle half of the inverse MDCT of size N = 2^nbits, thus excluding the parts that can be derived by symmetry. | |
void | ff_imdct_calc_3dn (MDCTContext *s, FFTSample *output, const FFTSample *input) |
void | ff_imdct_half_3dn (MDCTContext *s, FFTSample *output, const FFTSample *input) |
void | ff_imdct_calc_3dn2 (MDCTContext *s, FFTSample *output, const FFTSample *input) |
void | ff_imdct_half_3dn2 (MDCTContext *s, FFTSample *output, const FFTSample *input) |
void | ff_imdct_calc_sse (MDCTContext *s, FFTSample *output, const FFTSample *input) |
void | ff_imdct_half_sse (MDCTContext *s, FFTSample *output, const FFTSample *input) |
void | ff_mdct_calc (MDCTContext *s, FFTSample *out, const FFTSample *input) |
Compute MDCT of size N = 2^nbits. | |
void | ff_mdct_end (MDCTContext *s) |
int | ff_rdft_init (RDFTContext *s, int nbits, enum RDFTransformType trans) |
Sets up a real FFT. | |
void | ff_rdft_calc (RDFTContext *s, FFTSample *data) |
void | ff_rdft_end (RDFTContext *s) |
static void | copy_block2 (uint8_t *dst, uint8_t *src, int dstStride, int srcStride, int h) |
static void | copy_block4 (uint8_t *dst, uint8_t *src, int dstStride, int srcStride, int h) |
static void | copy_block8 (uint8_t *dst, uint8_t *src, int dstStride, int srcStride, int h) |
static void | copy_block9 (uint8_t *dst, uint8_t *src, int dstStride, int srcStride, int h) |
static void | copy_block16 (uint8_t *dst, uint8_t *src, int dstStride, int srcStride, int h) |
static void | copy_block17 (uint8_t *dst, uint8_t *src, int dstStride, int srcStride, int h) |
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] |
int | mm_flags |
FFTSample * | ff_cos_tabs [13] |
float | ff_sine_128 [128] |
float | ff_sine_256 [256] |
float | ff_sine_512 [512] |
float | ff_sine_1024 [1024] |
float | ff_sine_2048 [2048] |
float | ff_sine_4096 [4096] |
float * | ff_sine_windows [6] |
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 447 of file dsputil.h.
Referenced by add_8x8basis_c(), add_8x8basis_TMPL(), build_basis(), try_8x8basis_c(), and try_8x8basis_TMPL().
#define BYTE_VEC32 | ( | c | ) | ((c)*0x01010101UL) |
#define CALL_2X_PIXELS | ( | a, | |||
b, | |||||
n | ) |
Definition at line 593 of file dsputil.h.
Referenced by ac3_downmix_sse(), apply_mdct(), biweight_h264_WxH_altivec(), dct_quantize_refine(), dct_quantize_TMPL(), dct_sad8x8_c(), dct_unquantize_h263_altivec(), DECLARE_ASM_CONST(), dnxhd_calc_bits_thread(), dv_decode_video_segment(), dv_init_enc_block(), ff_check_alignment(), ff_snow_horizontal_compose97i_altivec(), ff_snow_horizontal_compose97i_sse2(), gmc1_altivec(), h264_idct_dc_add_internal(), inner_add_yblock_a_bw_16_obmc_32_altivec(), inner_add_yblock_a_bw_8_obmc_16_altivec(), inner_add_yblock_bw_16_obmc_32_altivec(), inner_add_yblock_bw_8_obmc_16_altivec(), pix_norm1_altivec(), pix_sum_altivec(), PREFIX_h264_chroma_mc8_altivec(), put_no_rnd_h264_chroma_mc8_altivec(), qmf_32_subbands(), render_slice(), rtjpeg_decode_frame_yuv420(), sad16_altivec(), sad16_x2_altivec(), sad16_xy2_altivec(), sad16_y2_altivec(), sad8_altivec(), scalarproduct_int16_altivec(), scalarproduct_int16_sse2(), sse16_altivec(), sse8_altivec(), weight_h264_WxH_altivec(), and write16x4().
Definition at line 648 of file dsputil.h.
Referenced by bit8x8_c(), cavs_idct8_add_mmx(), dct_max8x8_c(), dv_decode_video_segment(), ff_cavs_filter(), ff_h264_idct8_add_mmx(), ff_simple_idct_vis(), filter_mb_fast(), H264_CHROMA_MC8_TMPL(), h264_h_loop_filter_chroma_intra_mmx2(), h264_h_loop_filter_chroma_mmx2(), h264_h_loop_filter_luma_mmx2(), h264_loop_filter_luma_mmx2(), h264_loop_filter_strength_mmx2(), quant_psnr8x8_c(), and rd8x8_c().
#define DEF_OLD_QPEL | ( | name | ) |
Value:
void ff_put_ ## name (uint8_t *dst/*align width (8 or 16)*/, uint8_t *src/*align 1*/, int stride);\ void ff_put_no_rnd_ ## name (uint8_t *dst/*align width (8 or 16)*/, uint8_t *src/*align 1*/, int stride);\ void ff_avg_ ## name (uint8_t *dst/*align width (8 or 16)*/, uint8_t *src/*align 1*/, int stride);
#define EDGE_WIDTH 16 |
Definition at line 451 of file dsputil.h.
Referenced by avcodec_default_get_buffer(), decode_frame(), encode_frame(), frame_start(), halfpel_interpol(), MPV_common_init(), and MPV_frame_end().
#define emms_c | ( | ) |
#define emms_c | ( | ) |
Empty mmx state.
this must be called between any dsp function and float/double code. for example sin(); dsp->idct_put(); emms_c(); cos()
Definition at line 611 of file dsputil.h.
Referenced by avcodec_decode_video(), avcodec_encode_video(), avpicture_deinterlace(), build_basis(), decode_chunks(), decode_frame(), encode_frame(), encode_picture(), encode_picture_lossless(), encode_picture_ls(), encode_thread(), ff_draw_horiz_band(), ff_faandct(), ff_faandct248(), ff_faanidct(), ff_faanidct_add(), ff_faanidct_put(), ff_mjpeg_decode_sos(), ff_rate_control_init(), ff_rate_control_uninit(), ff_rate_estimate_qscale(), MPV_frame_end(), render_slice(), select_input_picture(), slice_decode_thread(), and test_motion().
#define FF_LIBMPEG2_IDCT_PERM 2 |
Definition at line 439 of file dsputil.h.
Referenced by dct_quantize_TMPL(), dsputil_init(), dsputil_init_arm(), dsputil_init_mmi(), and dsputil_init_mmx().
#define FF_NO_IDCT_PERM 1 |
Definition at line 438 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_sh4(), and MPV_common_init_mlib().
#define FF_PARTTRANS_IDCT_PERM 5 |
Definition at line 442 of file dsputil.h.
Referenced by dsputil_init(), dsputil_init_arm(), and dsputil_init_mmx().
#define FF_SIMPLE_IDCT_PERM 3 |
Definition at line 440 of file dsputil.h.
Referenced by dct_quantize_TMPL(), dsputil_init(), and dsputil_init_mmx().
#define FF_SSE2_IDCT_PERM 6 |
#define FF_TRANSPOSE_IDCT_PERM 4 |
Definition at line 441 of file dsputil.h.
Referenced by dct_quantize_altivec(), dsputil_init(), dsputil_init_mmx(), dsputil_init_ppc(), dsputil_init_vis(), and MPV_common_init_altivec().
#define MAX_NEG_CROP 1024 |
Definition at line 83 of file dsputil.h.
Referenced by add_pixels_clamped2_c(), add_pixels_clamped4_c(), add_pixels_clamped_c(), cavs_idct8_add_c(), deinterlace_line(), deinterlace_line_inplace(), dsputil_static_init(), ff_bfin_vp3_idct_put(), ff_h264_idct8_add_c(), ff_h264_idct8_dc_add_c(), ff_h264_idct_dc_add_c(), ff_idct_put_mlib(), ff_jref_idct1_add(), ff_jref_idct1_put(), glue(), h_block_filter(), idct(), idct4col_add(), idct4col_put(), idct_add(), idct_internal(), idct_put(), idctSparseColAdd(), idctSparseColPut(), img_convert_init(), intra_pred_plane(), main(), mp_yuv_to_rgb(), pred16x16_plane_compat_c(), pred8x8_plane_c(), Process(), put_pixels_clamped2_c(), put_pixels_clamped4_c(), put_pixels_clamped_c(), rv30_weak_loop_filter(), rv40_weak_loop_filter(), svq3_add_idct_c(), v_block_filter(), vc1_filter_line(), vc1_inv_trans_4x4_c(), vc1_inv_trans_4x8_c(), vc1_inv_trans_8x4_c(), wmv2_mspel8_h_lowpass(), wmv2_mspel8_v_lowpass(), and yuv_a_to_rgba().
#define RECON_SHIFT 6 |
Definition at line 448 of file dsputil.h.
Referenced by add_8x8basis_c(), add_8x8basis_TMPL(), dct_quantize_refine(), try_8x8basis_c(), and try_8x8basis_TMPL().
#define STRIDE_ALIGN 8 |
Definition at line 652 of file dsputil.h.
Referenced by avcodec_default_get_buffer(), and fill_rectangle().
#define WRAPPER8_16 | ( | name8, | |||
name16 | ) |
#define WRAPPER8_16_SQ | ( | name8, | |||
name16 | ) |
Value:
static int name16(void /*MpegEncContext*/ *s, uint8_t *dst, uint8_t *src, int stride, int h){\ int score=0;\ score +=name8(s, dst , src , stride, 8);\ score +=name8(s, dst+8 , src+8 , stride, 8);\ if(h==16){\ dst += 8*stride;\ src += 8*stride;\ score +=name8(s, dst , src , stride, 8);\ score +=name8(s, dst+8 , src+8 , stride, 8);\ }\ return score;\ }
typedef void(* h264_biweight_func)(uint8_t *dst, uint8_t *src, int stride, int log2_denom, int weightd, int weights, int offset) |
typedef void(* h264_chroma_mc_func)(uint8_t *dst, uint8_t *src, int srcStride, int h, int x, int y) |
typedef void(* h264_weight_func)(uint8_t *block, int stride, int log2_denom, int weight, int offset) |
typedef int(* me_cmp_func)(void *s, uint8_t *blk1, uint8_t *blk2, int line_size, int h) |
typedef void(* op_pixels_func)(uint8_t *block, const uint8_t *pixels, int line_size, int h) |
typedef void(* qpel_mc_func)(uint8_t *dst, uint8_t *src, int stride) |
typedef struct slice_buffer_s slice_buffer |
typedef void(* tpel_mc_func)(uint8_t *block, const uint8_t *pixels, int line_size, int w, int h) |
enum RDFTransformType |
void add_pixels_clamped_mmx | ( | const DCTELEM * | block, | |
uint8_t * | pixels, | |||
int | line_size | |||
) |
Definition at line 294 of file dsputil_mmx.c.
Referenced by cavs_idct8_add_mmx(), dsputil_init_mmx(), ff_h264_idct8_add_mmx(), ff_idct_xvid_mmx2_add(), ff_idct_xvid_mmx_add(), ff_idct_xvid_sse2_add(), ff_simple_idct_add_mmx(), ff_vp3_idct_add_mmx(), and ff_vp3_idct_add_sse2().
static void copy_block16 | ( | uint8_t * | dst, | |
uint8_t * | src, | |||
int | dstStride, | |||
int | srcStride, | |||
int | h | |||
) | [inline, static] |
static void copy_block17 | ( | uint8_t * | dst, | |
uint8_t * | src, | |||
int | dstStride, | |||
int | srcStride, | |||
int | h | |||
) | [inline, static] |
static void copy_block2 | ( | uint8_t * | dst, | |
uint8_t * | src, | |||
int | dstStride, | |||
int | srcStride, | |||
int | h | |||
) | [inline, static] |
static void copy_block4 | ( | uint8_t * | dst, | |
uint8_t * | src, | |||
int | dstStride, | |||
int | srcStride, | |||
int | h | |||
) | [inline, static] |
static void copy_block8 | ( | uint8_t * | dst, | |
uint8_t * | src, | |||
int | dstStride, | |||
int | srcStride, | |||
int | h | |||
) | [inline, static] |
static void copy_block9 | ( | uint8_t * | dst, | |
uint8_t * | src, | |||
int | dstStride, | |||
int | srcStride, | |||
int | h | |||
) | [inline, static] |
void dsputil_init | ( | DSPContext * | p, | |
AVCodecContext * | avctx | |||
) |
Definition at line 4290 of file dsputil.c.
Referenced by aac_decode_init(), aac_encode_init(), ac3_decode_init(), alac_encode_init(), ape_decode_init(), atrac3_decode_init(), common_init(), dca_decode_init(), decode_init(), dnxhd_decode_init(), dnxhd_encode_init(), dvvideo_init(), encode_init(), ff_mjpeg_decode_init(), ff_wma_init(), flac_encode_init(), imc_decode_init(), ipvideo_decode_init(), main(), mdec_common_init(), mimic_decode_init(), mp_decode_init(), mpc7_decode_init(), mpc8_decode_init(), MPV_common_init(), png_dec_init(), png_enc_init(), svq1_encode_init(), tgq_decode_init(), tqi_decode_init(), vorbis_decode_init(), vp3_decode_init(), and vp56_init().
void dsputil_init_alpha | ( | DSPContext * | c, | |
AVCodecContext * | avctx | |||
) |
void dsputil_init_arm | ( | DSPContext * | c, | |
AVCodecContext * | avctx | |||
) |
void dsputil_init_bfin | ( | DSPContext * | c, | |
AVCodecContext * | avctx | |||
) |
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 231 of file dsputil_bfin.c.
Referenced by dsputil_init().
void dsputil_init_mlib | ( | DSPContext * | c, | |
AVCodecContext * | avctx | |||
) |
void dsputil_init_mmi | ( | DSPContext * | c, | |
AVCodecContext * | avctx | |||
) |
void dsputil_init_mmx | ( | DSPContext * | c, | |
AVCodecContext * | avctx | |||
) |
void dsputil_init_pix_mmx | ( | DSPContext * | c, | |
AVCodecContext * | avctx | |||
) |
void dsputil_init_ppc | ( | DSPContext * | c, | |
AVCodecContext * | avctx | |||
) |
void dsputil_init_sh4 | ( | DSPContext * | c, | |
AVCodecContext * | avctx | |||
) |
void dsputil_init_vis | ( | DSPContext * | c, | |
AVCodecContext * | avctx | |||
) |
void dsputil_static_init | ( | void | ) |
void fdct_ifast | ( | DCTELEM * | data | ) |
Definition at line 212 of file jfdctfst.c.
Referenced by dct_quantize_trellis_c(), dsputil_init(), and ff_convert_matrix().
void fdct_ifast248 | ( | DCTELEM * | data | ) |
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 |
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 3400 of file dsputil.c.
Referenced by dct_quantize_altivec(), dct_quantize_bfin(), and dct_quantize_c().
int ff_check_alignment | ( | void | ) |
Definition at line 4270 of file dsputil.c.
Referenced by dsputil_init(), encode_thread(), estimate_motion_thread(), and mb_var_thread().
void ff_emulated_edge_mc | ( | uint8_t * | buf, | |
uint8_t * | src, | |||
int | linesize, | |||
int | block_w, | |||
int | block_h, | |||
int | src_x, | |||
int | src_y, | |||
int | w, | |||
int | h | |||
) |
Copies a rectangular area of samples to a temporary buffer and replicates the boarder samples.
buf | destination buffer | |
src | source buffer | |
linesize | number of bytes between 2 vertically adjacent samples in both the source and destination buffers | |
block_w | width of block | |
block_h | height of block | |
src_x | x coordinate of the top left sample of the block in the source buffer | |
src_y | y coordinate of the top left sample of the block in the source buffer | |
w | width of the source buffer | |
h | height of the source buffer |
Definition at line 480 of file dsputil.c.
Referenced by chroma_4mv_motion(), chroma_4mv_motion_lowres(), encode_mb_internal(), ff_mspel_motion(), gmc1_motion(), gmc_mmx(), hpel_motion(), hpel_motion_lowres(), mc_dir_part(), mca(), 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_luma(), and vp56_mc().
void ff_fdct248_islow | ( | DCTELEM * | data | ) |
void ff_fdct_mmx | ( | DCTELEM * | block | ) |
Referenced by dsputilenc_init_mmx().
void ff_fdct_mmx2 | ( | DCTELEM * | block | ) |
Referenced by dsputilenc_init_mmx().
void ff_fdct_sse2 | ( | DCTELEM * | block | ) |
Referenced by dsputilenc_init_mmx().
static void ff_fft_calc | ( | FFTContext * | s, | |
FFTComplex * | z | |||
) | [inline, static] |
Do a complex FFT with the parameters defined in ff_fft_init().
The input data must be permuted before. No 1.0/sqrt(n) normalization is done.
Definition at line 712 of file dsputil.h.
Referenced by ff_imdct_half_c(), ff_mdct_calc(), ff_rdft_calc_c(), imc_imdct256(), and main().
void ff_fft_calc_3dn | ( | FFTContext * | s, | |
FFTComplex * | z | |||
) |
Referenced by ff_fft_init().
void ff_fft_calc_3dn2 | ( | FFTContext * | s, | |
FFTComplex * | z | |||
) |
void ff_fft_calc_altivec | ( | FFTContext * | s, | |
FFTComplex * | z | |||
) |
Do a complex FFT with the parameters defined in ff_fft_init().
The input data must be permuted before with s->revtab table. No 1.0/sqrt(n) normalization is done. AltiVec-enabled This code assumes that the 'z' pointer is 16 bytes-aligned It also assumes all FFTComplex are 8 bytes-aligned pair of float The code is exactly the same as the SSE version, except that successive MUL + ADD/SUB have been merged into fused multiply-add ('vec_madd' in altivec)
Definition at line 40 of file fft_altivec.c.
Referenced by ff_fft_init().
void ff_fft_calc_c | ( | FFTContext * | s, | |
FFTComplex * | z | |||
) |
void ff_fft_calc_sse | ( | FFTContext * | s, | |
FFTComplex * | z | |||
) |
void ff_fft_end | ( | FFTContext * | s | ) |
Definition at line 209 of file fft.c.
Referenced by ff_mdct_end(), ff_rdft_end(), imc_decode_close(), and main().
int ff_fft_init | ( | FFTContext * | s, | |
int | nbits, | |||
int | inverse | |||
) |
Sets up a complex FFT.
nbits | log2 of the length of the input array | |
inverse | if 0 perform the forward transform, if 1 perform the inverse |
Definition at line 61 of file fft.c.
Referenced by ff_mdct_init(), ff_rdft_init(), imc_decode_init(), and main().
static void ff_fft_permute | ( | FFTContext * | s, | |
FFTComplex * | z | |||
) | [inline, static] |
Do the permutation needed BEFORE calling ff_fft_calc().
Definition at line 704 of file dsputil.h.
Referenced by ff_rdft_calc_c(), imc_imdct256(), and main().
void ff_fft_permute_c | ( | FFTContext * | s, | |
FFTComplex * | z | |||
) |
void ff_fft_permute_sse | ( | FFTContext * | s, | |
FFTComplex * | z | |||
) |
void ff_float_to_int16_c | ( | int16_t * | dst, | |
const float * | src, | |||
long | len | |||
) |
Definition at line 4078 of file dsputil.c.
Referenced by aac_decode_init(), dca_decode_init(), decode_init(), and dsputil_init().
void ff_float_to_int16_interleave_c | ( | int16_t * | dst, | |
const float ** | src, | |||
long | len, | |||
int | channels | |||
) |
Definition at line 4084 of file dsputil.c.
Referenced by ac3_decode_init(), dsputil_init(), and vorbis_decode_init().
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 | |||
) |
void ff_h264_idct8_add4_c | ( | uint8_t * | dst, | |
const int * | blockoffset, | |||
DCTELEM * | block, | |||
int | stride, | |||
const uint8_t | nnzc[6 *8] | |||
) |
void ff_h264_idct8_add_c | ( | uint8_t * | dst, | |
DCTELEM * | block, | |||
int | stride | |||
) |
Definition at line 73 of file h264idct.c.
Referenced by dsputil_init(), ff_h264_idct8_add4_c(), init_dequant8_coeff_table(), and init_scan_tables().
void ff_h264_idct8_dc_add_c | ( | uint8_t * | dst, | |
DCTELEM * | block, | |||
int | stride | |||
) |
Definition at line 156 of file h264idct.c.
Referenced by dsputil_init(), and ff_h264_idct8_add4_c().
void ff_h264_idct_add16_c | ( | uint8_t * | dst, | |
const int * | blockoffset, | |||
DCTELEM * | block, | |||
int | stride, | |||
const uint8_t | nnzc[6 *8] | |||
) |
void ff_h264_idct_add16intra_c | ( | uint8_t * | dst, | |
const int * | blockoffset, | |||
DCTELEM * | block, | |||
int | stride, | |||
const uint8_t | nnzc[6 *8] | |||
) |
void ff_h264_idct_add8_c | ( | uint8_t ** | dest, | |
const int * | blockoffset, | |||
DCTELEM * | block, | |||
int | stride, | |||
const uint8_t | nnzc[6 *8] | |||
) |
void ff_h264_idct_add_c | ( | uint8_t * | dst, | |
DCTELEM * | block, | |||
int | stride | |||
) |
Definition at line 61 of file h264idct.c.
Referenced by dsputil_init(), ff_h264_idct_add8_c(), init_dequant4_coeff_table(), and init_scan_tables().
void ff_h264_idct_dc_add_c | ( | uint8_t * | dst, | |
DCTELEM * | block, | |||
int | stride | |||
) |
Definition at line 144 of file h264idct.c.
Referenced by dsputil_init(), ff_h264_idct_add16_c(), ff_h264_idct_add16intra_c(), and ff_h264_idct_add8_c().
void ff_h264_lowres_idct_add_c | ( | uint8_t * | dst, | |
int | stride, | |||
DCTELEM * | block | |||
) |
void ff_h264_lowres_idct_put_c | ( | uint8_t * | dst, | |
int | stride, | |||
DCTELEM * | block | |||
) |
static void ff_imdct_calc | ( | MDCTContext * | s, | |
FFTSample * | output, | |||
const FFTSample * | input | |||
) | [inline, static] |
Definition at line 729 of file dsputil.h.
Referenced by IMLT(), imlt_gain(), main(), nelly_decode_block(), and wma_decode_block().
void ff_imdct_calc_3dn | ( | MDCTContext * | s, | |
FFTSample * | output, | |||
const FFTSample * | input | |||
) |
Referenced by ff_fft_init().
void ff_imdct_calc_3dn2 | ( | MDCTContext * | s, | |
FFTSample * | output, | |||
const FFTSample * | input | |||
) |
void ff_imdct_calc_c | ( | MDCTContext * | s, | |
FFTSample * | output, | |||
const FFTSample * | input | |||
) |
Compute inverse MDCT of size N = 2^nbits.
output | N samples | |
input | N/2 samples |
Definition at line 162 of file mdct.c.
Referenced by ff_fft_init().
void ff_imdct_calc_sse | ( | MDCTContext * | s, | |
FFTSample * | output, | |||
const FFTSample * | input | |||
) |
static void ff_imdct_half | ( | MDCTContext * | s, | |
FFTSample * | output, | |||
const FFTSample * | input | |||
) | [inline, static] |
Definition at line 733 of file dsputil.h.
Referenced by do_imdct(), imdct_and_windowing(), qmf_32_subbands(), and vorbis_parse_audio_packet().
void ff_imdct_half_3dn | ( | MDCTContext * | s, | |
FFTSample * | output, | |||
const FFTSample * | input | |||
) |
Referenced by ff_fft_init().
void ff_imdct_half_3dn2 | ( | MDCTContext * | s, | |
FFTSample * | output, | |||
const FFTSample * | input | |||
) |
void ff_imdct_half_c | ( | MDCTContext * | s, | |
FFTSample * | output, | |||
const FFTSample * | input | |||
) |
Compute the middle half of the inverse MDCT of size N = 2^nbits, thus excluding the parts that can be derived by symmetry.
output | N/2 samples | |
input | N/2 samples |
Definition at line 119 of file mdct.c.
Referenced by ff_fft_init(), and ff_imdct_calc_c().
void ff_imdct_half_sse | ( | MDCTContext * | s, | |
FFTSample * | output, | |||
const FFTSample * | input | |||
) |
void ff_img_copy_plane | ( | uint8_t * | dst, | |
int | dst_wrap, | |||
const uint8_t * | src, | |||
int | src_wrap, | |||
int | width, | |||
int | height | |||
) |
Definition at line 941 of file imgconvert.c.
Referenced by av_picture_copy(), dsputil_init(), and img_convert().
void ff_init_scantable | ( | uint8_t * | , | |
ScanTable * | st, | |||
const uint8_t * | src_scantable | |||
) |
Definition at line 163 of file dsputil.c.
Referenced by common_init(), decode_init(), decode_pic(), decode_vop_header(), dnxhd_init_vlc(), ff_dct_common_init(), ff_intrax8_common_init(), ff_mjpeg_decode_init(), ff_wmv2_common_init(), mimic_decode_init(), mpeg_decode_picture_coding_extension(), tgq_decode_init(), tqi_decode_init(), vp3_decode_init(), and vp56_init().
void ff_jpeg_fdct_islow | ( | DCTELEM * | data | ) |
void ff_kbd_window_init | ( | float * | window, | |
float | alpha, | |||
int | n | |||
) |
Generate a Kaiser-Bessel Derived Window.
window | pointer to half window | |
alpha | determines window shape | |
n | size of half window |
Definition at line 30 of file mdct.c.
Referenced by aac_decode_init(), aac_encode_init(), and ac3_decode_init().
void ff_mdct_calc | ( | MDCTContext * | s, | |
FFTSample * | out, | |||
const FFTSample * | input | |||
) |
Compute MDCT of size N = 2^nbits.
input | N samples | |
out | N/2 samples |
Definition at line 182 of file mdct.c.
Referenced by apply_mdct(), apply_window_and_mdct(), and main().
void ff_mdct_end | ( | MDCTContext * | s | ) |
Definition at line 224 of file mdct.c.
Referenced by aac_decode_close(), aac_encode_end(), ac3_decode_end(), cook_decode_close(), dca_decode_end(), decode_end(), encode_end(), ff_wma_end(), main(), vorbis_encode_close(), and vorbis_free().
int ff_mdct_init | ( | MDCTContext * | s, | |
int | nbits, | |||
int | inverse | |||
) |
init MDCT or IMDCT computation.
Definition at line 71 of file mdct.c.
Referenced by aac_decode_init(), aac_encode_init(), ac3_decode_init(), create_vorbis_context(), dca_decode_init(), decode_init(), encode_init(), init_atrac3_transforms(), init_cook_mlt(), main(), vorbis_parse_id_hdr(), and wma_decode_init().
void ff_rdft_calc | ( | RDFTContext * | s, | |
FFTSample * | data | |||
) |
void ff_rdft_end | ( | RDFTContext * | s | ) |
int ff_rdft_init | ( | RDFTContext * | s, | |
int | nbits, | |||
enum RDFTransformType | trans | |||
) |
Sets up a real FFT.
nbits | log2 of the length of the input array | |
trans | the type of transform |
Definition at line 48 of file rdft.c.
Referenced by qdm2_decode_init().
void ff_set_cmp | ( | DSPContext * | c, | |
me_cmp_func * | cmp, | |||
int | type | |||
) |
Definition at line 3425 of file dsputil.c.
Referenced by dvvideo_init(), encode_init(), ff_init_me(), and MPV_encode_init().
void ff_shrink22 | ( | uint8_t * | dst, | |
int | dst_wrap, | |||
const uint8_t * | src, | |||
int | src_wrap, | |||
int | width, | |||
int | height | |||
) |
void ff_shrink44 | ( | uint8_t * | dst, | |
int | dst_wrap, | |||
const uint8_t * | src, | |||
int | src_wrap, | |||
int | width, | |||
int | height | |||
) |
void ff_shrink88 | ( | uint8_t * | dst, | |
int | dst_wrap, | |||
const uint8_t * | src, | |||
int | src_wrap, | |||
int | width, | |||
int | height | |||
) |
void ff_sine_window_init | ( | float * | window, | |
int | n | |||
) |
Generate a sine window.
window | pointer to half window | |
n | size of half window |
Definition at line 62 of file mdct.c.
Referenced by aac_decode_init(), aac_encode_init(), decode_init(), encode_init(), ff_wma_init(), imc_decode_init(), and init_cook_mlt().
void ff_vector_fmul_add_add_c | ( | float * | dst, | |
const float * | src0, | |||
const float * | src1, | |||
const float * | src2, | |||
int | src3, | |||
int | blocksize, | |||
int | step | |||
) |
Definition at line 4040 of file dsputil.c.
Referenced by dsputil_init(), vector_fmul_add_add_3dnow(), vector_fmul_add_add_altivec(), and vector_fmul_add_add_sse().
void ff_vector_fmul_window_c | ( | float * | dst, | |
const float * | src0, | |||
const float * | src1, | |||
const float * | win, | |||
float | add_bias, | |||
int | len | |||
) |
Definition at line 4046 of file dsputil.c.
Referenced by dsputil_init(), vector_fmul_window_3dnow2(), and vector_fmul_window_sse().
void ff_vp3_h_loop_filter_c | ( | uint8_t * | src, | |
int | stride, | |||
int * | bounding_values | |||
) |
void ff_vp3_idct_add_c | ( | uint8_t * | dest, | |
int | line_size, | |||
DCTELEM * | block | |||
) |
void ff_vp3_idct_c | ( | DCTELEM * | block | ) |
void ff_vp3_idct_put_c | ( | uint8_t * | dest, | |
int | line_size, | |||
DCTELEM * | block | |||
) |
void ff_vp3_v_loop_filter_c | ( | uint8_t * | src, | |
int | stride, | |||
int * | bounding_values | |||
) |
void ff_vp6_filter_diag4_c | ( | uint8_t * | dst, | |
uint8_t * | src, | |||
int | stride, | |||
const int16_t * | h_weights, | |||
const int16_t * | v_weights | |||
) |
void ff_wmv2_idct_c | ( | DCTELEM * | data | ) |
Definition at line 4182 of file dsputil.c.
Referenced by dsputil_init(), ff_wmv2_idct_add_c(), and ff_wmv2_idct_put_c().
static int get_penalty_factor | ( | int | lambda, | |
int | lambda2, | |||
int | type | |||
) | [inline, static] |
Definition at line 548 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().
void get_psnr | ( | uint8_t * | orig_image[3], | |
uint8_t * | coded_image[3], | |||
int | orig_linesize[3], | |||
int | coded_linesize, | |||
AVCodecContext * | avctx | |||
) |
void j_rev_dct | ( | DCTELEM * | data | ) |
Referenced by dsputil_init(), ff_jref_idct_add(), and ff_jref_idct_put().
void j_rev_dct1 | ( | DCTELEM * | data | ) |
Referenced by dsputil_init().
void j_rev_dct2 | ( | DCTELEM * | data | ) |
Referenced by dsputil_init(), ff_jref_idct2_add(), and ff_jref_idct2_put().
void j_rev_dct4 | ( | DCTELEM * | data | ) |
Referenced by dsputil_init(), ff_jref_idct4_add(), and ff_jref_idct4_put().
int mm_support | ( | void | ) |
Definition at line 119 of file dsputil_arm.c.
Referenced by dsputil_init_mmx(), ff_fft_init(), and main().
static uint32_t no_rnd_avg32 | ( | uint32_t | a, | |
uint32_t | b | |||
) | [inline, static] |
void put_pixels_clamped_mmx | ( | const DCTELEM * | block, | |
uint8_t * | pixels, | |||
int | line_size | |||
) |
Definition at line 221 of file dsputil_mmx.c.
Referenced by dsputil_init_mmx(), ff_idct_xvid_mmx2_put(), ff_idct_xvid_mmx_put(), ff_idct_xvid_sse2_put(), and ff_simple_idct_put_mmx().
void put_signed_pixels_clamped_mmx | ( | const DCTELEM * | block, | |
uint8_t * | pixels, | |||
int | line_size | |||
) |
Definition at line 279 of file dsputil_mmx.c.
Referenced by dsputil_init_mmx(), ff_vp3_idct_put_mmx(), and ff_vp3_idct_put_sse2().
static uint32_t rnd_avg32 | ( | uint32_t | a, | |
uint32_t | b | |||
) | [inline, static] |
const uint8_t ff_alternate_horizontal_scan[64] |
Definition at line 91 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 102 of file dsputil.c.
Referenced by decode_vop_header(), ff_dct_common_init(), and mpeg_decode_picture_coding_extension().
FFTSample* ff_cos_tabs[13] |
uint8_t ff_cropTbl[256+2 *MAX_NEG_CROP] |
Definition at line 57 of file dsputil.c.
Referenced by cavs_idct8_add_c(), deinterlace_line(), deinterlace_line_inplace(), ff_bfin_vp3_idct_put(), ff_h264_idct8_add_c(), ff_h264_idct8_dc_add_c(), ff_h264_idct_dc_add_c(), ff_idct_put_mlib(), glue(), h_block_filter(), idct(), idct4col_add(), idct4col_put(), idct_add(), idct_internal(), idct_put(), idctSparseColAdd(), idctSparseColPut(), img_convert_init(), intra_pred_plane(), mp_yuv_to_rgb(), pred16x16_plane_compat_c(), pred8x8_plane_c(), Process(), rv30_weak_loop_filter(), rv40_weak_loop_filter(), svq3_add_idct_c(), v_block_filter(), vc1_filter_line(), vc1_inv_trans_4x4_c(), vc1_inv_trans_4x8_c(), vc1_inv_trans_8x4_c(), wmv2_mspel8_h_lowpass(), wmv2_mspel8_v_lowpass(), and yuv_a_to_rgba().
float ff_sine_1024[1024] |
Definition at line 54 of file mdct.c.
Referenced by aac_decode_init(), aac_encode_init(), and imdct_and_windowing().
float ff_sine_128[128] |
Definition at line 51 of file mdct.c.
Referenced by aac_decode_init(), aac_encode_init(), apply_mdct(), decode_init(), encode_init(), imdct_and_windowing(), and overlap_and_window().
float ff_sine_2048[2048] |
float ff_sine_256[256] |
float ff_sine_4096[4096] |
float ff_sine_512[512] |
float* ff_sine_windows[6] |
uint32_t ff_squareTbl[512] |
const uint8_t ff_zigzag248_direct[64] |
const uint8_t ff_zigzag_direct[64] |
Definition at line 64 of file dsputil.c.
Referenced by decode_i_block(), decode_init(), decode_pic(), decode_scaling_list(), decode_vol_header(), decode_vop_header(), dnxhd_init_qmat(), dnxhd_init_vlc(), dv_init_enc_block(), dvvideo_init(), ff_dct_common_init(), ff_mjpeg_decode_init(), ff_write_quant_matrix(), init_scan_tables(), mpeg1_decode_sequence(), mpeg_decode_picture_coding_extension(), mpeg_decode_quant_matrix_extension(), rtjpeg_decode_init(), tgq_decode_init(), tqi_decode_init(), vp3_decode_init(), and vp56_init().
int mm_flags |
Definition at line 153 of file dsputil_iwmmxt.c.
Referenced by component_resample(), dsputil_init_iwmmxt(), dsputil_init_mmx(), dsputil_init_pix_mmx(), dsputil_init_ppc(), dsputilenc_init_mmx(), ff_dnxhd_init_mmx(), ff_h263_decode_frame(), h_resample(), MPV_common_init_altivec(), MPV_common_init_iwmmxt(), and MPV_common_init_mmx().