FFmpeg
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Macros | Functions | Variables
dsputil.c File Reference

DSP utils. More...

#include "libavutil/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 "vorbis.h"
#include "diracdsp.h"
#include "dsputil_template.c"

Go to the source code of this file.

Macros

#define pixeltmp   int16_t
 
#define BIT_DEPTH   9
 
#define BIT_DEPTH   10
 
#define pixeltmp   int32_t
 
#define BIT_DEPTH   12
 
#define BIT_DEPTH   14
 
#define pixeltmp   int16_t
 
#define BIT_DEPTH   8
 
#define pb_7f   (~0UL/255 * 0x7f)
 
#define pb_80   (~0UL/255 * 0x80)
 
#define avg2(a, b)   ((a+b+1)>>1)
 
#define avg4(a, b, c, d)   ((a+b+c+d+2)>>2)
 
#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_8_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 VSAD_INTRA(size)
 
#define SQ(a)   ((a)*(a))
 
#define VSSE_INTRA(size)
 
#define W0   2048
 
#define W1   2841 /* 2048*sqrt (2)*cos (1*pi/16) */
 
#define W2   2676 /* 2048*sqrt (2)*cos (2*pi/16) */
 
#define W3   2408 /* 2048*sqrt (2)*cos (3*pi/16) */
 
#define W4   2048 /* 2048*sqrt (2)*cos (4*pi/16) */
 
#define W5   1609 /* 2048*sqrt (2)*cos (5*pi/16) */
 
#define W6   1108 /* 2048*sqrt (2)*cos (6*pi/16) */
 
#define W7   565 /* 2048*sqrt (2)*cos (7*pi/16) */
 
#define dspfunc(PFX, IDX, NUM)
 
#define SET_CMP_FUNC(name)
 
#define FUNC(f, depth)   f ## _ ## depth
 
#define FUNCC(f, depth)   f ## _ ## depth ## _c
 
#define dspfunc1(PFX, IDX, NUM, depth)
 
#define dspfunc2(PFX, IDX, NUM, depth)
 
#define BIT_DEPTH_FUNCS(depth, dct)
 

Functions

void ff_init_scantable (uint8_t *permutation, ScanTable *st, const uint8_t *src_scantable)
 
void ff_init_scantable_permutation (uint8_t *idct_permutation, int idct_permutation_type)
 
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 void bswap16_buf (uint16_t *dst, const uint16_t *src, int len)
 
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 diff_pixels_c (DCTELEM *av_restrict block, const uint8_t *s1, const uint8_t *s2, int stride)
 
static void put_pixels_clamped_c (const DCTELEM *block, uint8_t *av_restrict pixels, int line_size)
 
static void put_pixels_clamped4_c (const DCTELEM *block, uint8_t *av_restrict pixels, int line_size)
 
static void put_pixels_clamped2_c (const DCTELEM *block, uint8_t *av_restrict pixels, int line_size)
 
static void put_signed_pixels_clamped_c (const DCTELEM *block, uint8_t *av_restrict pixels, int line_size)
 
static void add_pixels_clamped_c (const DCTELEM *block, uint8_t *av_restrict pixels, int line_size)
 
static void add_pixels_clamped4_c (const DCTELEM *block, uint8_t *av_restrict pixels, int line_size)
 
static void add_pixels_clamped2_c (const DCTELEM *block, uint8_t *av_restrict pixels, 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 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 wmv2_mspel8_h_lowpass (uint8_t *dst, uint8_t *src, int dstStride, int srcStride, int h)
 
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)
 Permute 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 add_bytes_c (uint8_t *dst, uint8_t *src, int w)
 
static void diff_bytes_c (uint8_t *dst, const uint8_t *src1, const 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 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_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)
 
static void vector_fmul_window_c (float *dst, const float *src0, const float *src1, const float *win, int len)
 
static void butterflies_float_c (float *av_restrict v1, float *av_restrict v2, int len)
 
static void butterflies_float_interleave_c (float *dst, const float *src0, const float *src1, int len)
 
float ff_scalarproduct_float_c (const float *v1, const float *v2, int len)
 Return the scalar product of two vectors.
 
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 int32_t scalarproduct_int16_c (const int16_t *v1, const int16_t *v2, int order)
 
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 apply_window_int16_c (int16_t *output, const int16_t *input, const int16_t *window, unsigned int len)
 
