me_distortion.c File Reference

Motion estimation error calculation functions. More...

#include "contributors.h"
#include <limits.h>
#include "global.h"
#include "image.h"
#include "memalloc.h"
#include "mb_access.h"
#include "refbuf.h"
#include "mv_search.h"
#include "me_distortion.h"

Include dependency graph for me_distortion.c:

Go to the source code of this file.

Functions

int distortion4x4SAD (int *diff, int min_dist)
int distortion4x4SSE (int *diff, int min_dist)
int distortion4x4SATD (int *diff, int min_dist)
int distortion8x8SADthres (int *diff, int max_dist)
int distortion8x8SAD (int *diff, int min_diff)
int distortion8x8SSE (int *diff, int min_dist)
int distortion8x8SATD (int *diff, int min_dist)
void select_distortion (ImageParameters *p_Img, InputParameters *p_Inp)
int HadamardSAD4x4 (int *diff)
int HadamardSAD8x8 (int *diff)
int computeSAD (StorablePicture *ref1, MEBlock *mv_block, int min_mcost, MotionVector *cand)
int computeSADWP (StorablePicture *ref1, MEBlock *mv_block, int min_mcost, MotionVector *cand)
int computeBiPredSAD1 (StorablePicture *ref1, StorablePicture *ref2, MEBlock *mv_block, int min_mcost, MotionVector *cand1, MotionVector *cand2)
int computeBiPredSAD2 (StorablePicture *ref1, StorablePicture *ref2, MEBlock *mv_block, int min_mcost, MotionVector *cand1, MotionVector *cand2)
int computeSATD (StorablePicture *ref1, MEBlock *mv_block, int min_mcost, MotionVector *cand)
int computeSATDWP (StorablePicture *ref1, MEBlock *mv_block, int min_mcost, MotionVector *cand)
int computeBiPredSATD1 (StorablePicture *ref1, StorablePicture *ref2, MEBlock *mv_block, int min_mcost, MotionVector *cand1, MotionVector *cand2)
int computeBiPredSATD2 (StorablePicture *ref1, StorablePicture *ref2, MEBlock *mv_block, int min_mcost, MotionVector *cand1, MotionVector *cand2)
int computeSSE (StorablePicture *ref1, MEBlock *mv_block, int min_mcost, MotionVector *cand)
int computeSSEWP (StorablePicture *ref1, MEBlock *mv_block, int min_mcost, MotionVector *cand)
int computeBiPredSSE1 (StorablePicture *ref1, StorablePicture *ref2, MEBlock *mv_block, int min_mcost, MotionVector *cand1, MotionVector *cand2)
int computeBiPredSSE2 (StorablePicture *ref1, StorablePicture *ref2, MEBlock *mv_block, int min_mcost, MotionVector *cand1, MotionVector *cand2)


Detailed Description

Motion estimation error calculation functions.

Author:
Main contributors (see contributors.h for copyright, address and affiliation details)

Definition in file me_distortion.c.


Function Documentation

int computeBiPredSAD1 ( StorablePicture ref1,
StorablePicture ref2,
MEBlock *  mv_block,
int  min_mcost,
MotionVector cand1,
MotionVector cand2 
)

BiPred SAD computation (no weights).

Definition at line 515 of file me_distortion.c.

References UMVLine4X(), and UMVLine8X_chroma().

Referenced by Init_Motion_Search_Module().

Here is the call graph for this function:

int computeBiPredSAD2 ( StorablePicture ref1,
StorablePicture ref2,
MEBlock *  mv_block,
int  min_mcost,
MotionVector cand1,
MotionVector cand2 
)

BiPred SAD computation (with weights).

Definition at line 607 of file me_distortion.c.

References img_par::max_imgpel_value, img_par::max_pel_value_comp, UMVLine4X(), and UMVLine8X_chroma().

Referenced by Init_Motion_Search_Module().

Here is the call graph for this function:

int computeBiPredSATD1 ( StorablePicture ref1,
StorablePicture ref2,
MEBlock *  mv_block,
int  min_mcost,
MotionVector cand1,
MotionVector cand2 
)

BiPred (w/o weights) SATD computation.

Definition at line 905 of file me_distortion.c.

References HadamardSAD4x4(), HadamardSAD8x8(), and UMVLine4X().

Referenced by Init_Motion_Search_Module().

Here is the call graph for this function:

int computeBiPredSATD2 ( StorablePicture ref1,
StorablePicture ref2,
MEBlock *  mv_block,
int  min_mcost,
MotionVector cand1,
MotionVector cand2 
)

BiPred (w/ weights) SATD computation.

Definition at line 993 of file me_distortion.c.

References HadamardSAD4x4(), HadamardSAD8x8(), img_par::max_imgpel_value, and UMVLine4X().

Referenced by Init_Motion_Search_Module().

Here is the call graph for this function:

int computeBiPredSSE1 ( StorablePicture ref1,
StorablePicture ref2,
MEBlock *  mv_block,
int  min_mcost,
MotionVector cand1,
MotionVector cand2 
)

