diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2013-02-09 12:05:53 +0100 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2013-02-09 12:05:53 +0100 |
commit | bcb15e66f7c46e036be198ecc9ea5f66dc0a537c (patch) | |
tree | a8bc011dd05f8a723a6259d120288bc536be5498 /libavcodec/snowenc.c | |
parent | 55151aa1013b6bf83b82b5535a7d085202fe49b3 (diff) | |
parent | b5b7b75e91e291c810ebd01868a42b53f267a87c (diff) | |
download | ffmpeg-bcb15e66f7c46e036be198ecc9ea5f66dc0a537c.tar.gz |
Merge commit 'b5b7b75e91e291c810ebd01868a42b53f267a87c'
* commit 'b5b7b75e91e291c810ebd01868a42b53f267a87c':
dsputil: Move get_penalty_factor() to the only place it is used.
Conflicts:
libavcodec/dsputil.h
Merged-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavcodec/snowenc.c')
-rw-r--r-- | libavcodec/snowenc.c | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/libavcodec/snowenc.c b/libavcodec/snowenc.c index a062ac508d..1831cf6245 100644 --- a/libavcodec/snowenc.c +++ b/libavcodec/snowenc.c @@ -287,6 +287,30 @@ static int pix_norm1(uint8_t * pix, int line_size, int w) return s; } +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_W53: + return (4*lambda)>>(FF_LAMBDA_SHIFT); + case FF_CMP_W97: + return (2*lambda)>>(FF_LAMBDA_SHIFT); + 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; + } +} + //FIXME copy&paste #define P_LEFT P[1] #define P_TOP P[2] |