libavcodec/dsputil.c File Reference

DSP utils. More...

#include "libavcore/imgutils.h"
#include "avcodec.h"
#include "dsputil.h"
#include "simple_idct.h"
#include "faandct.h"
#include "faanidct.h"
#include "mathops.h"
#include "mpegvideo.h"
#include "config.h"
#include "lpc.h"
#include "ac3dec.h"
#include "vorbis.h"
#include "png.h"

Go to the source code of this file.

Defines

#define pb_7f   (~0UL/255 * 0x7f)
#define pb_80   (~0UL/255 * 0x80)
#define PIXOP2(OPNAME, OP)
#define op_avg(a, b)   a = rnd_avg32(a, b)
#define op_put(a, b)   a = b
#define put_no_rnd_pixels8_c   put_pixels8_c
#define put_no_rnd_pixels16_c   put_pixels16_c
#define avg2(a, b)   ((a+b+1)>>1)
#define avg4(a, b, c, d)   ((a+b+c+d+2)>>2)
#define H264_CHROMA_MC(OPNAME, OP)
#define op_avg(a, b)   a = (((a)+(((b) + 32)>>6)+1)>>1)
#define op_put(a, b)   a = (((b) + 32)>>6)
#define QPEL_MC(r, OPNAME, RND, OP)
#define op_avg(a, b)   a = (((a)+cm[((b) + 16)>>5]+1)>>1)
#define op_avg_no_rnd(a, b)   a = (((a)+cm[((b) + 15)>>5])>>1)
#define op_put(a, b)   a = cm[((b) + 16)>>5]
#define op_put_no_rnd(a, b)   a = cm[((b) + 15)>>5]
#define put_qpel8_mc00_c   ff_put_pixels8x8_c
#define avg_qpel8_mc00_c   ff_avg_pixels8x8_c
#define put_qpel16_mc00_c   ff_put_pixels16x16_c
#define avg_qpel16_mc00_c   ff_avg_pixels16x16_c
#define put_no_rnd_qpel8_mc00_c   ff_put_pixels8x8_c
#define put_no_rnd_qpel16_mc00_c   ff_put_pixels16x16_c
#define H264_LOWPASS(OPNAME, OP, OP2)
#define H264_MC(OPNAME, SIZE)
#define op_avg(a, b)   a = (((a)+cm[((b) + 16)>>5]+1)>>1)
#define op_put(a, b)   a = cm[((b) + 16)>>5]
#define op2_avg(a, b)   a = (((a)+cm[((b) + 512)>>10]+1)>>1)
#define op2_put(a, b)   a = cm[((b) + 512)>>10]
#define put_h264_qpel8_mc00_c   ff_put_pixels8x8_c
#define avg_h264_qpel8_mc00_c   ff_avg_pixels8x8_c
#define put_h264_qpel16_mc00_c   ff_put_pixels16x16_c
#define avg_h264_qpel16_mc00_c   ff_avg_pixels16x16_c
#define B   0
#define G   1
#define R   2
#define A   3
#define BUTTERFLY2(o1, o2, i1, i2)
#define BUTTERFLY1(x, y)
#define BUTTERFLYA(x, y)   (FFABS((x)+(y)) + FFABS((x)-(y)))
#define DCT8_1D
#define SRC(x)   dct[i][x]
#define DST(x, v)   dct[i][x]= v
#define SRC(x)   dct[x][i]
#define DST(x, v)   sum += FFABS(v)
#define VSAD_INTRA(size)
#define SQ(a)   ((a)*(a))
#define VSSE_INTRA(size)
#define W0   2048
#define W1   2841
#define W2   2676
#define W3   2408
#define W4   2048
#define W5   1609
#define W6   1108
#define W7   565
#define dspfunc(PFX, IDX, NUM)
#define dspfunc(PFX, IDX, NUM)
#define SET_CMP_FUNC(name)

Functions

 DECLARE_ALIGNED (16, uint16_t, inv_zigzag_direct16)[64]
void ff_init_scantable (uint8_t *permutation, ScanTable *st, const uint8_t *src_scantable)
static int pix_sum_c (uint8_t *pix, int line_size)
static int pix_norm1_c (uint8_t *pix, int line_size)
static void bswap_buf (uint32_t *dst, const uint32_t *src, int w)
static int sse4_c (void *v, uint8_t *pix1, uint8_t *pix2, int line_size, int h)
static int sse8_c (void *v, uint8_t *pix1, uint8_t *pix2, int line_size, int h)
static int sse16_c (void *v, uint8_t *pix1, uint8_t *pix2, int line_size, int h)
static void draw_edges_c (uint8_t *buf, int wrap, int width, int height, int w)
void ff_emulated_edge_mc (uint8_t *buf, const uint8_t *src, int linesize, int block_w, int block_h, int src_x, int src_y, int w, int h)
 Copy a rectangular area of samples to a temporary buffer and replicate the border samples.