BiPred SSE computation (no weights).

Definition at line 1295 of file me_distortion.c.

References UMVLine4X(), and UMVLine8X_chroma().

Referenced by Init_Motion_Search_Module().

Here is the call graph for this function:

int computeBiPredSSE2 ( StorablePicture ref1,
StorablePicture ref2,
MEBlock *  mv_block,
int  min_mcost,
MotionVector cand1,
MotionVector cand2 
)

BiPred SSE computation (with weights).

Definition at line 1376 of file me_distortion.c.

References img_par::max_imgpel_value, img_par::max_pel_value_comp, UMVLine4X(), and UMVLine8X_chroma().

Referenced by Init_Motion_Search_Module().

Here is the call graph for this function:

int computeSAD ( StorablePicture ref1,
MEBlock *  mv_block,
int  min_mcost,
MotionVector cand 
)

SAD computation.

Definition at line 348 of file me_distortion.c.

References UMVLine4X(), and UMVLine8X_chroma().

Referenced by Init_Motion_Search_Module().

Here is the call graph for this function:

int computeSADWP ( StorablePicture ref1,
MEBlock *  mv_block,
int  min_mcost,
MotionVector cand 
)

SAD computation for weighted samples.

Definition at line 429 of file me_distortion.c.

References img_par::max_imgpel_value, img_par::max_pel_value_comp, UMVLine4X(), and UMVLine8X_chroma().

Referenced by Init_Motion_Search_Module().

Here is the call graph for this function:

int computeSATD ( StorablePicture ref1,
MEBlock *  mv_block,
int  min_mcost,
MotionVector cand 
)

SAD computation _with_ Hadamard Transform.

Definition at line 722 of file me_distortion.c.

References HadamardSAD4x4(), HadamardSAD8x8(), and UMVLine4X().

Referenced by Init_Motion_Search_Module().

Here is the call graph for this function:

int computeSATDWP ( StorablePicture ref1,
MEBlock *  mv_block,
int  min_mcost,
MotionVector cand 
)

SAD computation of weighted samples _with_ Hadamard Transform.

Definition at line 803 of file me_distortion.c.

References HadamardSAD4x4(), HadamardSAD8x8(), img_par::max_imgpel_value, and UMVLine4X().

Referenced by Init_Motion_Search_Module().

Here is the call graph for this function:

int computeSSE ( StorablePicture ref1,
MEBlock *  mv_block,
int  min_mcost,
MotionVector cand 
)

SSE computation.

Definition at line 1140 of file me_distortion.c.

References UMVLine4X(), and UMVLine8X_chroma().

Referenced by Init_Motion_Search_Module().

Here is the call graph for this function:

int computeSSEWP ( StorablePicture ref1,
MEBlock *  mv_block,
int  min_mcost,
MotionVector cand 
)

SSE computation of weighted samples.

Definition at line 1207 of file me_distortion.c.

References img_par::max_imgpel_value, img_par::max_pel_value_comp, UMVLine4X(), and UMVLine8X_chroma().

Referenced by Init_Motion_Search_Module().

Here is the call graph for this function:

int distortion4x4SAD ( int *  diff,
int  min_dist 
)

Calculate SAD.

Definition at line 36 of file me_distortion.c.

int distortion4x4SATD ( int *  diff,
int  min_dist 
)

Calculate SATD.

Definition at line 71 of file me_distortion.c.

References HadamardSAD4x4().

Here is the call graph for this function:

int distortion4x4SSE ( int *  diff,
int  min_dist 
)

Calculate SSE 4x4.

Definition at line 54 of file me_distortion.c.

int distortion8x8SAD ( int *  diff,
int  min_diff 
)

Calculate SAD for 8x8.

Definition at line 106 of file me_distortion.c.

int distortion8x8SADthres ( int *  diff,
int  max_dist 
)

Calculate SAD for 8x8 (with a threshold).

Definition at line 83 of file me_distortion.c.

int distortion8x8SATD ( int *  diff,
int  min_dist 
)

Calculate SATD for 8x8.

Definition at line 141 of file me_distortion.c.

References HadamardSAD8x8().

Here is the call graph for this function:

int distortion8x8SSE ( int *  diff,
int  min_dist 
)

Calculate SSE for 8x8.

Definition at line 124 of file me_distortion.c.

int HadamardSAD4x4 ( int *  diff  ) 

Calculate 4x4 Hadamard-Transformed SAD.

Definition at line 174 of file me_distortion.c.

Referenced by computeBiPredSATD1(), computeBiPredSATD2(), computeSATD(), computeSATDWP(), and distortion4x4SATD().

int HadamardSAD8x8 ( int *  diff  ) 

Calculate 8x8 Hadamard-Transformed SAD.

Definition at line 265 of file me_distortion.c.

Referenced by compute_satd8x8_cost(), computeBiPredSATD1(), computeBiPredSATD2(), computeSATD(), computeSATDWP(), and distortion8x8SATD().


Documentation generated with DoxyGen