dsputil.h File Reference

DSP utils. More...

#include "libavutil/intreadwrite.h"
#include "avcodec.h"
#include "rnd_avg.h"
Include dependency graph for dsputil.h:

Go to the source code of this file.

Data Structures

struct  ScanTable
 Scantable. More...
 
struct  DSPContext
 DSPContext. More...
 

Macros

#define MAX_NEG_CROP   1024
 
#define DEF_OLD_QPEL(name)
 
#define FF_NO_IDCT_PERM   1
 
#define FF_LIBMPEG2_IDCT_PERM   2
 
#define FF_SIMPLE_IDCT_PERM   3
 
#define FF_TRANSPOSE_IDCT_PERM   4
 
#define FF_PARTTRANS_IDCT_PERM   5
 
#define FF_SSE2_IDCT_PERM   6
 
#define BASIS_SHIFT   16
 
#define RECON_SHIFT   6
 
#define EDGE_WIDTH   16
 
#define EDGE_TOP   1
 
#define EDGE_BOTTOM   2
 

Typedefs

typedef void(* tpel_mc_func) (uint8_t *block, const uint8_t *pixels, int line_size, int w, int h)
 
typedef void(* qpel_mc_func) (uint8_t *dst, uint8_t *src, ptrdiff_t stride)
 
typedef void(* op_fill_func) (uint8_t *block, uint8_t value, int line_size, int h)
 
typedef int(* me_cmp_func) (void *s, uint8_t *blk1, uint8_t *blk2, int line_size, int h)
 
typedef struct ScanTable ScanTable
 Scantable. More...
 
typedef struct DSPContext DSPContext
 DSPContext. More...
 

Functions

void ff_put_pixels8x8_c (uint8_t *dst, uint8_t *src, ptrdiff_t stride)
 
void ff_avg_pixels8x8_c (uint8_t *dst, uint8_t *src, ptrdiff_t stride)
 
void ff_put_pixels16x16_c (uint8_t *dst, uint8_t *src, ptrdiff_t stride)
 
void ff_avg_pixels16x16_c (uint8_t *dst, uint8_t *src, ptrdiff_t stride)
 
void ff_put_rv40_qpel16_mc33_c (uint8_t *dst, uint8_t *src, ptrdiff_t stride)
 
void ff_avg_rv40_qpel16_mc33_c (uint8_t *dst, uint8_t *src, ptrdiff_t stride)
 
void ff_put_rv40_qpel8_mc33_c (uint8_t *dst, uint8_t *src, ptrdiff_t stride)
 
void ff_avg_rv40_qpel8_mc33_c (uint8_t *dst, uint8_t *src, ptrdiff_t stride)
 
void ff_gmc_c (uint8_t *dst, uint8_t *src, int stride, int h, int ox, int oy, int dxx, int dxy, int dyx, int dyy, int shift, int r, int width, int height)
 
void ff_init_scantable (uint8_t *, ScanTable *st, const uint8_t *src_scantable)
 
void ff_init_scantable_permutation (uint8_t *idct_permutation, int idct_permutation_type)
 
void ff_dsputil_static_init (void)
 
void ff_dsputil_init (DSPContext *p, AVCodecContext *avctx)
 
void avpriv_dsputil_init (DSPContext *p, AVCodecContext *avctx)
 
attribute_deprecated void dsputil_init (DSPContext *c, AVCodecContext *avctx)
 
int ff_check_alignment (void)
 
void ff_set_cmp (DSPContext *c, me_cmp_func *cmp, int type)
 
void ff_dsputil_init_alpha (DSPContext *c, AVCodecContext *avctx)
 
void ff_dsputil_init_arm (DSPContext *c, AVCodecContext *avctx)
 
void ff_dsputil_init_bfin (DSPContext *c, AVCodecContext *avctx)
 
void ff_dsputil_init_mmx (DSPContext *c, AVCodecContext *avctx)
 
void ff_dsputil_init_ppc (DSPContext *c, AVCodecContext *avctx)
 