static void vector_clip_int32_c (int32_t *dst, const int32_t *src, int32_t min, int32_t max, unsigned int len)
 
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)
 
av_cold void ff_dsputil_static_init (void)
 
int ff_check_alignment (void)
 
av_cold void ff_dsputil_init (DSPContext *c, AVCodecContext *avctx)
 
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]
 
uint16_t ff_inv_zigzag_direct16 [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.

Macro Definition Documentation

#define pixeltmp   int16_t

Definition at line 65 of file dsputil.c.

#define BIT_DEPTH   9

Definition at line 66 of file dsputil.c.

#define BIT_DEPTH   10

Definition at line 66 of file dsputil.c.

#define pixeltmp   int32_t

Definition at line 65 of file dsputil.c.

#define BIT_DEPTH   12

Definition at line 66 of file dsputil.c.

#define BIT_DEPTH   14

Definition at line 66 of file dsputil.c.

#define pixeltmp   int16_t

Definition at line 65 of file dsputil.c.

#define BIT_DEPTH   8

Definition at line 66 of file dsputil.c.

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

Definition at line 71 of file dsputil.c.

Referenced by add_bytes_c(), and diff_bytes_c().

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

Definition at line 72 of file dsputil.c.

Referenced by add_bytes_c(), and diff_bytes_c().

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

Definition at line 528 of file dsputil.c.

Referenced by pix_abs16_x2_c(), pix_abs16_y2_c(), pix_abs8_x2_c(), and pix_abs8_y2_c().

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

Definition at line 529 of file dsputil.c.

Referenced by pix_abs16_xy2_c(), and pix_abs8_xy2_c().

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

Definition at line 806 of file dsputil.c.

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

Definition at line 1282 of file dsputil.c.

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

Definition at line 1283 of file dsputil.c.

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

Definition at line 1284 of file dsputil.c.

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

Definition at line 1285 of file dsputil.c.

#define put_qpel8_mc00_c   ff_put_pixels8x8_c

Definition at line 1296 of file dsputil.c.

#define avg_qpel8_mc00_c   ff_avg_pixels8x8_c

Definition at line 1297 of file dsputil.c.

#define put_qpel16_mc00_c   ff_put_pixels16x16_c

Definition at line 1298 of file dsputil.c.

#define avg_qpel16_mc00_c   ff_avg_pixels16x16_c

Definition at line 1299 of file dsputil.c.

#define put_no_rnd_qpel8_mc00_c   ff_put_pixels8x8_c

Definition at line 1300 of file dsputil.c.

#define put_no_rnd_qpel16_mc00_c   ff_put_pixels16x16_8_c

Definition at line 1301 of file dsputil.c.

#define B   0
#define G   1
#define R   2
#define A   3

Definition at line 2022 of file dsputil.c.

#define BUTTERFLY2 (   o1,
  o2,
  i1,
  i2 
)
Value:
o1= (i1)+(i2);\
o2= (i1)-(i2);

Definition at line 2054 of file dsputil.c.

Referenced by hadamard8_diff8x8_c(), and hadamard8_intra8x8_c().

#define BUTTERFLY1 (   x,
 
)
Value:
{\
int a,b;\
a= x;\
b= y;\
x= a+b;\
y= a-b;\
}

Definition at line 2058 of file dsputil.c.

Referenced by hadamard8_diff8x8_c(), and hadamard8_intra8x8_c().

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

Definition at line 2067 of file dsputil.c.

Referenced by hadamard8_diff8x8_c(), and hadamard8_intra8x8_c().

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

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

Definition at line 2433 of file dsputil.c.

Referenced by vsse16_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 2434 of file dsputil.c.

#define W0   2048

Definition at line 2645 of file dsputil.c.

Referenced by wmv2_idct_col(), and wmv2_idct_row().

#define W1   2841 /* 2048*sqrt (2)*cos (1*pi/16) */

Definition at line 2646 of file dsputil.c.

Referenced by wmv2_idct_col(), and wmv2_idct_row().

#define W2   2676 /* 2048*sqrt (2)*cos (2*pi/16) */

Definition at line 2647 of file dsputil.c.

Referenced by wmv2_idct_col(), and wmv2_idct_row().

#define W3   2408 /* 2048*sqrt (2)*cos (3*pi/16) */

Definition at line 2648 of file dsputil.c.

Referenced by wmv2_idct_col(), and wmv2_idct_row().