static void get_pixels_c (DCTELEM *restrict block, const uint8_t *pixels, int line_size)
static void diff_pixels_c (DCTELEM *restrict block, const uint8_t *s1, const uint8_t *s2, int stride)
static void put_pixels_clamped_c (const DCTELEM *block, uint8_t *restrict pixels, int line_size)
static void put_pixels_clamped4_c (const DCTELEM *block, uint8_t *restrict pixels, int line_size)
static void put_pixels_clamped2_c (const DCTELEM *block, uint8_t *restrict pixels, int line_size)
static void put_signed_pixels_clamped_c (const DCTELEM *block, uint8_t *restrict pixels, int line_size)
static void put_pixels_nonclamped_c (const DCTELEM *block, uint8_t *restrict pixels, int line_size)
static void add_pixels_clamped_c (const DCTELEM *block, uint8_t *restrict pixels, int line_size)
static void add_pixels_clamped4_c (const DCTELEM *block, uint8_t *restrict pixels, int line_size)
static void add_pixels_clamped2_c (const DCTELEM *block, uint8_t *restrict pixels, int line_size)
static void add_pixels8_c (uint8_t *restrict pixels, DCTELEM *block, int line_size)
static void add_pixels4_c (uint8_t *restrict pixels, DCTELEM *block, int line_size)
static int sum_abs_dctelem_c (DCTELEM *block)
static void fill_block16_c (uint8_t *block, uint8_t value, int line_size, int h)
static void fill_block8_c (uint8_t *block, uint8_t value, int line_size, int h)
static void scale_block_c (const uint8_t src[64], uint8_t *dst, int linesize)
static void put_no_rnd_pixels16_l2_c (uint8_t *dst, const uint8_t *a, const uint8_t *b, int stride, int h)
static void put_no_rnd_pixels8_l2_c (uint8_t *dst, const uint8_t *a, const uint8_t *b, int stride, int h)
static void gmc1_c (uint8_t *dst, uint8_t *src, int stride, int h, int x16, int y16, int rounder)
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)
static void put_tpel_pixels_mc00_c (uint8_t *dst, const uint8_t *src, int stride, int width, int height)
static void put_tpel_pixels_mc10_c (uint8_t *dst, const uint8_t *src, int stride, int width, int height)
static void put_tpel_pixels_mc20_c (uint8_t *dst, const uint8_t *src, int stride, int width, int height)
static void put_tpel_pixels_mc01_c (uint8_t *dst, const uint8_t *src, int stride, int width, int height)
static void put_tpel_pixels_mc11_c (uint8_t *dst, const uint8_t *src, int stride, int width, int height)
static void put_tpel_pixels_mc12_c (uint8_t *dst, const uint8_t *src, int stride, int width, int height)
static void put_tpel_pixels_mc02_c (uint8_t *dst, const uint8_t *src, int stride, int width, int height)
static void put_tpel_pixels_mc21_c (uint8_t *dst, const uint8_t *src, int stride, int width, int height)
static void put_tpel_pixels_mc22_c (uint8_t *dst, const uint8_t *src, int stride, int width, int height)
static void avg_tpel_pixels_mc00_c (uint8_t *dst, const uint8_t *src, int stride, int width, int height)
static void avg_tpel_pixels_mc10_c (uint8_t *dst, const uint8_t *src, int stride, int width, int height)
static void avg_tpel_pixels_mc20_c (uint8_t *dst, const uint8_t *src, int stride, int width, int height)
static void avg_tpel_pixels_mc01_c (uint8_t *dst, const uint8_t *src, int stride, int width, int height)
static void avg_tpel_pixels_mc11_c (uint8_t *dst, const uint8_t *src, int stride, int width, int height)
static void avg_tpel_pixels_mc12_c (uint8_t *dst, const uint8_t *src, int stride, int width, int height)
static void avg_tpel_pixels_mc02_c (uint8_t *dst, const uint8_t *src, int stride, int width, int height)
static void avg_tpel_pixels_mc21_c (uint8_t *dst, const uint8_t *src, int stride, int width, int height)
static void avg_tpel_pixels_mc22_c (uint8_t *dst, const uint8_t *src, int stride, int width, int height)
static void put_no_rnd_vc1_chroma_mc8_c (uint8_t *dst, uint8_t *src, int stride, int h, int x, int y)
static void avg_no_rnd_vc1_chroma_mc8_c (uint8_t *dst, uint8_t *src, int stride, int h, int x, int y)
static void wmv2_mspel8_h_lowpass (uint8_t *dst, uint8_t *src, int dstStride, int srcStride, int h)
void ff_put_pixels8x8_c (uint8_t *dst, uint8_t *src, int stride)
void ff_avg_pixels8x8_c (uint8_t *dst, uint8_t *src, int stride)
void ff_put_pixels16x16_c (uint8_t *dst, uint8_t *src, int stride)
void ff_avg_pixels16x16_c (uint8_t *dst, uint8_t *src, int stride)
static void put_rv40_qpel16_mc33_c (uint8_t *dst, uint8_t *src, int stride)
static void avg_rv40_qpel16_mc33_c (uint8_t *dst, uint8_t *src, int stride)
static void put_rv40_qpel8_mc33_c (uint8_t *dst, uint8_t *src, int stride)
static void avg_rv40_qpel8_mc33_c (uint8_t *dst, uint8_t *src, int stride)
static void wmv2_mspel8_v_lowpass (uint8_t *dst, uint8_t *src, int dstStride, int srcStride, int w)
static void put_mspel8_mc10_c (uint8_t *dst, uint8_t *src, int stride)
static void put_mspel8_mc20_c (uint8_t *dst, uint8_t *src, int stride)
static void put_mspel8_mc30_c (uint8_t *dst, uint8_t *src, int stride)
static void put_mspel8_mc02_c (uint8_t *dst, uint8_t *src, int stride)
static void put_mspel8_mc12_c (uint8_t *dst, uint8_t *src, int stride)
static void put_mspel8_mc32_c (uint8_t *dst, uint8_t *src, int stride)
static void put_mspel8_mc22_c (uint8_t *dst, uint8_t *src, int stride)
static void h263_v_loop_filter_c (uint8_t *src, int stride, int qscale)
static void h263_h_loop_filter_c (uint8_t *src, int stride, int qscale)
static void h261_loop_filter_c (uint8_t *src, int stride)
static int pix_abs16_c (void *v, uint8_t *pix1, uint8_t *pix2, int line_size, int h)
static int pix_abs16_x2_c (void *v, uint8_t *pix1, uint8_t *pix2, int line_size, int h)
static int pix_abs16_y2_c (void *v, uint8_t *pix1, uint8_t *pix2, int line_size, int h)
static int pix_abs16_xy2_c (void *v, uint8_t *pix1, uint8_t *pix2, int line_size, int h)
static int pix_abs8_c (void *v, uint8_t *pix1, uint8_t *pix2, int line_size, int h)
static int pix_abs8_x2_c (void *v, uint8_t *pix1, uint8_t *pix2, int line_size, int h)
static int pix_abs8_y2_c (void *v, uint8_t *pix1, uint8_t *pix2, int line_size, int h)
static int pix_abs8_xy2_c (void *v, uint8_t *pix1, uint8_t *pix2, int line_size, int h)
static int nsse16_c (void *v, uint8_t *s1, uint8_t *s2, int stride, int h)
static int nsse8_c (void *v, uint8_t *s1, uint8_t *s2, int stride, int h)
static int try_8x8basis_c (int16_t rem[64], int16_t weight[64], int16_t basis[64], int scale)
static void add_8x8basis_c (int16_t rem[64], int16_t basis[64], int scale)
void ff_block_permute (DCTELEM *block, uint8_t *permutation, const uint8_t *scantable, int last)
 permutes an 8x8 block.
static int zero_cmp (void *s, uint8_t *a, uint8_t *b, int stride, int h)
void ff_set_cmp (DSPContext *c, me_cmp_func *cmp, int type)
static void clear_block_c (DCTELEM *block)
static void clear_blocks_c (DCTELEM *blocks)
 memset(blocks, 0, sizeof(DCTELEM)*6*64)
static void add_bytes_c (uint8_t *dst, uint8_t *src, int w)
static void add_bytes_l2_c (uint8_t *dst, uint8_t *src1, uint8_t *src2, int w)
static void diff_bytes_c (uint8_t *dst, uint8_t *src1, uint8_t *src2, int w)
static void add_hfyu_median_prediction_c (uint8_t *dst, const uint8_t *src1, const uint8_t *diff, int w, int *left, int *left_top)
static void sub_hfyu_median_prediction_c (uint8_t *dst, const uint8_t *src1, const uint8_t *src2, int w, int *left, int *left_top)
static int add_hfyu_left_prediction_c (uint8_t *dst, const uint8_t *src, int w, int acc)
static void add_hfyu_left_prediction_bgr32_c (uint8_t *dst, const uint8_t *src, int w, int *red, int *green, int *blue, int *alpha)
static int hadamard8_diff8x8_c (void *s, uint8_t *dst, uint8_t *src, int stride, int h)
static int hadamard8_intra8x8_c (void *s, uint8_t *src, uint8_t *dummy, int stride, int h)
static int dct_sad8x8_c (void *c, uint8_t *src1, uint8_t *src2, int stride, int h)
static int dct264_sad8x8_c (void *c, uint8_t *src1, uint8_t *src2, int stride, int h)
static int dct_max8x8_c (void *c, uint8_t *src1, uint8_t *src2, int stride, int h)
static int quant_psnr8x8_c (void *c, uint8_t *src1, uint8_t *src2, int stride, int h)
static int rd8x8_c (void *c, uint8_t *src1, uint8_t *src2, int stride, int h)
static int bit8x8_c (void *c, uint8_t *src1, uint8_t *src2, int stride, int h)
static int vsad16_c (void *c, uint8_t *s1, uint8_t *s2, int stride, int h)
static int vsse16_c (void *c, uint8_t *s1, uint8_t *s2, int stride, int h)
static int ssd_int8_vs_int16_c (const int8_t *pix1, const int16_t *pix2, int size)
static void vector_fmul_c (float *dst, const float *src, int len)
static void vector_fmul_reverse_c (float *dst, const float *src0, const float *src1, int len)
static void vector_fmul_add_c (float *dst, const float *src0, const float *src1, const float *src2, int len)
void ff_vector_fmul_window_c (float *dst, const float *src0, const float *src1, const float *win, float add_bias, int len)
static void vector_fmul_scalar_c (float *dst, const float *src, float mul, int len)
static void vector_fmul_sv_scalar_2_c (float *dst, const float *src, const float **sv, float mul, int len)
static void vector_fmul_sv_scalar_4_c (float *dst, const float *src, const float **sv, float mul, int len)
static void sv_fmul_scalar_2_c (float *dst, const float **sv, float mul, int len)
static void sv_fmul_scalar_4_c (float *dst, const float **sv, float mul, int len)
static void butterflies_float_c (float *restrict v1, float *restrict v2, int len)
static float scalarproduct_float_c (const float *v1, const float *v2, int len)
static void int32_to_float_fmul_scalar_c (float *dst, const int *src, float mul, int len)
static uint32_t clipf_c_one (uint32_t a, uint32_t mini, uint32_t maxi, uint32_t maxisign)
static void vector_clipf_c_opposite_sign (float *dst, const float *src, float *min, float *max, int len)
static void vector_clipf_c (float *dst, const float *src, float min, float max, int len)
static av_always_inline int float_to_int16_one (const float *src)
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)
static int32_t scalarproduct_int16_c (const int16_t *v1, const int16_t *v2, int order, int shift)
static int32_t scalarproduct_and_madd_int16_c (int16_t *v1, const int16_t *v2, const int16_t *v3, int order, int mul)
static void wmv2_idct_row (short *b)
static void wmv2_idct_col (short *b)
void ff_wmv2_idct_c (short *block)
static void ff_wmv2_idct_put_c (uint8_t *dest, int line_size, DCTELEM *block)
static void ff_wmv2_idct_add_c (uint8_t *dest, int line_size, DCTELEM *block)
static void ff_jref_idct_put (uint8_t *dest, int line_size, DCTELEM *block)
static void ff_jref_idct_add (uint8_t *dest, int line_size, DCTELEM *block)
static void ff_jref_idct4_put (uint8_t *dest, int line_size, DCTELEM *block)
static void ff_jref_idct4_add (uint8_t *dest, int line_size, DCTELEM *block)
static void ff_jref_idct2_put (uint8_t *dest, int line_size, DCTELEM *block)
static void ff_jref_idct2_add (uint8_t *dest, int line_size, DCTELEM *block)
static void ff_jref_idct1_put (uint8_t *dest, int line_size, DCTELEM *block)
static void ff_jref_idct1_add (uint8_t *dest, int line_size, DCTELEM *block)
static void just_return (void *mem av_unused, int stride av_unused, int h av_unused)
av_cold void dsputil_static_init (void)
int ff_check_alignment (void)
av_cold void dsputil_init (DSPContext *c, AVCodecContext *avctx)

