* 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>tags/n1.2
| @@ -479,30 +479,6 @@ static inline uint64_t no_rnd_avg64(uint64_t a, uint64_t b) | |||||
| return (a & b) + (((a ^ b) & ~BYTE_VEC64(0x01)) >> 1); | return (a & b) + (((a ^ b) & ~BYTE_VEC64(0x01)) >> 1); | ||||
| } | } | ||||
| 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; | |||||
| } | |||||
| } | |||||
| void ff_dsputil_init_alpha(DSPContext* c, AVCodecContext *avctx); | void ff_dsputil_init_alpha(DSPContext* c, AVCodecContext *avctx); | ||||
| void ff_dsputil_init_arm(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_bfin(DSPContext* c, AVCodecContext *avctx); | ||||
| @@ -987,6 +987,30 @@ static inline int check_input_motion(MpegEncContext * s, int mb_x, int mb_y, int | |||||
| return d; | 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_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; | |||||
| } | |||||
| } | |||||
| void ff_estimate_p_frame_motion(MpegEncContext * s, | void ff_estimate_p_frame_motion(MpegEncContext * s, | ||||
| int mb_x, int mb_y) | int mb_x, int mb_y) | ||||
| { | { | ||||
| @@ -287,6 +287,30 @@ static int pix_norm1(uint8_t * pix, int line_size, int w) | |||||
| return s; | 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 | //FIXME copy&paste | ||||
| #define P_LEFT P[1] | #define P_LEFT P[1] | ||||
| #define P_TOP P[2] | #define P_TOP P[2] | ||||