#define W4   2048 /* 2048*sqrt (2)*cos (4*pi/16) */

Definition at line 2649 of file dsputil.c.

#define W5   1609 /* 2048*sqrt (2)*cos (5*pi/16) */

Definition at line 2650 of file dsputil.c.

Referenced by wmv2_idct_col(), and wmv2_idct_row().

#define W6   1108 /* 2048*sqrt (2)*cos (6*pi/16) */

Definition at line 2651 of file dsputil.c.

Referenced by wmv2_idct_col(), and wmv2_idct_row().

#define W7   565 /* 2048*sqrt (2)*cos (7*pi/16) */

Definition at line 2652 of file dsputil.c.

Referenced by wmv2_idct_col(), and wmv2_idct_row().

#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 SET_CMP_FUNC (   name)
Value:
c->name[0]= name ## 16_c;\
c->name[1]= name ## 8x8_c;

Referenced by ff_dsputil_init().

#define FUNC (   f,
  depth 
)    f ## _ ## depth
#define FUNCC (   f,
  depth 
)    f ## _ ## depth ## _c
#define dspfunc1 (   PFX,
  IDX,
  NUM,
  depth 
)
Value:
c->PFX ## _pixels_tab[IDX][0] = FUNCC(PFX ## _pixels ## NUM , depth);\
c->PFX ## _pixels_tab[IDX][1] = FUNCC(PFX ## _pixels ## NUM ## _x2 , depth);\
c->PFX ## _pixels_tab[IDX][2] = FUNCC(PFX ## _pixels ## NUM ## _y2 , depth);\
c->PFX ## _pixels_tab[IDX][3] = FUNCC(PFX ## _pixels ## NUM ## _xy2, depth)
#define dspfunc2 (   PFX,
  IDX,
  NUM,
  depth 
)
Value:
c->PFX ## _pixels_tab[IDX][ 0] = FUNCC(PFX ## NUM ## _mc00, depth);\
c->PFX ## _pixels_tab[IDX][ 1] = FUNCC(PFX ## NUM ## _mc10, depth);\
c->PFX ## _pixels_tab[IDX][ 2] = FUNCC(PFX ## NUM ## _mc20, depth);\
c->PFX ## _pixels_tab[IDX][ 3] = FUNCC(PFX ## NUM ## _mc30, depth);\
c->PFX ## _pixels_tab[IDX][ 4] = FUNCC(PFX ## NUM ## _mc01, depth);\
c->PFX ## _pixels_tab[IDX][ 5] = FUNCC(PFX ## NUM ## _mc11, depth);\
c->PFX ## _pixels_tab[IDX][ 6] = FUNCC(PFX ## NUM ## _mc21, depth);\
c->PFX ## _pixels_tab[IDX][ 7] = FUNCC(PFX ## NUM ## _mc31, depth);\
c->PFX ## _pixels_tab[IDX][ 8] = FUNCC(PFX ## NUM ## _mc02, depth);\
c->PFX ## _pixels_tab[IDX][ 9] = FUNCC(PFX ## NUM ## _mc12, depth);\
c->PFX ## _pixels_tab[IDX][10] = FUNCC(PFX ## NUM ## _mc22, depth);\
c->PFX ## _pixels_tab[IDX][11] = FUNCC(PFX ## NUM ## _mc32, depth);\
c->PFX ## _pixels_tab[IDX][12] = FUNCC(PFX ## NUM ## _mc03, depth);\
c->PFX ## _pixels_tab[IDX][13] = FUNCC(PFX ## NUM ## _mc13, depth);\
c->PFX ## _pixels_tab[IDX][14] = FUNCC(PFX ## NUM ## _mc23, depth);\
c->PFX ## _pixels_tab[IDX][15] = FUNCC(PFX ## NUM ## _mc33, depth)
#define BIT_DEPTH_FUNCS (   depth,
  dct 
)

Referenced by ff_dsputil_init().

Function Documentation

void ff_init_scantable ( uint8_t permutation,
ScanTable st,
const uint8_t src_scantable 
)
void ff_init_scantable_permutation ( uint8_t idct_permutation,
int  idct_permutation_type 
)
static int pix_sum_c ( uint8_t pix,
int  line_size 
)
static

Definition at line 193 of file dsputil.c.

Referenced by ff_dsputil_init().

static int pix_norm1_c ( uint8_t pix,
int  line_size 
)
static

Definition at line 215 of file dsputil.c.