Variables

uint8_t ff_cropTbl [256+2 *MAX_NEG_CROP] = {0, }
uint32_t ff_squareTbl [512] = {0, }
const uint8_t ff_zigzag_direct [64]
const uint8_t ff_zigzag248_direct [64]
const uint8_t ff_alternate_horizontal_scan [64]
const uint8_t ff_alternate_vertical_scan [64]
static const uint8_t simple_mmx_permutation [64]
static const uint8_t idct_sse2_row_perm [8] = {0, 4, 1, 5, 2, 6, 3, 7}


Detailed Description

DSP utils.

Definition in file dsputil.c.


Define Documentation

#define A   3

#define avg2 ( a,
 )     ((a+b+1)>>1)

#define avg4 ( a,
b,
c,
 )     ((a+b+c+d+2)>>2)

Definition at line 1182 of file dsputil.c.

Referenced by pix_abs16_xy2_c(), pix_abs16x16_xy2_mvi(), and pix_abs8_xy2_c().

#define avg_h264_qpel16_mc00_c   ff_avg_pixels16x16_c

Definition at line 2569 of file dsputil.c.

#define avg_h264_qpel8_mc00_c   ff_avg_pixels8x8_c

Definition at line 2567 of file dsputil.c.

#define avg_qpel16_mc00_c   ff_avg_pixels16x16_c

Definition at line 2138 of file dsputil.c.

#define avg_qpel8_mc00_c   ff_avg_pixels8x8_c

Definition at line 2136 of file dsputil.c.

#define B   0

#define BUTTERFLY1 ( x,
 ) 

Value:

{\
    int a,b;\
    a= x;\
    b= y;\
    x= a+b;\
    y= a-b;\
}

Definition at line 3318 of file dsputil.c.

Referenced by hadamard8_diff8x8_c(), and hadamard8_intra8x8_c().

#define BUTTERFLY2 ( o1,
o2,
i1,
i2   ) 

Value:

o1= (i1)+(i2);\
o2= (i1)-(i2);

Definition at line 3314 of file dsputil.c.

Referenced by ff_dct32_float_sse(), hadamard8_diff8x8_c(), and hadamard8_intra8x8_c().

#define BUTTERFLYA ( x,
 )     (FFABS((x)+(y)) + FFABS((x)-(y)))

Definition at line 3327 of file dsputil.c.

Referenced by hadamard8_diff8x8_c(), and hadamard8_intra8x8_c().

#define DCT8_1D

Value:

{\
    const int s07 = SRC(0) + SRC(7);\
    const int s16 = SRC(1) + SRC(6);\
    const int s25 = SRC(2) + SRC(5);\
    const int s34 = SRC(3) + SRC(4);\
    const int a0 = s07 + s34;\
    const int a1 = s16 + s25;\
    const int a2 = s07 - s34;\
    const int a3 = s16 - s25;\
    const int d07 = SRC(0) - SRC(7);\
    const int d16 = SRC(1) - SRC(6);\
    const int d25 = SRC(2) - SRC(5);\
    const int d34 = SRC(3) - SRC(4);\
    const int a4 = d16 + d25 + (d07 + (d07>>1));\
    const int a5 = d07 - d34 - (d25 + (d25>>1));\
    const int a6 = d07 + d34 - (d16 + (d16>>1));\
    const int a7 = d16 - d25 + (d34 + (d34>>1));\
    DST(0,  a0 + a1     ) ;\
    DST(1,  a4 + (a7>>2)) ;\
    DST(2,  a2 + (a3>>1)) ;\
    DST(3,  a5 + (a6>>2)) ;\
    DST(4,  a0 - a1     ) ;\
    DST(5,  a6 - (a5>>2)) ;\
    DST(6, (a2>>1) - a3 ) ;\
    DST(7, (a4>>2) - a7 ) ;\
}

Definition at line 3441 of file dsputil.c.

Referenced by dct264_sad8x8_c().

#define dspfunc ( PFX,
IDX,
NUM   ) 

Value:

c->PFX ## _pixels_tab[IDX][ 0] = PFX ## NUM ## _mc00_c; \
    c->PFX ## _pixels_tab[IDX][ 1] = PFX ## NUM ## _mc10_c; \
    c->PFX ## _pixels_tab[IDX][ 2] = PFX ## NUM ## _mc20_c; \
    c->PFX ## _pixels_tab[IDX][ 3] = PFX ## NUM ## _mc30_c; \
    c->PFX ## _pixels_tab[IDX][ 4] = PFX ## NUM ## _mc01_c; \
    c->PFX ## _pixels_tab[IDX][ 5] = PFX ## NUM ## _mc11_c; \
    c->PFX ## _pixels_tab[IDX][ 6] = PFX ## NUM ## _mc21_c; \
    c->PFX ## _pixels_tab[IDX][ 7] = PFX ## NUM ## _mc31_c; \
    c->PFX ## _pixels_tab[IDX][ 8] = PFX ## NUM ## _mc02_c; \
    c->PFX ## _pixels_tab[IDX][ 9] = PFX ## NUM ## _mc12_c; \
    c->PFX ## _pixels_tab[IDX][10] = PFX ## NUM ## _mc22_c; \
    c->PFX ## _pixels_tab[IDX][11] = PFX ## NUM ## _mc32_c; \
    c->PFX ## _pixels_tab[IDX][12] = PFX ## NUM ## _mc03_c; \
    c->PFX ## _pixels_tab[IDX][13] = PFX ## NUM ## _mc13_c; \
    c->PFX ## _pixels_tab[IDX][14] = PFX ## NUM ## _mc23_c; \
    c->PFX ## _pixels_tab[IDX][15] = PFX ## NUM ## _mc33_c

#define dspfunc ( PFX,
IDX,
NUM   ) 

Value:

c->PFX ## _pixels_tab[IDX][0] = PFX ## _pixels ## NUM ## _c;     \
    c->PFX ## _pixels_tab[IDX][1] = PFX ## _pixels ## NUM ## _x2_c;  \
    c->PFX ## _pixels_tab[IDX][2] = PFX ## _pixels ## NUM ## _y2_c;  \
    c->PFX ## _pixels_tab[IDX][3] = PFX ## _pixels ## NUM ## _xy2_c

#define DST ( x,
 )     sum += FFABS(v)

#define DST ( x,
 )     dct[i][x]= v

Referenced by dct264_sad8x8_c().

#define G   1

#define H264_CHROMA_MC ( OPNAME,
OP   ) 