void ff_dsputil_init_sh4 (DSPContext *c, AVCodecContext *avctx)
 
void ff_dsputil_init_vis (DSPContext *c, AVCodecContext *avctx)
 
void ff_dsputil_init_dwt (DSPContext *c)
 

Variables

const uint8_t ff_alternate_horizontal_scan [64]
 
const uint8_t ff_alternate_vertical_scan [64]
 
const uint8_t ff_zigzag_direct [64]
 
const uint8_t ff_zigzag248_direct [64]
 
uint32_t ff_squareTbl [512]
 
const uint8_t ff_cropTbl [256+2 *MAX_NEG_CROP]
 

Detailed Description

DSP utils.

note, many functions in here may use MMX which trashes the FPU state, it is absolutely necessary to call emms_c() between dsp & float/double code

Definition in file dsputil.h.

Macro Definition Documentation

#define BASIS_SHIFT   16

Definition at line 260 of file dsputil.h.

Referenced by add_8x8basis(), add_8x8basis_c(), build_basis(), try_8x8basis(), and try_8x8basis_c().

#define DEF_OLD_QPEL (   name)
Value:
void ff_put_ ## name (uint8_t *dst/*align width (8 or 16)*/, uint8_t *src/*align 1*/, ptrdiff_t stride);\
void ff_put_no_rnd_ ## name (uint8_t *dst/*align width (8 or 16)*/, uint8_t *src/*align 1*/, ptrdiff_t stride);\
void ff_avg_ ## name (uint8_t *dst/*align width (8 or 16)*/, uint8_t *src/*align 1*/, ptrdiff_t stride);
const char * name
Definition: avisynth_c.h:675
int stride
Definition: mace.c:144
uint8_t
AVS_Value src
Definition: avisynth_c.h:523
typedef void(RENAME(mix_any_func_type))
else dst[i][x+y *dst_stride[i]]
Definition: vf_mcdeint.c:160

Definition at line 88 of file dsputil.h.

#define EDGE_TOP   1
#define FF_LIBMPEG2_IDCT_PERM   2
#define FF_PARTTRANS_IDCT_PERM   5

Definition at line 255 of file dsputil.h.

Referenced by ff_dsputil_init_neon(), and ff_init_scantable_permutation().

#define FF_SIMPLE_IDCT_PERM   3

Definition at line 253 of file dsputil.h.

Referenced by dct_quantize(), ff_dsputil_init_mmx(), and ff_init_scantable_permutation().

#define FF_SSE2_IDCT_PERM   6
#define FF_TRANSPOSE_IDCT_PERM   4
#define RECON_SHIFT   6

Typedef Documentation

typedef struct DSPContext DSPContext
typedef int(* me_cmp_func) (void *s, uint8_t *blk1, uint8_t *blk2, int line_size, int h)

Definition at line 109 of file dsputil.h.

typedef void(* op_fill_func) (uint8_t *block, uint8_t value, int line_size, int h)

Definition at line 86 of file dsputil.h.

typedef void(* qpel_mc_func) (uint8_t *dst, uint8_t *src, ptrdiff_t stride)

Definition at line 84 of file dsputil.h.

typedef struct ScanTable ScanTable

Scantable.

typedef void(* tpel_mc_func) (uint8_t *block, const uint8_t *pixels, int line_size, int w, int h)

Definition at line 83 of file dsputil.h.

Function Documentation

void avpriv_dsputil_init ( DSPContext p,
AVCodecContext avctx 
)

Definition at line 2932 of file dsputil.c.

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

attribute_deprecated void dsputil_init ( DSPContext c,
AVCodecContext avctx 
)

Definition at line 2927 of file dsputil.c.

void ff_avg_pixels16x16_c ( uint8_t dst,
uint8_t src,
ptrdiff_t  stride 
)

Definition at line 1342 of file dsputil.c.

void ff_avg_pixels8x8_c ( uint8_t dst,
uint8_t src,
ptrdiff_t  stride 
)

