diff options
author | Diego Biurrun <diego@biurrun.de> | 2013-02-07 21:07:57 +0100 |
---|---|---|
committer | Diego Biurrun <diego@biurrun.de> | 2013-02-07 22:05:25 +0100 |
commit | b5b7b75e91e291c810ebd01868a42b53f267a87c (patch) | |
tree | 9c7504bd79cee20cfa1a14c49f83340645357885 /libavcodec/motion_est.c | |
parent | 0b016eb99d38738e2c53e36549a4732a0f863b2e (diff) | |
download | ffmpeg-b5b7b75e91e291c810ebd01868a42b53f267a87c.tar.gz |
dsputil: Move get_penalty_factor() to the only place it is used.
Diffstat (limited to 'libavcodec/motion_est.c')
-rw-r--r-- | libavcodec/motion_est.c | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/libavcodec/motion_est.c b/libavcodec/motion_est.c index e791690244..e051191883 100644 --- a/libavcodec/motion_est.c +++ b/libavcodec/motion_est.c @@ -972,6 +972,26 @@ static inline int check_input_motion(MpegEncContext * s, int mb_x, int mb_y, int return d; } +static inline int get_penalty_factor(int lambda, int lambda2, int type){ + switch(type&0xFF){ + default: + case FF_CMP_SAD: + return lambda>>FF_LAMBDA_SHIFT; + case FF_CMP_DCT: + return (3*lambda)>>(FF_LAMBDA_SHIFT+1); + case FF_CMP_SATD: + case FF_CMP_DCT264: + return (2*lambda)>>FF_LAMBDA_SHIFT; + case FF_CMP_RD: + case FF_CMP_PSNR: + case FF_CMP_SSE: + case FF_CMP_NSSE: + return lambda2>>FF_LAMBDA_SHIFT; + case FF_CMP_BIT: + return 1; + } +} + void ff_estimate_p_frame_motion(MpegEncContext * s, int mb_x, int mb_y) { |