Referenced by ff_dsputil_init().

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

Definition at line 263 of file dsputil.c.

Referenced by ff_dsputil_init().

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

Definition at line 281 of file dsputil.c.

Referenced by ff_dsputil_init().

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

Definition at line 287 of file dsputil.c.

Referenced by ff_dsputil_init().

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

Definition at line 304 of file dsputil.c.

Referenced by ff_dsputil_init().

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

Definition at line 325 of file dsputil.c.

Referenced by ff_dsputil_init().

static void diff_pixels_c ( DCTELEM *av_restrict  block,
const uint8_t s1,
const uint8_t s2,
int  stride 
)
static

Definition at line 355 of file dsputil.c.

Referenced by ff_dsputil_init().

static void put_pixels_clamped_c ( const DCTELEM block,
uint8_t *av_restrict  pixels,
int  line_size 
)
static

Definition at line 376 of file dsputil.c.

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

static void put_pixels_clamped4_c ( const DCTELEM block,
uint8_t *av_restrict  pixels,
int  line_size 
)
static

Definition at line 397 of file dsputil.c.

Referenced by ff_jref_idct4_put().

static void put_pixels_clamped2_c ( const DCTELEM block,
uint8_t *av_restrict  pixels,
int  line_size 
)
static

Definition at line 414 of file dsputil.c.

Referenced by ff_jref_idct2_put().

static void put_signed_pixels_clamped_c ( const DCTELEM block,
uint8_t *av_restrict  pixels,
int  line_size 
)
static

Definition at line 429 of file dsputil.c.

Referenced by ff_dsputil_init().

static void add_pixels_clamped_c ( const DCTELEM block,
uint8_t *av_restrict  pixels,
int  line_size 
)
static

Definition at line 450 of file dsputil.c.

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

static void add_pixels_clamped4_c ( const DCTELEM block,
uint8_t *av_restrict  pixels,
int  line_size 
)
static

Definition at line 470 of file dsputil.c.

Referenced by ff_jref_idct4_add().

static void add_pixels_clamped2_c ( const DCTELEM block,
uint8_t *av_restrict  pixels,
int  line_size 
)
static

Definition at line 486 of file dsputil.c.

Referenced by ff_jref_idct2_add().

static int sum_abs_dctelem_c ( DCTELEM block)
static

Definition at line 500 of file dsputil.c.

Referenced by ff_dsputil_init().

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

Definition at line 508 of file dsputil.c.

Referenced by ff_dsputil_init().

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

Definition at line 518 of file dsputil.c.

Referenced by ff_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 531 of file dsputil.c.

Referenced by ff_dsputil_init(), and ff_dsputil_init_align().

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

Referenced by ff_dsputil_init().

static void put_tpel_pixels_mc00_c ( uint8_t dst,
const uint8_t src,
int  stride,
int  width,
int  height 
)
inlinestatic

Definition at line 612 of file dsputil.c.

Referenced by ff_dsputil_init().

static void put_tpel_pixels_mc10_c ( uint8_t dst,
const uint8_t src,
int  stride,
int  width,
int  height 
)
inlinestatic

Definition at line 621 of file dsputil.c.

Referenced by ff_dsputil_init().

static void put_tpel_pixels_mc20_c ( uint8_t dst,
const uint8_t src,
int  stride,
int  width,
int  height 
)
inlinestatic

Definition at line 632 of file dsputil.c.

Referenced by ff_dsputil_init().

static void put_tpel_pixels_mc01_c ( uint8_t dst,
const uint8_t src,
int  stride,
int  width,
int  height 
)
inlinestatic

Definition at line 643 of file dsputil.c.

Referenced by ff_dsputil_init().

static void put_tpel_pixels_mc11_c ( uint8_t dst,
const uint8_t src,
int  stride,
int  width,
int  height 
)
inlinestatic

Definition at line 654 of file dsputil.c.

Referenced by ff_dsputil_init().

static void put_tpel_pixels_mc12_c ( uint8_t dst,
const uint8_t src,
int  stride,
int  width,
int  height 
)
inlinestatic

Definition at line 665 of file dsputil.c.

Referenced by ff_dsputil_init().

static void put_tpel_pixels_mc02_c ( uint8_t dst,
const uint8_t src,
int  stride,
int  width,
int  height 
)
inlinestatic

Definition at line 676 of file dsputil.c.