Definition at line 1488 of file dsputil.c.

#define H264_LOWPASS ( OPNAME,
OP,
OP2   ) 

Definition at line 2143 of file dsputil.c.

#define H264_MC ( OPNAME,
SIZE   ) 

Definition at line 2407 of file dsputil.c.

#define op2_avg ( a,
 )     a = (((a)+cm[((b) + 512)>>10]+1)>>1)

Definition at line 2547 of file dsputil.c.

#define op2_put ( a,
 )     a = cm[((b) + 512)>>10]

Definition at line 2548 of file dsputil.c.

#define op_avg ( a,
 )     a = (((a)+cm[((b) + 16)>>5]+1)>>1)

Definition at line 2544 of file dsputil.c.

#define op_avg ( a,
 )     a = (((a)+cm[((b) + 16)>>5]+1)>>1)

Definition at line 2544 of file dsputil.c.

#define op_avg ( a,
 )     a = (((a)+(((b) + 32)>>6)+1)>>1)

Definition at line 2544 of file dsputil.c.

#define op_avg ( a,
 )     a = rnd_avg32(a, b)

Definition at line 2544 of file dsputil.c.

#define op_avg_no_rnd ( a,
 )     a = (((a)+cm[((b) + 15)>>5])>>1)

Definition at line 2122 of file dsputil.c.

#define op_put ( a,
 )     a = cm[((b) + 16)>>5]

Definition at line 2546 of file dsputil.c.

#define op_put ( a,
 )     a = cm[((b) + 16)>>5]

Definition at line 2546 of file dsputil.c.

#define op_put ( a,
 )     a = (((b) + 32)>>6)

Definition at line 2546 of file dsputil.c.

#define op_put ( a,
 )     a = b

Definition at line 2546 of file dsputil.c.

#define op_put_no_rnd ( a,
 )     a = cm[((b) + 15)>>5]

Definition at line 2124 of file dsputil.c.

#define pb_7f   (~0UL/255 * 0x7f)

Definition at line 48 of file dsputil.c.

Referenced by add_bytes_c(), add_bytes_l2_c(), and diff_bytes_c().

#define pb_80   (~0UL/255 * 0x80)

Definition at line 49 of file dsputil.c.

Referenced by add_bytes_c(), add_bytes_l2_c(), and diff_bytes_c().

#define PIXOP2 ( OPNAME,
OP   ) 

Definition at line 803 of file dsputil.c.

#define put_h264_qpel16_mc00_c   ff_put_pixels16x16_c

Definition at line 2568 of file dsputil.c.

#define put_h264_qpel8_mc00_c   ff_put_pixels8x8_c

Definition at line 2566 of file dsputil.c.

#define put_no_rnd_pixels16_c   put_pixels16_c

Definition at line 1179 of file dsputil.c.

#define put_no_rnd_pixels8_c   put_pixels8_c

Definition at line 1178 of file dsputil.c.

#define put_no_rnd_qpel16_mc00_c   ff_put_pixels16x16_c

Definition at line 2140 of file dsputil.c.

#define put_no_rnd_qpel8_mc00_c   ff_put_pixels8x8_c

Definition at line 2139 of file dsputil.c.

#define put_qpel16_mc00_c   ff_put_pixels16x16_c

Definition at line 2137 of file dsputil.c.

#define put_qpel8_mc00_c   ff_put_pixels8x8_c

Definition at line 2135 of file dsputil.c.

#define QPEL_MC ( r,
OPNAME,
RND,
OP   ) 

Definition at line 1645 of file dsputil.c.

#define R   2

#define SET_CMP_FUNC ( name   ) 

Value:

c->name[0]= name ## 16_c;\
    c->name[1]= name ## 8x8_c;

Referenced by dsputil_init().

#define SQ (  )     ((a)*(a))

Definition at line 3700 of file dsputil.c.

Referenced by vsse16_c().

#define SRC (  )     dct[x][i]

#define SRC (  )     dct[i][x]

#define VSAD_INTRA ( size   ) 

Value:

static int vsad_intra##size##_c(/*MpegEncContext*/ void *c, uint8_t *s, uint8_t *dummy, int stride, int h){ \
    int score=0;                                                                                            \
    int x,y;                                                                                                \
                                                                                                            \
    for(y=1; y<h; y++){                                                                                     \
        for(x=0; x<size; x+=4){                                                                             \
            score+= FFABS(s[x  ] - s[x  +stride]) + FFABS(s[x+1] - s[x+1+stride])                           \
                   +FFABS(s[x+2] - s[x+2+stride]) + FFABS(s[x+3] - s[x+3+stride]);                          \
        }                                                                                                   \
        s+= stride;                                                                                         \
    }                                                                                                       \
                                                                                                            \
    return score;                                                                                           \
}

Definition at line 3667 of file dsputil.c.

#define VSSE_INTRA ( size   ) 

Value:

static int vsse_intra##size##_c(/*MpegEncContext*/ void *c, uint8_t *s, uint8_t *dummy, int stride, int h){ \
    int score=0;                                                                                            \
    int x,y;                                                                                                \
                                                                                                            \
    for(y=1; y<h; y++){                                                                                     \
        for(x=0; x<size; x+=4){                                                                               \
            score+= SQ(s[x  ] - s[x  +stride]) + SQ(s[x+1] - s[x+1+stride])                                 \
                   +SQ(s[x+2] - s[x+2+stride]) + SQ(s[x+3] - s[x+3+stride]);                                \
        }                                                                                                   \
        s+= stride;                                                                                         \
    }                                                                                                       \
                                                                                                            \
    return score;                                                                                           \
}

Definition at line 3701 of file dsputil.c.

#define W0   2048

Definition at line 3964 of file dsputil.c.

Referenced by wmv2_idct_col(), and wmv2_idct_row().

#define W1   2841

Definition at line 3965 of file dsputil.c.

#define W2   2676

Definition at line 3966 of file dsputil.c.

#define W3   2408

Definition at line 3967 of file dsputil.c.

#define W4   2048

Definition at line 3968 of file dsputil.c.

#define W5   1609

Definition at line 3969 of file dsputil.c.

#define W6   1108

Definition at line 3970 of file dsputil.c.

#define W7   565

Definition at line 3971 of file dsputil.c.


Function Documentation

static void add_8x8basis_c ( int16_t  rem[64],
int16_t  basis[64],
int  scale 
) [static]

Definition at line 3058 of file dsputil.c.

Referenced by dsputil_init().

static void add_bytes_c ( uint8_t *  dst,
uint8_t *  src,
int  w 
) [static]

Definition at line 3172 of file dsputil.c.

Referenced by dsputil_init().

static void add_bytes_l2_c ( uint8_t *  dst,
uint8_t *  src1,
uint8_t *  src2,
int  w 
) [static]

Definition at line 3183 of file dsputil.c.

Referenced by dsputil_init().

static void add_hfyu_left_prediction_bgr32_c ( uint8_t *  dst,
const uint8_t *  src,
int  w,
int *  red,
int *  green,
int *  blue,
int *  alpha 
) [static]

Definition at line 3284 of file dsputil.c.

Referenced by dsputil_init().

static int add_hfyu_left_prediction_c ( uint8_t *  dst,
const uint8_t *  src,
int  w,
int  acc 
) [static]

Definition at line 3254 of file dsputil.c.

Referenced by dsputil_init().

static void add_hfyu_median_prediction_c ( uint8_t *  dst,
const uint8_t *  src1,
const uint8_t *  diff,
int  w,
int *  left,
int *  left_top 
) [static]

Definition at line 3219 of file dsputil.c.

Referenced by dsputil_init().

static void add_pixels4_c ( uint8_t *restrict  pixels,
DCTELEM block,
int  line_size 
) [static]

Definition at line 602 of file dsputil.c.

Referenced by dsputil_init().

static void add_pixels8_c ( uint8_t *restrict  pixels,
DCTELEM block,
int  line_size 
) [static]

Definition at line 585 of file dsputil.c.

Referenced by dsputil_init().

static void add_pixels_clamped2_c ( const DCTELEM block,
uint8_t *restrict  pixels,
int  line_size 
) [static]

