mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-12-23 12:43:46 +02:00
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>
This commit is contained in:
commit
bcb15e66f7
@ -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]
|
||||||
|
Loading…
Reference in New Issue
Block a user