Referenced by ff_dsputil_init().

static void put_tpel_pixels_mc21_c ( uint8_t dst,
const uint8_t src,
int  stride,
int  width,
int  height 
)
inlinestatic

Definition at line 687 of file dsputil.c.

Referenced by ff_dsputil_init().

static void put_tpel_pixels_mc22_c ( uint8_t dst,
const uint8_t src,
int  stride,
int  width,
int  height 
)
inlinestatic

Definition at line 698 of file dsputil.c.

Referenced by ff_dsputil_init().

static void avg_tpel_pixels_mc00_c ( uint8_t dst,
const uint8_t src,
int  stride,
int  width,
int  height 
)
inlinestatic

Definition at line 709 of file dsputil.c.

Referenced by ff_dsputil_init().

static void avg_tpel_pixels_mc10_c ( uint8_t dst,
const uint8_t src,
int  stride,
int  width,
int  height 
)
inlinestatic

Definition at line 718 of file dsputil.c.

Referenced by ff_dsputil_init().

static void avg_tpel_pixels_mc20_c ( uint8_t dst,
const uint8_t src,
int  stride,
int  width,
int  height 
)
inlinestatic

Definition at line 729 of file dsputil.c.

Referenced by ff_dsputil_init().

static void avg_tpel_pixels_mc01_c ( uint8_t dst,
const uint8_t src,
int  stride,
int  width,
int  height 
)
inlinestatic

Definition at line 740 of file dsputil.c.

Referenced by ff_dsputil_init().

static void avg_tpel_pixels_mc11_c ( uint8_t dst,
const uint8_t src,
int  stride,
int  width,
int  height 
)
inlinestatic

Definition at line 751 of file dsputil.c.

Referenced by ff_dsputil_init().

static void avg_tpel_pixels_mc12_c ( uint8_t dst,
const uint8_t src,
int  stride,
int  width,
int  height 
)
inlinestatic

Definition at line 762 of file dsputil.c.

Referenced by ff_dsputil_init().

static void avg_tpel_pixels_mc02_c ( uint8_t dst,
const uint8_t src,
int  stride,
int  width,
int  height 
)
inlinestatic

Definition at line 773 of file dsputil.c.

Referenced by ff_dsputil_init().

static void avg_tpel_pixels_mc21_c ( uint8_t dst,
const uint8_t src,
int  stride,
int  width,
int  height 
)
inlinestatic

Definition at line 784 of file dsputil.c.

Referenced by ff_dsputil_init().

static void avg_tpel_pixels_mc22_c ( uint8_t dst,
const uint8_t src,
int  stride,
int  width,
int  height 
)
inlinestatic

Definition at line 795 of file dsputil.c.

Referenced by ff_dsputil_init().

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 void put_mspel8_mc10_c ( uint8_t dst,
uint8_t src,
int  stride 
)
static

Definition at line 1410 of file dsputil.c.

Referenced by ff_dsputil_init().

static void put_mspel8_mc20_c ( uint8_t dst,
uint8_t src,
int  stride 
)
static

Definition at line 1416 of file dsputil.c.

Referenced by ff_dsputil_init().

static void put_mspel8_mc30_c ( uint8_t dst,
uint8_t src,
int  stride 
)
static

Definition at line 1420 of file dsputil.c.

Referenced by ff_dsputil_init().

static void put_mspel8_mc02_c ( uint8_t dst,
uint8_t src,
int  stride 
)
static

Definition at line 1426 of file dsputil.c.

Referenced by ff_dsputil_init().

static void put_mspel8_mc12_c ( uint8_t dst,
uint8_t src,
int  stride 
)
static

Definition at line 1430 of file dsputil.c.

Referenced by ff_dsputil_init().

static void put_mspel8_mc32_c ( uint8_t dst,
uint8_t src,
int  stride 
)
static

Definition at line 1439 of file dsputil.c.

Referenced by ff_dsputil_init().

static void put_mspel8_mc22_c ( uint8_t dst,
uint8_t src,
int  stride 
)
static

Definition at line 1448 of file dsputil.c.

Referenced by ff_dsputil_init().

static void h263_v_loop_filter_c ( uint8_t src,
int  stride,
int  qscale 
)
static

Definition at line 1454 of file dsputil.c.

Referenced by ff_dsputil_init().

static void h263_h_loop_filter_c ( uint8_t src,
int  stride,
int  qscale 
)
static