Definition at line 570 of file dsputil.c.

Referenced by ff_jref_idct2_add().

static void add_pixels_clamped4_c ( const DCTELEM block,
uint8_t *restrict  pixels,
int  line_size 
) [static]

Definition at line 553 of file dsputil.c.

Referenced by ff_jref_idct4_add().

static void add_pixels_clamped_c ( const DCTELEM block,
uint8_t *restrict  pixels,
int  line_size 
) [static]

Definition at line 532 of file dsputil.c.

Referenced by dsputil_init(), ff_jref_idct_add(), and ff_wmv2_idct_add_c().

static void avg_no_rnd_vc1_chroma_mc8_c ( uint8_t *  dst,
uint8_t *  src,
int  stride,
int  h,
int  x,
int  y 
) [static]

Definition at line 1621 of file dsputil.c.

Referenced by dsputil_init().

static void avg_rv40_qpel16_mc33_c ( uint8_t *  dst,
uint8_t *  src,
int  stride 
) [static]

Definition at line 2606 of file dsputil.c.

Referenced by dsputil_init().

static void avg_rv40_qpel8_mc33_c ( uint8_t *  dst,
uint8_t *  src,
int  stride 
) [static]

Definition at line 2612 of file dsputil.c.

Referenced by dsputil_init().

static void avg_tpel_pixels_mc00_c ( uint8_t *  dst,
const uint8_t *  src,
int  stride,
int  width,
int  height 
) [inline, static]

Definition at line 1370 of file dsputil.c.

Referenced by dsputil_init().

static void avg_tpel_pixels_mc01_c ( uint8_t *  dst,
const uint8_t *  src,
int  stride,
int  width,
int  height 
) [inline, static]

Definition at line 1401 of file dsputil.c.

Referenced by dsputil_init().

static void avg_tpel_pixels_mc02_c ( uint8_t *  dst,
const uint8_t *  src,
int  stride,
int  width,
int  height 
) [inline, static]

Definition at line 1434 of file dsputil.c.

Referenced by dsputil_init().

static void avg_tpel_pixels_mc10_c ( uint8_t *  dst,
const uint8_t *  src,
int  stride,
int  width,
int  height 
) [inline, static]

Definition at line 1379 of file dsputil.c.

Referenced by dsputil_init().

static void avg_tpel_pixels_mc11_c ( uint8_t *  dst,
const uint8_t *  src,
int  stride,
int  width,
int  height 
) [inline, static]

Definition at line 1412 of file dsputil.c.

Referenced by dsputil_init().

static void avg_tpel_pixels_mc12_c ( uint8_t *  dst,
const uint8_t *  src,
int  stride,
int  width,
int  height 
) [inline, static]

Definition at line 1423 of file dsputil.c.

Referenced by dsputil_init().

static void avg_tpel_pixels_mc20_c ( uint8_t *  dst,
const uint8_t *  src,
int  stride,
int  width,
int  height 
) [inline, static]

Definition at line 1390 of file dsputil.c.

Referenced by dsputil_init().

static void avg_tpel_pixels_mc21_c ( uint8_t *  dst,
const uint8_t *  src,
int  stride,
int  width,
int  height 
) [inline, static]

Definition at line 1445 of file dsputil.c.

Referenced by dsputil_init().

static void avg_tpel_pixels_mc22_c ( uint8_t *  dst,
const uint8_t *  src,
int  stride,
int  width,
int  height 
) [inline, static]

Definition at line 1456 of file dsputil.c.

Referenced by dsputil_init().

static int bit8x8_c ( void *  c,
uint8_t *  src1,
uint8_t *  src2,
int  stride,
int  h 
) [static]

Definition at line 3608 of file dsputil.c.

static void bswap_buf ( uint32_t *  dst,
const uint32_t *  src,
int  w 
) [static]

Definition at line 208 of file dsputil.c.

Referenced by dsputil_init().

static void butterflies_float_c ( float *restrict  v1,
float *restrict  v2,
int  len 
) [static]

Definition at line 3840 of file dsputil.c.

Referenced by dsputil_init().

static void clear_block_c ( DCTELEM block  )  [static]

Definition at line 3159 of file dsputil.c.

Referenced by dsputil_init().

static void clear_blocks_c ( DCTELEM blocks  )  [static]

memset(blocks, 0, sizeof(DCTELEM)*6*64)

Definition at line 3167 of file dsputil.c.

Referenced by dsputil_init().

static uint32_t clipf_c_one ( uint32_t  a,
uint32_t  mini,
uint32_t  maxi,
uint32_t  maxisign 
) [inline, static]

Definition at line 3868 of file dsputil.c.

Referenced by vector_clipf_c_opposite_sign().

static int dct264_sad8x8_c ( void *  c,
uint8_t *  src1,
uint8_t *  src2,
int  stride,
int  h 
) [static]

Definition at line 3468 of file dsputil.c.

static int dct_max8x8_c ( void *  c,
uint8_t *  src1,
uint8_t *  src2,
int  stride,
int  h 
) [static]

Definition at line 3493 of file dsputil.c.

static int dct_sad8x8_c ( void *  c,
uint8_t *  src1,
uint8_t *  src2,
int  stride,
int  h 
) [static]

Definition at line 3429 of file dsputil.c.

DECLARE_ALIGNED ( 16  ,
uint16_t  ,
inv_zigzag_direct16   
)

static void diff_bytes_c ( uint8_t *  dst,
uint8_t *  src1,
uint8_t *  src2,
int  w 
) [static]

Definition at line 3194 of file dsputil.c.

Referenced by dsputil_init().

static void diff_pixels_c ( DCTELEM *restrict  block,
const uint8_t *  s1,
const uint8_t *  s2,
int  stride 
) [static]

Definition at line 413 of file dsputil.c.

Referenced by dsputil_init().

static void draw_edges_c ( uint8_t *  buf,
int  wrap,
int  width,
int  height,
int  w 
) [static]

Definition at line 296 of file dsputil.c.

Referenced by dsputil_init().

av_cold void dsputil_init ( DSPContext c,
AVCodecContext avctx 
)

av_cold void dsputil_static_init ( void   ) 

Definition at line 4097 of file dsputil.c.

Referenced by avcodec_init().

void ff_avg_pixels16x16_c ( uint8_t *  dst,
uint8_t *  src,
int  stride 
)

Definition at line 2598 of file dsputil.c.

void ff_avg_pixels8x8_c ( uint8_t *  dst,
uint8_t *  src,
int  stride 
)

Definition at line 2592 of file dsputil.c.

Referenced by ff_vc1dsp_init().

void ff_block_permute ( DCTELEM block,
uint8_t *  permutation,
const uint8_t *  scantable,
int  last 
)

permutes an 8x8 block.

permute block according to permuatation.

Parameters:
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 3074 of file dsputil.c.

Referenced by dct_quantize_altivec(), dct_quantize_bfin(), and dct_quantize_c().

int ff_check_alignment ( void   ) 

Definition at line 4114 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,
const uint8_t *  src,
int  linesize,
int  block_w,
int  block_h,
int  src_x,
int  src_y,
int  w,
int  h 
)

Copy a rectangular area of samples to a temporary buffer and replicate the border samples.

Parameters:
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 335 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(), vp56_mc(), and vp8_mc().

void ff_float_to_int16_c ( int16_t *  dst,
const float *  src,
long  len 
)

Definition at line 3924 of file dsputil.c.

Referenced by decode_init(), and dsputil_init().

void ff_float_to_int16_interleave_c ( int16_t *  dst,
const float **  src,
long  len,
int  channels 
)

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 1215 of file dsputil.c.

Referenced by dsputil_init(), and gmc_mmx().

void ff_init_scantable ( uint8_t *  permutation,
ScanTable st,
const uint8_t *  src_scantable 
)

static void ff_jref_idct1_add ( uint8_t *  dest,
int  line_size,
DCTELEM block 
) [static]

Definition at line 4087 of file dsputil.c.

Referenced by dsputil_init().

static void ff_jref_idct1_put ( uint8_t *  dest,
int  line_size,
DCTELEM block 
) [static]

Definition at line 4081 of file dsputil.c.