Definition at line 1334 of file dsputil.c.

void ff_avg_rv40_qpel16_mc33_c ( uint8_t dst,
uint8_t src,
ptrdiff_t  stride 
)
void ff_avg_rv40_qpel8_mc33_c ( uint8_t dst,
uint8_t src,
ptrdiff_t  stride 
)
int ff_check_alignment ( void  )

Definition at line 2655 of file dsputil.c.

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

void ff_dsputil_init_alpha ( DSPContext c,
AVCodecContext avctx 
)

Definition at line 122 of file dsputil_alpha.c.

Referenced by ff_dsputil_init().

void ff_dsputil_init_arm ( DSPContext c,
AVCodecContext avctx 
)

Definition at line 59 of file dsputil_init_arm.c.

Referenced by ff_dsputil_init().

void ff_dsputil_init_bfin ( DSPContext c,
AVCodecContext avctx 
)

Definition at line 126 of file dsputil_bfin.c.

Referenced by ff_dsputil_init().

void ff_dsputil_init_dwt ( DSPContext c)

Definition at line 847 of file snow_dwt.c.

Referenced by ff_dsputil_init().

void ff_dsputil_init_mmx ( DSPContext c,
AVCodecContext avctx 
)

Definition at line 1563 of file dsputil_mmx.c.

Referenced by ff_dsputil_init().

void ff_dsputil_init_ppc ( DSPContext c,
AVCodecContext avctx 
)

Definition at line 140 of file dsputil_ppc.c.

Referenced by ff_dsputil_init().

void ff_dsputil_init_sh4 ( DSPContext c,
AVCodecContext avctx 
)

Definition at line 93 of file dsputil_sh4.c.

Referenced by ff_dsputil_init().

void ff_dsputil_init_vis ( DSPContext c,
AVCodecContext avctx 
)

Definition at line 26 of file dsputil_vis.c.

Referenced by ff_dsputil_init().

void ff_dsputil_static_init ( void  )

Definition at line 2644 of file dsputil.c.

Referenced by avcodec_init().

void ff_gmc_c ( uint8_t dst,
uint8_t src,
int  stride,
int  h,
int  ox,
int  oy,
int  dxx,
int  dxy,
int  dyx,
int  dyy,
int  shift,
int  r,
int  width,
int  height 
)

Definition at line 546 of file dsputil.c.

Referenced by DECLARE_ALIGNED(), and ff_dsputil_init().

void ff_init_scantable_permutation ( uint8_t idct_permutation,
int  idct_permutation_type 
)
void ff_put_pixels16x16_c ( uint8_t dst,
uint8_t src,
ptrdiff_t  stride 
)

Definition at line 1338 of file dsputil.c.

void ff_put_pixels8x8_c ( uint8_t dst,
uint8_t src,
ptrdiff_t  stride 
)

Definition at line 1330 of file dsputil.c.

Referenced by ff_dsputil_init().

void ff_put_rv40_qpel16_mc33_c ( uint8_t dst,
uint8_t src,
ptrdiff_t  stride 
)
void ff_put_rv40_qpel8_mc33_c ( uint8_t dst,
uint8_t src,
ptrdiff_t  stride 
)
void ff_set_cmp ( DSPContext c,
me_cmp_func cmp,
int  type 
)

Definition at line 1869 of file dsputil.c.

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

Variable Documentation

const uint8_t ff_alternate_horizontal_scan[64]

Definition at line 74 of file dsputil.c.

Referenced by decode_vop_header(), and ff_dct_common_init().

const uint8_t ff_alternate_vertical_scan[64]
const uint8_t ff_cropTbl[256+2 *MAX_NEG_CROP]

Definition at line 94 of file mathtables.c.

uint32_t ff_squareTbl[512]

Definition at line 45 of file dsputil.c.

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

const uint8_t ff_zigzag248_direct[64]

Definition at line 60 of file dsputil.c.

Referenced by dv_init_enc_block(), and ff_dvvideo_init().