Definition at line 1491 of file dsputil.c.

Referenced by ff_dsputil_init().

static void h261_loop_filter_c ( uint8_t src,
int  stride 
)
static

Definition at line 1528 of file dsputil.c.

Referenced by ff_dsputil_init().

static int pix_abs16_c ( void v,
uint8_t pix1,
uint8_t pix2,
int  line_size,
int  h 
)
inlinestatic

Definition at line 1555 of file dsputil.c.

Referenced by ff_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 1583 of file dsputil.c.

Referenced by ff_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 1611 of file dsputil.c.

Referenced by ff_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 1641 of file dsputil.c.

Referenced by ff_dsputil_init().

static int pix_abs8_c ( void v,
uint8_t pix1,
uint8_t pix2,
int  line_size,
int  h 
)
inlinestatic

Definition at line 1671 of file dsputil.c.

Referenced by ff_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 1691 of file dsputil.c.

Referenced by ff_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 1711 of file dsputil.c.

Referenced by ff_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 1733 of file dsputil.c.

Referenced by ff_dsputil_init().

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

Definition at line 1755 of file dsputil.c.

Referenced by ff_dsputil_init().

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

Definition at line 1781 of file dsputil.c.

Referenced by ff_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 1807 of file dsputil.c.

Referenced by ff_dsputil_init().

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

Definition at line 1822 of file dsputil.c.

Referenced by ff_dsputil_init().

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

Permute an 8x8 block.

permute block according to permuatation.

Parameters
blockthe block which will be permuted according to the given permutation vector
permutationthe permutation vector
lastthe last non zero coefficient in scantable order, used to speed the permutation up
scantablethe used scantable, this is only used to speed the permutation up, the block is not (inverse) permutated to scantable order!

Definition at line 1838 of file dsputil.c.

Referenced by dct_quantize_bfin(), and ff_dct_quantize_c().

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

Definition at line 1859 of file dsputil.c.

Referenced by ff_set_cmp().

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

Definition at line 1863 of file dsputil.c.

Referenced by encode_init(), ff_dvvideo_init(), ff_init_me(), and ff_MPV_encode_init().

static void add_bytes_c ( uint8_t dst,
uint8_t src,
int  w 
)
static

Definition at line 1923 of file dsputil.c.

Referenced by ff_dsputil_init().

static void diff_bytes_c ( uint8_t dst,
const uint8_t src1,
const uint8_t src2,
int  w 
)
static

Definition at line 1934 of file dsputil.c.

Referenced by ff_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 1959 of file dsputil.c.

Referenced by ff_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 1976 of file dsputil.c.

Referenced by ff_dsputil_init().

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

Definition at line 1994 of file dsputil.c.

Referenced by ff_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 2024 of file dsputil.c.

Referenced by ff_dsputil_init().

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

Definition at line 2069 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 2114 of file dsputil.c.

Referenced by ff_dsputil_init().

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

Definition at line 2162 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 2226 of file dsputil.c.

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

Definition at line 2242 of file dsputil.c.

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

Definition at line 2265 of file dsputil.c.

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

Definition at line 2341 of file dsputil.c.

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

Definition at line 2418 of file dsputil.c.

Referenced by ff_dsputil_init().

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

Definition at line 2452 of file dsputil.c.

Referenced by ff_dsputil_init().

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

Definition at line 2467 of file dsputil.c.

Referenced by ff_dsputil_init().

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

Definition at line 2487 of file dsputil.c.

Referenced by ff_dsputil_init().

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

Definition at line 2494 of file dsputil.c.

Referenced by ff_dsputil_init().

static void vector_fmul_window_c ( float *  dst,
const float *  src0,
const float *  src1,
const float *  win,
int  len 
)
static

Definition at line 2500 of file dsputil.c.

Referenced by ff_dsputil_init().

static void butterflies_float_c ( float *av_restrict  v1,
float *av_restrict  v2,
int  len 
)
static

Definition at line 2517 of file dsputil.c.

Referenced by ff_dsputil_init().

static void butterflies_float_interleave_c ( float *  dst,
const float *  src0,
const float *  src1,
int  len 
)
static

Definition at line 2528 of file dsputil.c.

Referenced by ff_dsputil_init().

float ff_scalarproduct_float_c ( const float *  v1,
const float *  v2,
int  len 
)

Return the scalar product of two vectors.