Referenced by dsputil_init().

static void ff_jref_idct2_add ( uint8_t *  dest,
int  line_size,
DCTELEM block 
) [static]

Definition at line 4075 of file dsputil.c.

Referenced by dsputil_init().

static void ff_jref_idct2_put ( uint8_t *  dest,
int  line_size,
DCTELEM block 
) [static]

Definition at line 4070 of file dsputil.c.

Referenced by dsputil_init().

static void ff_jref_idct4_add ( uint8_t *  dest,
int  line_size,
DCTELEM block 
) [static]

Definition at line 4064 of file dsputil.c.

Referenced by dsputil_init().

static void ff_jref_idct4_put ( uint8_t *  dest,
int  line_size,
DCTELEM block 
) [static]

Definition at line 4059 of file dsputil.c.

Referenced by dsputil_init().

static void ff_jref_idct_add ( uint8_t *  dest,
int  line_size,
DCTELEM block 
) [static]

Definition at line 4053 of file dsputil.c.

Referenced by dsputil_init().

static void ff_jref_idct_put ( uint8_t *  dest,
int  line_size,
DCTELEM block 
) [static]

Definition at line 4048 of file dsputil.c.

Referenced by dsputil_init().

void ff_put_pixels16x16_c ( uint8_t *  dst,
uint8_t *  src,
int  stride 
)

Definition at line 2595 of file dsputil.c.

void ff_put_pixels8x8_c ( uint8_t *  dst,
uint8_t *  src,
int  stride 
)

Definition at line 2589 of file dsputil.c.

Referenced by dsputil_init(), and ff_vc1dsp_init().

void ff_set_cmp ( DSPContext c,
me_cmp_func cmp,
int  type 
)

Definition at line 3099 of file dsputil.c.

Referenced by dvvideo_init(), encode_init(), ff_init_me(), and MPV_encode_init().

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 3773 of file dsputil.c.

Referenced by dsputil_init(), vector_fmul_window_3dnow2(), and vector_fmul_window_sse().

static void ff_wmv2_idct_add_c ( uint8_t *  dest,
int  line_size,
DCTELEM block 
) [static]

Definition at line 4043 of file dsputil.c.

Referenced by dsputil_init().

void ff_wmv2_idct_c ( short *  block  ) 

Definition at line 4026 of file dsputil.c.

Referenced by dsputil_init(), ff_wmv2_idct_add_c(), and ff_wmv2_idct_put_c().

static void ff_wmv2_idct_put_c ( uint8_t *  dest,
int  line_size,
DCTELEM block 
) [static]

Definition at line 4038 of file dsputil.c.

Referenced by dsputil_init().

static void fill_block16_c ( uint8_t *  block,
uint8_t  value,
int  line_size,
int  h 
) [static]

Definition at line 623 of file dsputil.c.

Referenced by dsputil_init().

static void fill_block8_c ( uint8_t *  block,
uint8_t  value,
int  line_size,
int  h 
) [static]

Definition at line 633 of file dsputil.c.

Referenced by dsputil_init().

static av_always_inline int float_to_int16_one ( const float *  src  )  [static]

Definition at line 3913 of file dsputil.c.

Referenced by ff_float_to_int16_c(), and ff_float_to_int16_interleave_c().

static void get_pixels_c ( DCTELEM *restrict  block,
const uint8_t *  pixels,
int  line_size 
) [static]

Definition at line 394 of file dsputil.c.

Referenced by dsputil_init().

static void gmc1_c ( uint8_t *  dst,
uint8_t *  src,
int  stride,
int  h,
int  x16,
int  y16,
int  rounder 
) [static]

Definition at line 1192 of file dsputil.c.

Referenced by dsputil_init(), and dsputil_init_align().

static void h261_loop_filter_c ( uint8_t *  src,
int  stride 
) [static]

Definition at line 2764 of file dsputil.c.

Referenced by dsputil_init().

static void h263_h_loop_filter_c ( uint8_t *  src,
int  stride,
int  qscale 
) [static]

Definition at line 2727 of file dsputil.c.

Referenced by dsputil_init().

static void h263_v_loop_filter_c ( uint8_t *  src,
int  stride,
int  qscale 
) [static]

Definition at line 2690 of file dsputil.c.

Referenced by dsputil_init().

static int hadamard8_diff8x8_c ( void *  s,
uint8_t *  dst,
uint8_t *  src,
int  stride,
int  h 
) [static]

Definition at line 3329 of file dsputil.c.

static int hadamard8_intra8x8_c ( void *  s,
uint8_t *  src,
uint8_t *  dummy,
int  stride,
int  h 
) [static]

Definition at line 3381 of file dsputil.c.

static void int32_to_float_fmul_scalar_c ( float *  dst,
const int *  src,
float  mul,
int  len 
) [static]

Definition at line 3862 of file dsputil.c.

Referenced by dsputil_init().

static void just_return ( void *mem  av_unused,
int stride  av_unused,
int h  av_unused 
) [static]

Definition at line 4094 of file dsputil.c.

Referenced by dsputil_init(), and dsputil_init_mmx().

static int nsse16_c ( void *  v,
uint8_t *  s1,
uint8_t *  s2,
int  stride,
int  h 
) [static]

Definition at line 2991 of file dsputil.c.

Referenced by dsputil_init().

static int nsse8_c ( void *  v,
uint8_t *  s1,
uint8_t *  s2,
int  stride,
int  h 
) [static]

Definition at line 3017 of file dsputil.c.

Referenced by dsputil_init().

static int pix_abs16_c ( void *  v,
uint8_t *  pix1,
uint8_t *  pix2,
int  line_size,
int  h 
) [inline, static]

Definition at line 2791 of file dsputil.c.

Referenced by dsputil_init().

static int pix_abs16_x2_c ( void *  v,
uint8_t *  pix1,
uint8_t *  pix2,
int  line_size,
int  h 
) [static]

Definition at line 2819 of file dsputil.c.

Referenced by dsputil_init().

static int pix_abs16_xy2_c ( void *  v,
uint8_t *  pix1,
uint8_t *  pix2,
int  line_size,
int  h 
) [static]

Definition at line 2877 of file dsputil.c.

Referenced by dsputil_init().

static int pix_abs16_y2_c ( void *  v,
uint8_t *  pix1,
uint8_t *  pix2,
int  line_size,
int  h 
) [static]

Definition at line 2847 of file dsputil.c.

Referenced by dsputil_init().

static int pix_abs8_c ( void *  v,
uint8_t *  pix1,
uint8_t *  pix2,
int  line_size,
int  h 
) [inline, static]

Definition at line 2907 of file dsputil.c.

Referenced by dsputil_init().

static int pix_abs8_x2_c ( void *  v,
uint8_t *  pix1,
uint8_t *  pix2,
int  line_size,
int  h 
) [static]

Definition at line 2927 of file dsputil.c.

Referenced by dsputil_init().

static int pix_abs8_xy2_c ( void *  v,
uint8_t *  pix1,
uint8_t *  pix2,
int  line_size,
int  h 
) [static]

Definition at line 2969 of file dsputil.c.

Referenced by dsputil_init().

static int pix_abs8_y2_c ( void *  v,
uint8_t *  pix1,
uint8_t *  pix2,
int  line_size,
int  h 
) [static]

Definition at line 2947 of file dsputil.c.

Referenced by dsputil_init().

static int pix_norm1_c ( uint8_t *  pix,
int  line_size 
) [static]

Definition at line 160 of file dsputil.c.

Referenced by dsputil_init().

static int pix_sum_c ( uint8_t *  pix,
int  line_size 
) [static]

Definition at line 138 of file dsputil.c.

Referenced by dsputil_init().

static void put_mspel8_mc02_c ( uint8_t *  dst,
uint8_t *  src,
int  stride 
) [static]

Definition at line 2662 of file dsputil.c.

Referenced by dsputil_init().

static void put_mspel8_mc10_c ( uint8_t *  dst,
uint8_t *  src,
int  stride 
) [static]

Definition at line 2646 of file dsputil.c.

Referenced by dsputil_init().

static void put_mspel8_mc12_c ( uint8_t *  dst,
uint8_t *  src,
int  stride 
) [static]

Definition at line 2666 of file dsputil.c.

Referenced by dsputil_init().

static void put_mspel8_mc20_c ( uint8_t *  dst,
uint8_t *  src,
int  stride 
) [static]

Definition at line 2652 of file dsputil.c.

Referenced by dsputil_init().

static void put_mspel8_mc22_c ( uint8_t *  dst,
uint8_t *  src,
int  stride 
) [static]

Definition at line 2684 of file dsputil.c.

Referenced by dsputil_init().

static void put_mspel8_mc30_c ( uint8_t *  dst,
uint8_t *  src,
int  stride 
) [static]

Definition at line 2656 of file dsputil.c.

Referenced by dsputil_init().

static void put_mspel8_mc32_c ( uint8_t *  dst,
uint8_t *  src,
int  stride 
) [static]

Definition at line 2675 of file dsputil.c.

Referenced by dsputil_init().

static void put_no_rnd_pixels16_l2_c ( uint8_t *  dst,
const uint8_t *  a,
const uint8_t *  b,
int  stride,
int  h 
) [static]

Definition at line 1184 of file dsputil.c.

Referenced by dsputil_init().

static void put_no_rnd_pixels8_l2_c ( uint8_t *  dst,
const uint8_t *  a,
const uint8_t *  b,
int  stride,
int  h 
) [static]

Definition at line 1188 of file dsputil.c.

Referenced by dsputil_init().

static void put_no_rnd_vc1_chroma_mc8_c ( uint8_t *  dst,
uint8_t *  src,
int  stride,
int  h,
int  x,
int  y 
) [static]

Definition at line 1597 of file dsputil.c.

Referenced by dsputil_init().

static void put_pixels_clamped2_c ( const DCTELEM block,
uint8_t *restrict  pixels,
int  line_size 
) [static]

Definition at line 474 of file dsputil.c.

Referenced by ff_jref_idct2_put().

static void put_pixels_clamped4_c ( const DCTELEM block,
uint8_t *restrict  pixels,
int  line_size 
) [static]

Definition at line 456 of file dsputil.c.

Referenced by ff_jref_idct4_put().

static void put_pixels_clamped_c ( const DCTELEM block,
uint8_t *restrict  pixels,
int  line_size 
) [static]

Definition at line 434 of file dsputil.c.

Referenced by dsputil_init(), ff_jref_idct_put(), and ff_wmv2_idct_put_c().

static void put_pixels_nonclamped_c ( const DCTELEM block,
uint8_t *restrict  pixels,
int  line_size 
) [static]

Definition at line 511 of file dsputil.c.

Referenced by dsputil_init().

static void put_rv40_qpel16_mc33_c ( uint8_t *  dst,
uint8_t *  src,
int  stride 
) [static]

Definition at line 2603 of file dsputil.c.

Referenced by dsputil_init().

static void put_rv40_qpel8_mc33_c ( uint8_t *  dst,
uint8_t *  src,
int  stride 
) [static]

Definition at line 2609 of file dsputil.c.

Referenced by dsputil_init().

static void put_signed_pixels_clamped_c ( const DCTELEM block,
uint8_t *restrict  pixels,
int  line_size 
) [static]

Definition at line 490 of file dsputil.c.

Referenced by dsputil_init().

static void put_tpel_pixels_mc00_c ( uint8_t *  dst,
const uint8_t *  src,
int  stride,
int  width,
int  height 
) [inline, static]

Definition at line 1273 of file dsputil.c.

Referenced by dsputil_init().

static void put_tpel_pixels_mc01_c ( uint8_t *  dst,
const uint8_t *  src,
int  stride,
int  width,
int  height 
) [inline, static]

Definition at line 1304 of file dsputil.c.

Referenced by dsputil_init().

static void put_tpel_pixels_mc02_c ( uint8_t *  dst,
const uint8_t *  src,
int  stride,
int  width,
int  height 
) [inline, static]

Definition at line 1337 of file dsputil.c.

Referenced by dsputil_init().

static void put_tpel_pixels_mc10_c ( uint8_t *  dst,
const uint8_t *  src,
int  stride,
int  width,
int  height 
) [inline, static]

Definition at line 1282 of file dsputil.c.

Referenced by dsputil_init().

static void put_tpel_pixels_mc11_c ( uint8_t *  dst,
const uint8_t *  src,
int  stride,
int  width,
int  height 
) [inline, static]

Definition at line 1315 of file dsputil.c.

Referenced by dsputil_init().

static void put_tpel_pixels_mc12_c ( uint8_t *  dst,
const uint8_t *  src,
int  stride,
int  width,
int  height 
) [inline, static]

Definition at line 1326 of file dsputil.c.

Referenced by dsputil_init().

static void put_tpel_pixels_mc20_c ( uint8_t *  dst,
const uint8_t *  src,
int  stride,
int  width,
int  height 
) [inline, static]

Definition at line 1293 of file dsputil.c.

Referenced by dsputil_init().

static void put_tpel_pixels_mc21_c ( uint8_t *  dst,
const uint8_t *  src,
int  stride,
int  width,
int  height 
) [inline, static]

Definition at line 1348 of file dsputil.c.

Referenced by dsputil_init().

static void put_tpel_pixels_mc22_c ( uint8_t *  dst,
const uint8_t *  src,
int  stride,
int  width,
int  height 
) [inline, static]

Definition at line 1359 of file dsputil.c.

Referenced by dsputil_init().

static int quant_psnr8x8_c ( void *  c,
uint8_t *  src1,
uint8_t *  src2,
int  stride,
int  h 
) [static]

Definition at line 3509 of file dsputil.c.

static int rd8x8_c ( void *  c,
uint8_t *  src1,
uint8_t *  src2,
int  stride,
int  h 
) [static]

Definition at line 3532 of file dsputil.c.

static int32_t scalarproduct_and_madd_int16_c ( int16_t *  v1,
const int16_t *  v2,
const int16_t *  v3,
int  order,
int  mul 
) [static]

Definition at line 3954 of file dsputil.c.

Referenced by dsputil_init().

static float scalarproduct_float_c ( const float *  v1,
const float *  v2,
int  len 
) [static]

Definition at line 3851 of file dsputil.c.

Referenced by dsputil_init().

static int32_t scalarproduct_int16_c ( const int16_t *  v1,
const int16_t *  v2,
int  order,
int  shift 
) [static]

Definition at line 3944 of file dsputil.c.

Referenced by dsputil_init().

static void scale_block_c ( const uint8_t  src[64],
uint8_t *  dst,
int  linesize 
) [static]

Definition at line 643 of file dsputil.c.

Referenced by dsputil_init().

static int ssd_int8_vs_int16_c ( const int8_t *  pix1,
const int16_t *  pix2,
int  size 
) [static]

Definition at line 3734 of file dsputil.c.

Referenced by dsputil_init().

static int sse16_c ( void *  v,
uint8_t *  pix1,
uint8_t *  pix2,
int  line_size,
int  h 
) [static]

Definition at line 264 of file dsputil.c.

Referenced by dsputil_init().

static int sse4_c ( void *  v,
uint8_t *  pix1,
uint8_t *  pix2,
int  line_size,
int  h 
) [static]

Definition at line 226 of file dsputil.c.

Referenced by dsputil_init().

static int sse8_c ( void *  v,
uint8_t *  pix1,
uint8_t *  pix2,
int  line_size,
int  h 
) [static]

Definition at line 243 of file dsputil.c.

Referenced by dsputil_init().

static void sub_hfyu_median_prediction_c ( uint8_t *  dst,
const uint8_t *  src1,
const uint8_t *  src2,
int  w,
int *  left,
int *  left_top 
) [static]

Definition at line 3236 of file dsputil.c.

Referenced by dsputil_init().

static int sum_abs_dctelem_c ( DCTELEM block  )  [static]

Definition at line 615 of file dsputil.c.

Referenced by dsputil_init().

static void sv_fmul_scalar_2_c ( float *  dst,
const float **  sv,
float  mul,
int  len 
) [static]

Definition at line 3818 of file dsputil.c.

Referenced by dsputil_init().