Parameters
v1first input vector
v2first input vector
lennumber of elements
Returns
sum of elementwise products

Definition at line 2540 of file dsputil.c.

Referenced by acelp_decode_gain_codef(), apply_gain_ctrl(), calc_input_response(), convolve(), decode(), decode_frame(), ff_adaptive_gain_control(), ff_amr_set_fixed_gain(), ff_dsputil_init(), ff_scale_vector_to_given_sum_of_squares(), kalman_smoothen(), postfilter(), synth_block_fcb_acb(), and tilt_factor().

static uint32_t clipf_c_one ( uint32_t  a,
uint32_t  mini,
uint32_t  maxi,
uint32_t  maxisign 
)
inlinestatic

Definition at line 2551 of file dsputil.c.

Referenced by vector_clipf_c_opposite_sign().

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

Definition at line 2560 of file dsputil.c.

Referenced by vector_clipf_c().

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

Definition at line 2578 of file dsputil.c.

Referenced by ff_dsputil_init().

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

Definition at line 2596 of file dsputil.c.

Referenced by ff_dsputil_init().

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

Referenced by ff_dsputil_init().

static void apply_window_int16_c ( int16_t *  output,
const int16_t *  input,
const int16_t *  window,
unsigned int  len 
)
static

Definition at line 2616 of file dsputil.c.

Referenced by ff_dsputil_init().

static void vector_clip_int32_c ( int32_t dst,
const int32_t src,
int32_t  min,
int32_t  max,
unsigned int  len 
)
static

Definition at line 2629 of file dsputil.c.

Referenced by ff_dsputil_init().

static void wmv2_idct_row ( short *  b)
static

Definition at line 2654 of file dsputil.c.

Referenced by ff_wmv2_idct_c().

static void wmv2_idct_col ( short *  b)
static

Definition at line 2680 of file dsputil.c.

Referenced by ff_wmv2_idct_c().

void ff_wmv2_idct_c ( short *  block)

Definition at line 2707 of file dsputil.c.

Referenced by ff_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 2719 of file dsputil.c.

Referenced by ff_dsputil_init().

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

Definition at line 2724 of file dsputil.c.

Referenced by ff_dsputil_init().

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

Definition at line 2729 of file dsputil.c.

Referenced by ff_dsputil_init().

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

Definition at line 2734 of file dsputil.c.

Referenced by ff_dsputil_init().

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

Definition at line 2740 of file dsputil.c.

Referenced by ff_dsputil_init().

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

Definition at line 2745 of file dsputil.c.

Referenced by ff_dsputil_init().

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

Definition at line 2751 of file dsputil.c.

Referenced by ff_dsputil_init().

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

Definition at line 2756 of file dsputil.c.

Referenced by ff_dsputil_init().

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

Definition at line 2762 of file dsputil.c.

Referenced by ff_dsputil_init().

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

Definition at line 2766 of file dsputil.c.

Referenced by ff_dsputil_init().

av_cold void ff_dsputil_static_init ( void  )

Definition at line 2772 of file dsputil.c.

Referenced by avcodec_init().

int ff_check_alignment ( void  )

Definition at line 2789 of file dsputil.c.

Referenced by encode_thread(), estimate_motion_thread(), ff_dsputil_init(), and mb_var_thread().

av_cold void ff_dsputil_init ( DSPContext c,
AVCodecContext avctx 
)
av_cold void dsputil_init ( DSPContext c,
AVCodecContext avctx 
)

Definition at line 3170 of file dsputil.c.

Referenced by config_input(), config_props(), init(), and vf_open().

Variable Documentation

uint8_t ff_cropTbl[256+2 *MAX_NEG_CROP] = {0, }

Definition at line 42 of file dsputil.c.

uint32_t ff_squareTbl[512] = {0, }

Definition at line 43 of file dsputil.c.

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

const uint8_t ff_zigzag_direct[64]
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 87 of file dsputil.c.

Referenced by dv_init_enc_block(), and ff_dvvideo_init().

uint16_t ff_inv_zigzag_direct16[64]

Definition at line 99 of file dsputil.c.

Referenced by dct_quantize_TMPL(), and ff_dsputil_static_init().

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

Referenced by decode_vop_header(), ff_dct_common_init(), and mpeg_decode_picture_coding_extension().

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

Referenced by ff_init_scantable_permutation().

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

Definition at line 135 of file dsputil.c.

Referenced by ff_init_scantable_permutation().