static void sv_fmul_scalar_4_c ( float *  dst,
const float **  sv,
float  mul,
int  len 
) [static]

Definition at line 3828 of file dsputil.c.

Referenced by dsputil_init().

static int try_8x8basis_c ( int16_t  rem[64],
int16_t  weight[64],
int16_t  basis[64],
int  scale 
) [static]

Definition at line 3043 of file dsputil.c.

Referenced by dsputil_init().

static void vector_clipf_c ( float *  dst,
const float *  src,
float  min,
float  max,
int  len 
) [static]

Definition at line 3895 of file dsputil.c.

Referenced by dsputil_init().

static void vector_clipf_c_opposite_sign ( float *  dst,
const float *  src,
float *  min,
float *  max,
int  len 
) [static]

Definition at line 3877 of file dsputil.c.

Referenced by vector_clipf_c().

static void vector_fmul_add_c ( float *  dst,
const float *  src0,
const float *  src1,
const float *  src2,
int  len 
) [static]

Definition at line 3767 of file dsputil.c.

Referenced by dsputil_init().

static void vector_fmul_c ( float *  dst,
const float *  src,
int  len 
) [static]

Definition at line 3754 of file dsputil.c.

Referenced by dsputil_init().

static void vector_fmul_reverse_c ( float *  dst,
const float *  src0,
const float *  src1,
int  len 
) [static]

Definition at line 3760 of file dsputil.c.

Referenced by dsputil_init().

static void vector_fmul_scalar_c ( float *  dst,
const float *  src,
float  mul,
int  len 
) [static]

Definition at line 3788 of file dsputil.c.

Referenced by dsputil_init().

static void vector_fmul_sv_scalar_2_c ( float *  dst,
const float *  src,
const float **  sv,
float  mul,
int  len 
) [static]

Definition at line 3796 of file dsputil.c.

Referenced by dsputil_init().

static void vector_fmul_sv_scalar_4_c ( float *  dst,
const float *  src,
const float **  sv,
float  mul,
int  len 
) [static]

Definition at line 3806 of file dsputil.c.

Referenced by dsputil_init().

static int vsad16_c ( void *  c,
uint8_t *  s1,
uint8_t *  s2,
int  stride,
int  h 
) [static]

Definition at line 3685 of file dsputil.c.

Referenced by dsputil_init().

static int vsse16_c ( void *  c,
uint8_t *  s1,
uint8_t *  s2,
int  stride,
int  h 
) [static]

Definition at line 3719 of file dsputil.c.

Referenced by dsputil_init().

static void wmv2_idct_col ( short *  b  )  [static]

Definition at line 3999 of file dsputil.c.

Referenced by ff_wmv2_idct_c().

static void wmv2_idct_row ( short *  b  )  [static]

Definition at line 3973 of file dsputil.c.

Referenced by ff_wmv2_idct_c().

static void wmv2_mspel8_h_lowpass ( uint8_t *  dst,
uint8_t *  src,
int  dstStride,
int  srcStride,
int  h 
) [static]

static void wmv2_mspel8_v_lowpass ( uint8_t *  dst,
uint8_t *  src,
int  dstStride,
int  srcStride,
int  w 
) [static]

static int zero_cmp ( void *  s,
uint8_t *  a,
uint8_t *  b,
int  stride,
int  h 
) [static]

Definition at line 3095 of file dsputil.c.

Referenced by ff_init_me(), and ff_set_cmp().


Variable Documentation

const uint8_t ff_alternate_horizontal_scan[64]

Initial value:

 {
    0,  1,   2,  3,  8,  9, 16, 17,
    10, 11,  4,  5,  6,  7, 15, 14,
    13, 12, 19, 18, 24, 25, 32, 33,
    26, 27, 20, 21, 22, 23, 28, 29,
    30, 31, 34, 35, 40, 41, 48, 49,
    42, 43, 36, 37, 38, 39, 44, 45,
    46, 47, 50, 51, 56, 57, 58, 59,
    52, 53, 54, 55, 60, 61, 62, 63,
}

Definition at line 78 of file dsputil.c.

Referenced by decode_vop_header(), and ff_dct_common_init().

const uint8_t ff_alternate_vertical_scan[64]

Initial value:

 {
    0,  8,  16, 24,  1,  9,  2, 10,
    17, 25, 32, 40, 48, 56, 57, 49,
    41, 33, 26, 18,  3, 11,  4, 12,
    19, 27, 34, 42, 50, 58, 35, 43,
    51, 59, 20, 28,  5, 13,  6, 14,
    21, 29, 36, 44, 52, 60, 37, 45,
    53, 61, 22, 30,  7, 15, 23, 31,
    38, 46, 54, 62, 39, 47, 55, 63,
}

Definition at line 89 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] = {0, }

Definition at line 44 of file dsputil.c.

uint32_t ff_squareTbl[512] = {0, }

Definition at line 45 of file dsputil.c.

Referenced by dsputil_static_init(), pix_norm1(), pix_norm1_c(), sse(), sse16_c(), sse4_c(), and sse8_c().

const uint8_t ff_zigzag248_direct[64]

Initial value:

 {
     0,  8,  1,  9, 16, 24,  2, 10,
    17, 25, 32, 40, 48, 56, 33, 41,
    18, 26,  3, 11,  4, 12, 19, 27,
    34, 42, 49, 57, 50, 58, 35, 43,
    20, 28,  5, 13,  6, 14, 21, 29,
    36, 44, 51, 59, 52, 60, 37, 45,
    22, 30,  7, 15, 23, 31, 38, 46,
    53, 61, 54, 62, 39, 47, 55, 63,
}

Definition at line 64 of file dsputil.c.

Referenced by dv_init_enc_block(), and dvvideo_init().

const uint8_t ff_zigzag_direct[64]

Initial value:

 {
    0,   1,  8, 16,  9,  2,  3, 10,
    17, 24, 32, 25, 18, 11,  4,  5,
    12, 19, 26, 33, 40, 48, 41, 34,
    27, 20, 13,  6,  7, 14, 21, 28,
    35, 42, 49, 56, 57, 50, 43, 36,
    29, 22, 15, 23, 30, 37, 44, 51,
    58, 59, 52, 45, 38, 31, 39, 46,
    53, 60, 61, 54, 47, 55, 62, 63
}

Definition at line 51 of file dsputil.c.

Referenced by decode_gop_header(), decode_i_block(), decode_init(), decode_pic(), decode_scaling_list(), decode_vol_header(), decode_vop_header(), dnxhd_init_qmat(), dnxhd_init_vlc(), dsputil_static_init(), dv_init_enc_block(), dvvideo_init(), ff_dct_common_init(), ff_mjpeg_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(), rtjpeg_decode_init(), tgq_decode_init(), tqi_decode_init(), vaapi_mpeg2_start_frame(), vaapi_mpeg4_start_frame(), and vp3_decode_init().

const uint8_t idct_sse2_row_perm[8] = {0, 4, 1, 5, 2, 6, 3, 7} [static]

Definition at line 112 of file dsputil.c.

const uint8_t simple_mmx_permutation[64] [static]

Initial value:

{
        0x00, 0x08, 0x04, 0x09, 0x01, 0x0C, 0x05, 0x0D,
        0x10, 0x18, 0x14, 0x19, 0x11, 0x1C, 0x15, 0x1D,
        0x20, 0x28, 0x24, 0x29, 0x21, 0x2C, 0x25, 0x2D,
        0x12, 0x1A, 0x16, 0x1B, 0x13, 0x1E, 0x17, 0x1F,
        0x02, 0x0A, 0x06, 0x0B, 0x03, 0x0E, 0x07, 0x0F,
        0x30, 0x38, 0x34, 0x39, 0x31, 0x3C, 0x35, 0x3D,
        0x22, 0x2A, 0x26, 0x2B, 0x23, 0x2E, 0x27, 0x2F,
        0x32, 0x3A, 0x36, 0x3B, 0x33, 0x3E, 0x37, 0x3F,
}

Definition at line 101 of file dsputil.c.

Referenced by dsputil_init().


Generated on Wed Jan 19 23:49:40 2011 for FFmpeg by  doxygen 1.5.6