mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-12-23 12:43:46 +02:00
Add av_ prefix to clip functions
Originally committed as revision 8122 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
parent
392cf77a4b
commit
f66e4f5f9e
2
ffmpeg.c
2
ffmpeg.c
@ -475,7 +475,7 @@ static void do_audio_out(AVFormatContext *s,
|
|||||||
fprintf(stderr, "adding %d audio samples of silence\n", (int)delta);
|
fprintf(stderr, "adding %d audio samples of silence\n", (int)delta);
|
||||||
}
|
}
|
||||||
}else if(audio_sync_method>1){
|
}else if(audio_sync_method>1){
|
||||||
int comp= clip(delta, -audio_sync_method, audio_sync_method);
|
int comp= av_clip(delta, -audio_sync_method, audio_sync_method);
|
||||||
assert(ost->audio_resample);
|
assert(ost->audio_resample);
|
||||||
if(verbose > 2)
|
if(verbose > 2)
|
||||||
fprintf(stderr, "compensating audio timestamp drift:%f compensation:%d in:%d\n", delta, comp, enc->sample_rate);
|
fprintf(stderr, "compensating audio timestamp drift:%f compensation:%d in:%d\n", delta, comp, enc->sample_rate);
|
||||||
|
@ -209,7 +209,7 @@ static inline unsigned char adpcm_ima_compress_sample(ADPCMChannelStatus *c, sho
|
|||||||
int nibble = FFMIN(7, abs(delta)*4/step_table[c->step_index]) + (delta<0)*8;
|
int nibble = FFMIN(7, abs(delta)*4/step_table[c->step_index]) + (delta<0)*8;
|
||||||
c->prev_sample = c->prev_sample + ((step_table[c->step_index] * yamaha_difflookup[nibble]) / 8);
|
c->prev_sample = c->prev_sample + ((step_table[c->step_index] * yamaha_difflookup[nibble]) / 8);
|
||||||
CLAMP_TO_SHORT(c->prev_sample);
|
CLAMP_TO_SHORT(c->prev_sample);
|
||||||
c->step_index = clip(c->step_index + index_table[nibble], 0, 88);
|
c->step_index = av_clip(c->step_index + index_table[nibble], 0, 88);
|
||||||
return nibble;
|
return nibble;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -224,7 +224,7 @@ static inline unsigned char adpcm_ms_compress_sample(ADPCMChannelStatus *c, shor
|
|||||||
else bias=-c->idelta/2;
|
else bias=-c->idelta/2;
|
||||||
|
|
||||||
nibble= (nibble + bias) / c->idelta;
|
nibble= (nibble + bias) / c->idelta;
|
||||||
nibble= clip(nibble, -8, 7)&0x0F;
|
nibble= av_clip(nibble, -8, 7)&0x0F;
|
||||||
|
|
||||||
predictor += (signed)((nibble & 0x08)?(nibble - 0x10):(nibble)) * c->idelta;
|
predictor += (signed)((nibble & 0x08)?(nibble - 0x10):(nibble)) * c->idelta;
|
||||||
CLAMP_TO_SHORT(predictor);
|
CLAMP_TO_SHORT(predictor);
|
||||||
@ -254,7 +254,7 @@ static inline unsigned char adpcm_yamaha_compress_sample(ADPCMChannelStatus *c,
|
|||||||
c->predictor = c->predictor + ((c->step * yamaha_difflookup[nibble]) / 8);
|
c->predictor = c->predictor + ((c->step * yamaha_difflookup[nibble]) / 8);
|
||||||
CLAMP_TO_SHORT(c->predictor);
|
CLAMP_TO_SHORT(c->predictor);
|
||||||
c->step = (c->step * yamaha_indexscale[nibble]) >> 8;
|
c->step = (c->step * yamaha_indexscale[nibble]) >> 8;
|
||||||
c->step = clip(c->step, 127, 24567);
|
c->step = av_clip(c->step, 127, 24567);
|
||||||
|
|
||||||
return nibble;
|
return nibble;
|
||||||
}
|
}
|
||||||
@ -324,8 +324,8 @@ static void adpcm_compress_trellis(AVCodecContext *avctx, const short *samples,
|
|||||||
if(version == CODEC_ID_ADPCM_MS) {
|
if(version == CODEC_ID_ADPCM_MS) {
|
||||||
const int predictor = ((nodes[j]->sample1 * c->coeff1) + (nodes[j]->sample2 * c->coeff2)) / 256;
|
const int predictor = ((nodes[j]->sample1 * c->coeff1) + (nodes[j]->sample2 * c->coeff2)) / 256;
|
||||||
const int div = (sample - predictor) / step;
|
const int div = (sample - predictor) / step;
|
||||||
const int nmin = clip(div-range, -8, 6);
|
const int nmin = av_clip(div-range, -8, 6);
|
||||||
const int nmax = clip(div+range, -7, 7);
|
const int nmax = av_clip(div+range, -7, 7);
|
||||||
for(nidx=nmin; nidx<=nmax; nidx++) {
|
for(nidx=nmin; nidx<=nmax; nidx++) {
|
||||||
const int nibble = nidx & 0xf;
|
const int nibble = nidx & 0xf;
|
||||||
int dec_sample = predictor + nidx * step;
|
int dec_sample = predictor + nidx * step;
|
||||||
@ -372,8 +372,8 @@ static void adpcm_compress_trellis(AVCodecContext *avctx, const short *samples,
|
|||||||
#define LOOP_NODES(NAME, STEP_TABLE, STEP_INDEX)\
|
#define LOOP_NODES(NAME, STEP_TABLE, STEP_INDEX)\
|
||||||
const int predictor = nodes[j]->sample1;\
|
const int predictor = nodes[j]->sample1;\
|
||||||
const int div = (sample - predictor) * 4 / STEP_TABLE;\
|
const int div = (sample - predictor) * 4 / STEP_TABLE;\
|
||||||
int nmin = clip(div-range, -7, 6);\
|
int nmin = av_clip(div-range, -7, 6);\
|
||||||
int nmax = clip(div+range, -6, 7);\
|
int nmax = av_clip(div+range, -6, 7);\
|
||||||
if(nmin<=0) nmin--; /* distinguish -0 from +0 */\
|
if(nmin<=0) nmin--; /* distinguish -0 from +0 */\
|
||||||
if(nmax<0) nmax--;\
|
if(nmax<0) nmax--;\
|
||||||
for(nidx=nmin; nidx<=nmax; nidx++) {\
|
for(nidx=nmin; nidx<=nmax; nidx++) {\
|
||||||
@ -381,9 +381,9 @@ static void adpcm_compress_trellis(AVCodecContext *avctx, const short *samples,
|
|||||||
int dec_sample = predictor + (STEP_TABLE * yamaha_difflookup[nibble]) / 8;\
|
int dec_sample = predictor + (STEP_TABLE * yamaha_difflookup[nibble]) / 8;\
|
||||||
STORE_NODE(NAME, STEP_INDEX);\
|
STORE_NODE(NAME, STEP_INDEX);\
|
||||||
}
|
}
|
||||||
LOOP_NODES(ima, step_table[step], clip(step + index_table[nibble], 0, 88));
|
LOOP_NODES(ima, step_table[step], av_clip(step + index_table[nibble], 0, 88));
|
||||||
} else { //CODEC_ID_ADPCM_YAMAHA
|
} else { //CODEC_ID_ADPCM_YAMAHA
|
||||||
LOOP_NODES(yamaha, step, clip((step * yamaha_indexscale[nibble]) >> 8, 127, 24567));
|
LOOP_NODES(yamaha, step, av_clip((step * yamaha_indexscale[nibble]) >> 8, 127, 24567));
|
||||||
#undef LOOP_NODES
|
#undef LOOP_NODES
|
||||||
#undef STORE_NODE
|
#undef STORE_NODE
|
||||||
}
|
}
|
||||||
@ -734,7 +734,7 @@ static inline short adpcm_yamaha_expand_nibble(ADPCMChannelStatus *c, unsigned c
|
|||||||
c->predictor += (c->step * yamaha_difflookup[nibble]) / 8;
|
c->predictor += (c->step * yamaha_difflookup[nibble]) / 8;
|
||||||
CLAMP_TO_SHORT(c->predictor);
|
CLAMP_TO_SHORT(c->predictor);
|
||||||
c->step = (c->step * yamaha_indexscale[nibble]) >> 8;
|
c->step = (c->step * yamaha_indexscale[nibble]) >> 8;
|
||||||
c->step = clip(c->step, 127, 24567);
|
c->step = av_clip(c->step, 127, 24567);
|
||||||
return c->predictor;
|
return c->predictor;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -974,10 +974,10 @@ static int adpcm_decode_frame(AVCodecContext *avctx,
|
|||||||
n = buf_size - 7 * avctx->channels;
|
n = buf_size - 7 * avctx->channels;
|
||||||
if (n < 0)
|
if (n < 0)
|
||||||
return -1;
|
return -1;
|
||||||
block_predictor[0] = clip(*src++, 0, 7);
|
block_predictor[0] = av_clip(*src++, 0, 7);
|
||||||
block_predictor[1] = 0;
|
block_predictor[1] = 0;
|
||||||
if (st)
|
if (st)
|
||||||
block_predictor[1] = clip(*src++, 0, 7);
|
block_predictor[1] = av_clip(*src++, 0, 7);
|
||||||
c->status[0].idelta = (int16_t)((*src & 0xFF) | ((src[1] << 8) & 0xFF00));
|
c->status[0].idelta = (int16_t)((*src & 0xFF) | ((src[1] << 8) & 0xFF00));
|
||||||
src+=2;
|
src+=2;
|
||||||
if (st){
|
if (st){
|
||||||
@ -1299,8 +1299,8 @@ return -1;
|
|||||||
|
|
||||||
c->status[i].step_index += table[delta & (~signmask)];
|
c->status[i].step_index += table[delta & (~signmask)];
|
||||||
|
|
||||||
c->status[i].step_index = clip(c->status[i].step_index, 0, 88);
|
c->status[i].step_index = av_clip(c->status[i].step_index, 0, 88);
|
||||||
c->status[i].predictor = clip(c->status[i].predictor, -32768, 32767);
|
c->status[i].predictor = av_clip(c->status[i].predictor, -32768, 32767);
|
||||||
|
|
||||||
*samples++ = c->status[i].predictor;
|
*samples++ = c->status[i].predictor;
|
||||||
}
|
}
|
||||||
|
@ -128,9 +128,9 @@ static inline int get_bs(vector_t *mvP, vector_t *mvQ, int b) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
#define SET_PARAMS \
|
#define SET_PARAMS \
|
||||||
alpha = alpha_tab[clip(qp_avg + h->alpha_offset,0,63)]; \
|
alpha = alpha_tab[av_clip(qp_avg + h->alpha_offset,0,63)]; \
|
||||||
beta = beta_tab[clip(qp_avg + h->beta_offset, 0,63)]; \
|
beta = beta_tab[av_clip(qp_avg + h->beta_offset, 0,63)]; \
|
||||||
tc = tc_tab[clip(qp_avg + h->alpha_offset,0,63)];
|
tc = tc_tab[av_clip(qp_avg + h->alpha_offset,0,63)];
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* in-loop deblocking filter for a single macroblock
|
* in-loop deblocking filter for a single macroblock
|
||||||
|
@ -63,16 +63,16 @@ static inline void loop_filter_l1(uint8_t *p0_p, int stride, int alpha, int beta
|
|||||||
int q0 = Q0;
|
int q0 = Q0;
|
||||||
|
|
||||||
if(abs(p0-q0)<alpha && abs(P1-p0)<beta && abs(Q1-q0)<beta) {
|
if(abs(p0-q0)<alpha && abs(P1-p0)<beta && abs(Q1-q0)<beta) {
|
||||||
int delta = clip(((q0-p0)*3+P1-Q1+4)>>3,-tc, tc);
|
int delta = av_clip(((q0-p0)*3+P1-Q1+4)>>3,-tc, tc);
|
||||||
P0 = clip_uint8(p0+delta);
|
P0 = av_clip_uint8(p0+delta);
|
||||||
Q0 = clip_uint8(q0-delta);
|
Q0 = av_clip_uint8(q0-delta);
|
||||||
if(abs(P2-p0)<beta) {
|
if(abs(P2-p0)<beta) {
|
||||||
delta = clip(((P0-P1)*3+P2-Q0+4)>>3, -tc, tc);
|
delta = av_clip(((P0-P1)*3+P2-Q0+4)>>3, -tc, tc);
|
||||||
P1 = clip_uint8(P1+delta);
|
P1 = av_clip_uint8(P1+delta);
|
||||||
}
|
}
|
||||||
if(abs(Q2-q0)<beta) {
|
if(abs(Q2-q0)<beta) {
|
||||||
delta = clip(((Q1-Q0)*3+P0-Q2+4)>>3, -tc, tc);
|
delta = av_clip(((Q1-Q0)*3+P0-Q2+4)>>3, -tc, tc);
|
||||||
Q1 = clip_uint8(Q1-delta);
|
Q1 = av_clip_uint8(Q1-delta);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -98,9 +98,9 @@ static inline void loop_filter_c2(uint8_t *p0_p,int stride,int alpha, int beta)
|
|||||||
static inline void loop_filter_c1(uint8_t *p0_p,int stride,int alpha, int beta,
|
static inline void loop_filter_c1(uint8_t *p0_p,int stride,int alpha, int beta,
|
||||||
int tc) {
|
int tc) {
|
||||||
if(abs(P0-Q0)<alpha && abs(P1-P0)<beta && abs(Q1-Q0)<beta) {
|
if(abs(P0-Q0)<alpha && abs(P1-P0)<beta && abs(Q1-Q0)<beta) {
|
||||||
int delta = clip(((Q0-P0)*3+P1-Q1+4)>>3, -tc, tc);
|
int delta = av_clip(((Q0-P0)*3+P1-Q1+4)>>3, -tc, tc);
|
||||||
P0 = clip_uint8(P0+delta);
|
P0 = av_clip_uint8(P0+delta);
|
||||||
Q0 = clip_uint8(Q0-delta);
|
Q0 = av_clip_uint8(Q0-delta);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -998,7 +998,7 @@ mlt_compensate_output(COOKContext *q, float *decode_buffer,
|
|||||||
*/
|
*/
|
||||||
for (j = 0; j < q->samples_per_channel; j++) {
|
for (j = 0; j < q->samples_per_channel; j++) {
|
||||||
out[chan + q->nb_channels * j] =
|
out[chan + q->nb_channels * j] =
|
||||||
clip(lrintf(q->mono_mdct_output[j]), -32768, 32767);
|
av_clip(lrintf(q->mono_mdct_output[j]), -32768, 32767);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -327,7 +327,7 @@ static int cinaudio_decode_frame(AVCodecContext *avctx,
|
|||||||
}
|
}
|
||||||
while (buf_size > 0) {
|
while (buf_size > 0) {
|
||||||
cin->delta += cinaudio_delta16_table[*src++];
|
cin->delta += cinaudio_delta16_table[*src++];
|
||||||
cin->delta = clip(cin->delta, -32768, 32767);
|
cin->delta = av_clip(cin->delta, -32768, 32767);
|
||||||
*samples++ = cin->delta;
|
*samples++ = cin->delta;
|
||||||
--buf_size;
|
--buf_size;
|
||||||
}
|
}
|
||||||
|
@ -1178,19 +1178,19 @@ void ff_gmc_c(uint8_t *dst, uint8_t *src, int stride, int h, int ox, int oy,
|
|||||||
+ src[index+stride+1]* frac_x )* frac_y
|
+ src[index+stride+1]* frac_x )* frac_y
|
||||||
+ r)>>(shift*2);
|
+ r)>>(shift*2);
|
||||||
}else{
|
}else{
|
||||||
index= src_x + clip(src_y, 0, height)*stride;
|
index= src_x + av_clip(src_y, 0, height)*stride;
|
||||||
dst[y*stride + x]= ( ( src[index ]*(s-frac_x)
|
dst[y*stride + x]= ( ( src[index ]*(s-frac_x)
|
||||||
+ src[index +1]* frac_x )*s
|
+ src[index +1]* frac_x )*s
|
||||||
+ r)>>(shift*2);
|
+ r)>>(shift*2);
|
||||||
}
|
}
|
||||||
}else{
|
}else{
|
||||||
if((unsigned)src_y < height){
|
if((unsigned)src_y < height){
|
||||||
index= clip(src_x, 0, width) + src_y*stride;
|
index= av_clip(src_x, 0, width) + src_y*stride;
|
||||||
dst[y*stride + x]= ( ( src[index ]*(s-frac_y)
|
dst[y*stride + x]= ( ( src[index ]*(s-frac_y)
|
||||||
+ src[index+stride ]* frac_y )*s
|
+ src[index+stride ]* frac_y )*s
|
||||||
+ r)>>(shift*2);
|
+ r)>>(shift*2);
|
||||||
}else{
|
}else{
|
||||||
index= clip(src_x, 0, width) + clip(src_y, 0, height)*stride;
|
index= av_clip(src_x, 0, width) + av_clip(src_y, 0, height)*stride;
|
||||||
dst[y*stride + x]= src[index ];
|
dst[y*stride + x]= src[index ];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -2434,8 +2434,8 @@ H264_MC(avg_, 16)
|
|||||||
#undef op2_put
|
#undef op2_put
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define op_scale1(x) block[x] = clip_uint8( (block[x]*weight + offset) >> log2_denom )
|
#define op_scale1(x) block[x] = av_clip_uint8( (block[x]*weight + offset) >> log2_denom )
|
||||||
#define op_scale2(x) dst[x] = clip_uint8( (src[x]*weights + dst[x]*weightd + offset) >> (log2_denom+1))
|
#define op_scale2(x) dst[x] = av_clip_uint8( (src[x]*weights + dst[x]*weightd + offset) >> (log2_denom+1))
|
||||||
#define H264_WEIGHT(W,H) \
|
#define H264_WEIGHT(W,H) \
|
||||||
static void weight_h264_pixels ## W ## x ## H ## _c(uint8_t *block, int stride, int log2_denom, int weight, int offset){ \
|
static void weight_h264_pixels ## W ## x ## H ## _c(uint8_t *block, int stride, int log2_denom, int weight, int offset){ \
|
||||||
int y; \
|
int y; \
|
||||||
@ -2659,7 +2659,7 @@ static void h263_v_loop_filter_c(uint8_t *src, int stride, int qscale){
|
|||||||
|
|
||||||
ad1= FFABS(d1)>>1;
|
ad1= FFABS(d1)>>1;
|
||||||
|
|
||||||
d2= clip((p0-p3)/4, -ad1, ad1);
|
d2= av_clip((p0-p3)/4, -ad1, ad1);
|
||||||
|
|
||||||
src[x-2*stride] = p0 - d2;
|
src[x-2*stride] = p0 - d2;
|
||||||
src[x+ stride] = p3 + d2;
|
src[x+ stride] = p3 + d2;
|
||||||
@ -2694,7 +2694,7 @@ static void h263_h_loop_filter_c(uint8_t *src, int stride, int qscale){
|
|||||||
|
|
||||||
ad1= FFABS(d1)>>1;
|
ad1= FFABS(d1)>>1;
|
||||||
|
|
||||||
d2= clip((p0-p3)/4, -ad1, ad1);
|
d2= av_clip((p0-p3)/4, -ad1, ad1);
|
||||||
|
|
||||||
src[y*stride-2] = p0 - d2;
|
src[y*stride-2] = p0 - d2;
|
||||||
src[y*stride+1] = p3 + d2;
|
src[y*stride+1] = p3 + d2;
|
||||||
@ -2752,17 +2752,17 @@ static inline void h264_loop_filter_luma_c(uint8_t *pix, int xstride, int ystrid
|
|||||||
int i_delta;
|
int i_delta;
|
||||||
|
|
||||||
if( FFABS( p2 - p0 ) < beta ) {
|
if( FFABS( p2 - p0 ) < beta ) {
|
||||||
pix[-2*xstride] = p1 + clip( (( p2 + ( ( p0 + q0 + 1 ) >> 1 ) ) >> 1) - p1, -tc0[i], tc0[i] );
|
pix[-2*xstride] = p1 + av_clip( (( p2 + ( ( p0 + q0 + 1 ) >> 1 ) ) >> 1) - p1, -tc0[i], tc0[i] );
|
||||||
tc++;
|
tc++;
|
||||||
}
|
}
|
||||||
if( FFABS( q2 - q0 ) < beta ) {
|
if( FFABS( q2 - q0 ) < beta ) {
|
||||||
pix[ xstride] = q1 + clip( (( q2 + ( ( p0 + q0 + 1 ) >> 1 ) ) >> 1) - q1, -tc0[i], tc0[i] );
|
pix[ xstride] = q1 + av_clip( (( q2 + ( ( p0 + q0 + 1 ) >> 1 ) ) >> 1) - q1, -tc0[i], tc0[i] );
|
||||||
tc++;
|
tc++;
|
||||||
}
|
}
|
||||||
|
|
||||||
i_delta = clip( (((q0 - p0 ) << 2) + (p1 - q1) + 4) >> 3, -tc, tc );
|
i_delta = av_clip( (((q0 - p0 ) << 2) + (p1 - q1) + 4) >> 3, -tc, tc );
|
||||||
pix[-xstride] = clip_uint8( p0 + i_delta ); /* p0' */
|
pix[-xstride] = av_clip_uint8( p0 + i_delta ); /* p0' */
|
||||||
pix[0] = clip_uint8( q0 - i_delta ); /* q0' */
|
pix[0] = av_clip_uint8( q0 - i_delta ); /* q0' */
|
||||||
}
|
}
|
||||||
pix += ystride;
|
pix += ystride;
|
||||||
}
|
}
|
||||||
@ -2796,10 +2796,10 @@ static inline void h264_loop_filter_chroma_c(uint8_t *pix, int xstride, int ystr
|
|||||||
FFABS( p1 - p0 ) < beta &&
|
FFABS( p1 - p0 ) < beta &&
|
||||||
FFABS( q1 - q0 ) < beta ) {
|
FFABS( q1 - q0 ) < beta ) {
|
||||||
|
|
||||||
int delta = clip( (((q0 - p0 ) << 2) + (p1 - q1) + 4) >> 3, -tc, tc );
|
int delta = av_clip( (((q0 - p0 ) << 2) + (p1 - q1) + 4) >> 3, -tc, tc );
|
||||||
|
|
||||||
pix[-xstride] = clip_uint8( p0 + delta ); /* p0' */
|
pix[-xstride] = av_clip_uint8( p0 + delta ); /* p0' */
|
||||||
pix[0] = clip_uint8( q0 - delta ); /* q0' */
|
pix[0] = av_clip_uint8( q0 - delta ); /* q0' */
|
||||||
}
|
}
|
||||||
pix += ystride;
|
pix += ystride;
|
||||||
}
|
}
|
||||||
|
@ -612,8 +612,8 @@ void ff_er_frame_start(MpegEncContext *s){
|
|||||||
* error of the same type occured
|
* error of the same type occured
|
||||||
*/
|
*/
|
||||||
void ff_er_add_slice(MpegEncContext *s, int startx, int starty, int endx, int endy, int status){
|
void ff_er_add_slice(MpegEncContext *s, int startx, int starty, int endx, int endy, int status){
|
||||||
const int start_i= clip(startx + starty * s->mb_width , 0, s->mb_num-1);
|
const int start_i= av_clip(startx + starty * s->mb_width , 0, s->mb_num-1);
|
||||||
const int end_i = clip(endx + endy * s->mb_width , 0, s->mb_num);
|
const int end_i = av_clip(endx + endy * s->mb_width , 0, s->mb_num);
|
||||||
const int start_xy= s->mb_index2xy[start_i];
|
const int start_xy= s->mb_index2xy[start_i];
|
||||||
const int end_xy = s->mb_index2xy[end_i];
|
const int end_xy = s->mb_index2xy[end_i];
|
||||||
int mask= -1;
|
int mask= -1;
|
||||||
|
@ -155,7 +155,7 @@ static double eval_expr(Parser * p, AVEvalExpr * e) {
|
|||||||
case e_func2: return e->value * e->a.func2(p->opaque, eval_expr(p, e->param[0]), eval_expr(p, e->param[1]));
|
case e_func2: return e->value * e->a.func2(p->opaque, eval_expr(p, e->param[0]), eval_expr(p, e->param[1]));
|
||||||
case e_squish: return 1/(1+exp(4*eval_expr(p, e->param[0])));
|
case e_squish: return 1/(1+exp(4*eval_expr(p, e->param[0])));
|
||||||
case e_gauss: { double d = eval_expr(p, e->param[0]); return exp(-d*d/2)/sqrt(2*M_PI); }
|
case e_gauss: { double d = eval_expr(p, e->param[0]); return exp(-d*d/2)/sqrt(2*M_PI); }
|
||||||
case e_ld: return e->value * p->var[clip(eval_expr(p, e->param[0]), 0, VARS-1)];
|
case e_ld: return e->value * p->var[av_clip(eval_expr(p, e->param[0]), 0, VARS-1)];
|
||||||
case e_while: {
|
case e_while: {
|
||||||
double d = NAN;
|
double d = NAN;
|
||||||
while(eval_expr(p, e->param[0]))
|
while(eval_expr(p, e->param[0]))
|
||||||
@ -177,7 +177,7 @@ static double eval_expr(Parser * p, AVEvalExpr * e) {
|
|||||||
case e_div: return e->value * (d / d2);
|
case e_div: return e->value * (d / d2);
|
||||||
case e_add: return e->value * (d + d2);
|
case e_add: return e->value * (d + d2);
|
||||||
case e_last:return e->value * d2;
|
case e_last:return e->value * d2;
|
||||||
case e_st : return e->value * (p->var[clip(d, 0, VARS-1)]= d2);
|
case e_st : return e->value * (p->var[av_clip(d, 0, VARS-1)]= d2);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -244,7 +244,7 @@ static int flac_encode_init(AVCodecContext *avctx)
|
|||||||
|
|
||||||
/* set compression option overrides from AVCodecContext */
|
/* set compression option overrides from AVCodecContext */
|
||||||
if(avctx->use_lpc >= 0) {
|
if(avctx->use_lpc >= 0) {
|
||||||
s->options.use_lpc = clip(avctx->use_lpc, 0, 11);
|
s->options.use_lpc = av_clip(avctx->use_lpc, 0, 11);
|
||||||
}
|
}
|
||||||
if(s->options.use_lpc == 1)
|
if(s->options.use_lpc == 1)
|
||||||
av_log(avctx, AV_LOG_DEBUG, " use lpc: Levinson-Durbin recursion with Welch window\n");
|
av_log(avctx, AV_LOG_DEBUG, " use lpc: Levinson-Durbin recursion with Welch window\n");
|
||||||
@ -712,7 +712,7 @@ static void quantize_lpc_coefs(double *lpc_in, int order, int precision,
|
|||||||
error=0;
|
error=0;
|
||||||
for(i=0; i<order; i++) {
|
for(i=0; i<order; i++) {
|
||||||
error += lpc_in[i] * (1 << sh);
|
error += lpc_in[i] * (1 << sh);
|
||||||
lpc_out[i] = clip(lrintf(error), -qmax, qmax);
|
lpc_out[i] = av_clip(lrintf(error), -qmax, qmax);
|
||||||
error -= lpc_out[i];
|
error -= lpc_out[i];
|
||||||
}
|
}
|
||||||
*shift = sh;
|
*shift = sh;
|
||||||
|
@ -213,12 +213,12 @@ static inline int16_t g726_iterate(G726Context* c, int16_t I)
|
|||||||
c->b[i] = 0;
|
c->b[i] = 0;
|
||||||
} else {
|
} else {
|
||||||
/* This is a bit crazy, but it really is +255 not +256 */
|
/* This is a bit crazy, but it really is +255 not +256 */
|
||||||
fa1 = clip((-c->a[0]*c->pk[0]*pk0)>>5, -256, 255);
|
fa1 = av_clip((-c->a[0]*c->pk[0]*pk0)>>5, -256, 255);
|
||||||
|
|
||||||
c->a[1] += 128*pk0*c->pk[1] + fa1 - (c->a[1]>>7);
|
c->a[1] += 128*pk0*c->pk[1] + fa1 - (c->a[1]>>7);
|
||||||
c->a[1] = clip(c->a[1], -12288, 12288);
|
c->a[1] = av_clip(c->a[1], -12288, 12288);
|
||||||
c->a[0] += 64*3*pk0*c->pk[0] - (c->a[0] >> 8);
|
c->a[0] += 64*3*pk0*c->pk[0] - (c->a[0] >> 8);
|
||||||
c->a[0] = clip(c->a[0], -(15360 - c->a[1]), 15360 - c->a[1]);
|
c->a[0] = av_clip(c->a[0], -(15360 - c->a[1]), 15360 - c->a[1]);
|
||||||
|
|
||||||
for (i=0; i<6; i++)
|
for (i=0; i<6; i++)
|
||||||
c->b[i] += 128*dq0*sgn(-c->dq[i].sign) - (c->b[i]>>8);
|
c->b[i] += 128*dq0*sgn(-c->dq[i].sign) - (c->b[i]>>8);
|
||||||
@ -248,7 +248,7 @@ static inline int16_t g726_iterate(G726Context* c, int16_t I)
|
|||||||
c->ap += (0x200 - c->ap) >> 4;
|
c->ap += (0x200 - c->ap) >> 4;
|
||||||
|
|
||||||
/* Update Yu and Yl */
|
/* Update Yu and Yl */
|
||||||
c->yu = clip(c->y + (((c->tbls->W[I] << 5) - c->y) >> 5), 544, 5120);
|
c->yu = av_clip(c->y + (((c->tbls->W[I] << 5) - c->y) >> 5), 544, 5120);
|
||||||
c->yl += c->yu + ((-c->yl)>>6);
|
c->yl += c->yu + ((-c->yl)>>6);
|
||||||
|
|
||||||
/* Next iteration for Y */
|
/* Next iteration for Y */
|
||||||
@ -264,7 +264,7 @@ static inline int16_t g726_iterate(G726Context* c, int16_t I)
|
|||||||
c->se += mult(i2f(c->a[i] >> 2, &f), &c->sr[i]);
|
c->se += mult(i2f(c->a[i] >> 2, &f), &c->sr[i]);
|
||||||
c->se >>= 1;
|
c->se >>= 1;
|
||||||
|
|
||||||
return clip(re_signal << 2, -0xffff, 0xffff);
|
return av_clip(re_signal << 2, -0xffff, 0xffff);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int g726_reset(G726Context* c, int bit_rate)
|
static int g726_reset(G726Context* c, int bit_rate)
|
||||||
|
@ -211,7 +211,7 @@ void h263_encode_picture_header(MpegEncContext * s, int picture_number)
|
|||||||
for(i=0; i<2; i++){
|
for(i=0; i<2; i++){
|
||||||
int div, error;
|
int div, error;
|
||||||
div= (s->avctx->time_base.num*1800000LL + 500LL*s->avctx->time_base.den) / ((1000LL+i)*s->avctx->time_base.den);
|
div= (s->avctx->time_base.num*1800000LL + 500LL*s->avctx->time_base.den) / ((1000LL+i)*s->avctx->time_base.den);
|
||||||
div= clip(1, div, 127);
|
div= av_clip(1, div, 127);
|
||||||
error= FFABS(s->avctx->time_base.num*1800000LL - (1000LL+i)*s->avctx->time_base.den*div);
|
error= FFABS(s->avctx->time_base.num*1800000LL - (1000LL+i)*s->avctx->time_base.den*div);
|
||||||
if(error < best_error){
|
if(error < best_error){
|
||||||
best_error= error;
|
best_error= error;
|
||||||
@ -496,7 +496,7 @@ static void ff_init_qscale_tab(MpegEncContext *s){
|
|||||||
for(i=0; i<s->mb_num; i++){
|
for(i=0; i<s->mb_num; i++){
|
||||||
unsigned int lam= s->lambda_table[ s->mb_index2xy[i] ];
|
unsigned int lam= s->lambda_table[ s->mb_index2xy[i] ];
|
||||||
int qp= (lam*139 + FF_LAMBDA_SCALE*64) >> (FF_LAMBDA_SHIFT + 7);
|
int qp= (lam*139 + FF_LAMBDA_SCALE*64) >> (FF_LAMBDA_SHIFT + 7);
|
||||||
qscale_table[ s->mb_index2xy[i] ]= clip(qp, s->avctx->qmin, s->avctx->qmax);
|
qscale_table[ s->mb_index2xy[i] ]= av_clip(qp, s->avctx->qmin, s->avctx->qmax);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1322,13 +1322,13 @@ static inline void direct_dist_scale_factor(H264Context * const h){
|
|||||||
int i;
|
int i;
|
||||||
for(i=0; i<h->ref_count[0]; i++){
|
for(i=0; i<h->ref_count[0]; i++){
|
||||||
int poc0 = h->ref_list[0][i].poc;
|
int poc0 = h->ref_list[0][i].poc;
|
||||||
int td = clip(poc1 - poc0, -128, 127);
|
int td = av_clip(poc1 - poc0, -128, 127);
|
||||||
if(td == 0 /* FIXME || pic0 is a long-term ref */){
|
if(td == 0 /* FIXME || pic0 is a long-term ref */){
|
||||||
h->dist_scale_factor[i] = 256;
|
h->dist_scale_factor[i] = 256;
|
||||||
}else{
|
}else{
|
||||||
int tb = clip(poc - poc0, -128, 127);
|
int tb = av_clip(poc - poc0, -128, 127);
|
||||||
int tx = (16384 + (FFABS(td) >> 1)) / td;
|
int tx = (16384 + (FFABS(td) >> 1)) / td;
|
||||||
h->dist_scale_factor[i] = clip((tb*tx + 32) >> 6, -1024, 1023);
|
h->dist_scale_factor[i] = av_clip((tb*tx + 32) >> 6, -1024, 1023);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if(FRAME_MBAFF){
|
if(FRAME_MBAFF){
|
||||||
@ -1948,7 +1948,7 @@ static void chroma_dc_dct_c(DCTELEM *block){
|
|||||||
*/
|
*/
|
||||||
static inline int get_chroma_qp(int chroma_qp_index_offset, int qscale){
|
static inline int get_chroma_qp(int chroma_qp_index_offset, int qscale){
|
||||||
|
|
||||||
return chroma_qp[clip(qscale + chroma_qp_index_offset, 0, 51)];
|
return chroma_qp[av_clip(qscale + chroma_qp_index_offset, 0, 51)];
|
||||||
}
|
}
|
||||||
|
|
||||||
//FIXME need to check that this doesnt overflow signed 32 bit for low qp, i am not sure, it's very close
|
//FIXME need to check that this doesnt overflow signed 32 bit for low qp, i am not sure, it's very close
|
||||||
@ -4122,11 +4122,11 @@ static void implicit_weight_table(H264Context *h){
|
|||||||
int poc0 = h->ref_list[0][ref0].poc;
|
int poc0 = h->ref_list[0][ref0].poc;
|
||||||
for(ref1=0; ref1 < h->ref_count[1]; ref1++){
|
for(ref1=0; ref1 < h->ref_count[1]; ref1++){
|
||||||
int poc1 = h->ref_list[1][ref1].poc;
|
int poc1 = h->ref_list[1][ref1].poc;
|
||||||
int td = clip(poc1 - poc0, -128, 127);
|
int td = av_clip(poc1 - poc0, -128, 127);
|
||||||
if(td){
|
if(td){
|
||||||
int tb = clip(cur_poc - poc0, -128, 127);
|
int tb = av_clip(cur_poc - poc0, -128, 127);
|
||||||
int tx = (16384 + (FFABS(td) >> 1)) / td;
|
int tx = (16384 + (FFABS(td) >> 1)) / td;
|
||||||
int dist_scale_factor = clip((tb*tx + 32) >> 6, -1024, 1023) >> 2;
|
int dist_scale_factor = av_clip((tb*tx + 32) >> 6, -1024, 1023) >> 2;
|
||||||
if(dist_scale_factor < -64 || dist_scale_factor > 128)
|
if(dist_scale_factor < -64 || dist_scale_factor > 128)
|
||||||
h->implicit_weight[ref0][ref1] = 32;
|
h->implicit_weight[ref0][ref1] = 32;
|
||||||
else
|
else
|
||||||
@ -6814,17 +6814,17 @@ static void filter_mb_mbaff_edgev( H264Context *h, uint8_t *pix, int stride, int
|
|||||||
int i_delta;
|
int i_delta;
|
||||||
|
|
||||||
if( FFABS( p2 - p0 ) < beta ) {
|
if( FFABS( p2 - p0 ) < beta ) {
|
||||||
pix[-2] = p1 + clip( ( p2 + ( ( p0 + q0 + 1 ) >> 1 ) - ( p1 << 1 ) ) >> 1, -tc0, tc0 );
|
pix[-2] = p1 + av_clip( ( p2 + ( ( p0 + q0 + 1 ) >> 1 ) - ( p1 << 1 ) ) >> 1, -tc0, tc0 );
|
||||||
tc++;
|
tc++;
|
||||||
}
|
}
|
||||||
if( FFABS( q2 - q0 ) < beta ) {
|
if( FFABS( q2 - q0 ) < beta ) {
|
||||||
pix[1] = q1 + clip( ( q2 + ( ( p0 + q0 + 1 ) >> 1 ) - ( q1 << 1 ) ) >> 1, -tc0, tc0 );
|
pix[1] = q1 + av_clip( ( q2 + ( ( p0 + q0 + 1 ) >> 1 ) - ( q1 << 1 ) ) >> 1, -tc0, tc0 );
|
||||||
tc++;
|
tc++;
|
||||||
}
|
}
|
||||||
|
|
||||||
i_delta = clip( (((q0 - p0 ) << 2) + (p1 - q1) + 4) >> 3, -tc, tc );
|
i_delta = av_clip( (((q0 - p0 ) << 2) + (p1 - q1) + 4) >> 3, -tc, tc );
|
||||||
pix[-1] = clip_uint8( p0 + i_delta ); /* p0' */
|
pix[-1] = av_clip_uint8( p0 + i_delta ); /* p0' */
|
||||||
pix[0] = clip_uint8( q0 - i_delta ); /* q0' */
|
pix[0] = av_clip_uint8( q0 - i_delta ); /* q0' */
|
||||||
tprintf("filter_mb_mbaff_edgev i:%d, qp:%d, indexA:%d, alpha:%d, beta:%d, tc:%d\n# bS:%d -> [%02x, %02x, %02x, %02x, %02x, %02x] =>[%02x, %02x, %02x, %02x]\n", i, qp[qp_index], index_a, alpha, beta, tc, bS[bS_index], pix[-3], p1, p0, q0, q1, pix[2], p1, pix[-1], pix[0], q1);
|
tprintf("filter_mb_mbaff_edgev i:%d, qp:%d, indexA:%d, alpha:%d, beta:%d, tc:%d\n# bS:%d -> [%02x, %02x, %02x, %02x, %02x, %02x] =>[%02x, %02x, %02x, %02x]\n", i, qp[qp_index], index_a, alpha, beta, tc, bS[bS_index], pix[-3], p1, p0, q0, q1, pix[2], p1, pix[-1], pix[0], q1);
|
||||||
}
|
}
|
||||||
}else{
|
}else{
|
||||||
@ -6902,10 +6902,10 @@ static void filter_mb_mbaff_edgecv( H264Context *h, uint8_t *pix, int stride, in
|
|||||||
if( FFABS( p0 - q0 ) < alpha &&
|
if( FFABS( p0 - q0 ) < alpha &&
|
||||||
FFABS( p1 - p0 ) < beta &&
|
FFABS( p1 - p0 ) < beta &&
|
||||||
FFABS( q1 - q0 ) < beta ) {
|
FFABS( q1 - q0 ) < beta ) {
|
||||||
const int i_delta = clip( (((q0 - p0 ) << 2) + (p1 - q1) + 4) >> 3, -tc, tc );
|
const int i_delta = av_clip( (((q0 - p0 ) << 2) + (p1 - q1) + 4) >> 3, -tc, tc );
|
||||||
|
|
||||||
pix[-1] = clip_uint8( p0 + i_delta ); /* p0' */
|
pix[-1] = av_clip_uint8( p0 + i_delta ); /* p0' */
|
||||||
pix[0] = clip_uint8( q0 - i_delta ); /* q0' */
|
pix[0] = av_clip_uint8( q0 - i_delta ); /* q0' */
|
||||||
tprintf("filter_mb_mbaff_edgecv i:%d, qp:%d, indexA:%d, alpha:%d, beta:%d, tc:%d\n# bS:%d -> [%02x, %02x, %02x, %02x, %02x, %02x] =>[%02x, %02x, %02x, %02x]\n", i, qp[qp_index], index_a, alpha, beta, tc, bS[bS_index], pix[-3], p1, p0, q0, q1, pix[2], p1, pix[-1], pix[0], q1);
|
tprintf("filter_mb_mbaff_edgecv i:%d, qp:%d, indexA:%d, alpha:%d, beta:%d, tc:%d\n# bS:%d -> [%02x, %02x, %02x, %02x, %02x, %02x] =>[%02x, %02x, %02x, %02x]\n", i, qp[qp_index], index_a, alpha, beta, tc, bS[bS_index], pix[-3], p1, p0, q0, q1, pix[2], p1, pix[-1], pix[0], q1);
|
||||||
}
|
}
|
||||||
}else{
|
}else{
|
||||||
@ -7387,9 +7387,9 @@ static int decode_slice(H264Context *h){
|
|||||||
for( i= 0; i < 460; i++ ) {
|
for( i= 0; i < 460; i++ ) {
|
||||||
int pre;
|
int pre;
|
||||||
if( h->slice_type == I_TYPE )
|
if( h->slice_type == I_TYPE )
|
||||||
pre = clip( ((cabac_context_init_I[i][0] * s->qscale) >>4 ) + cabac_context_init_I[i][1], 1, 126 );
|
pre = av_clip( ((cabac_context_init_I[i][0] * s->qscale) >>4 ) + cabac_context_init_I[i][1], 1, 126 );
|
||||||
else
|
else
|
||||||
pre = clip( ((cabac_context_init_PB[h->cabac_init_idc][i][0] * s->qscale) >>4 ) + cabac_context_init_PB[h->cabac_init_idc][i][1], 1, 126 );
|
pre = av_clip( ((cabac_context_init_PB[h->cabac_init_idc][i][0] * s->qscale) >>4 ) + cabac_context_init_PB[h->cabac_init_idc][i][1], 1, 126 );
|
||||||
|
|
||||||
if( pre <= 63 )
|
if( pre <= 63 )
|
||||||
h->cabac_state[i] = 2 * ( 63 - pre ) + 0;
|
h->cabac_state[i] = 2 * ( 63 - pre ) + 0;
|
||||||
|
@ -347,7 +347,7 @@ static int bit_allocation (IMCContext* q, int stream_format_code, int freebits,
|
|||||||
iacc = 0;
|
iacc = 0;
|
||||||
|
|
||||||
for(j = (stream_format_code & 0x2)?4:0; j < BANDS; j++) {
|
for(j = (stream_format_code & 0x2)?4:0; j < BANDS; j++) {
|
||||||
cwlen = clip((int)((q->flcoeffs4[j] * 0.5) - summa + 0.5), 0, 6);
|
cwlen = av_clip((int)((q->flcoeffs4[j] * 0.5) - summa + 0.5), 0, 6);
|
||||||
|
|
||||||
q->bitsBandT[j] = cwlen;
|
q->bitsBandT[j] = cwlen;
|
||||||
summer += q->bandWidthT[j] * cwlen;
|
summer += q->bandWidthT[j] * cwlen;
|
||||||
|
@ -87,11 +87,11 @@ static int ir2_decode_plane(Ir2Context *ctx, int width, int height, uint8_t *dst
|
|||||||
}
|
}
|
||||||
} else { /* add two deltas from table */
|
} else { /* add two deltas from table */
|
||||||
t = dst[out - stride] + (table[c * 2] - 128);
|
t = dst[out - stride] + (table[c * 2] - 128);
|
||||||
t= clip_uint8(t);
|
t= av_clip_uint8(t);
|
||||||
dst[out] = t;
|
dst[out] = t;
|
||||||
out++;
|
out++;
|
||||||
t = dst[out - stride] + (table[(c * 2) + 1] - 128);
|
t = dst[out - stride] + (table[(c * 2) + 1] - 128);
|
||||||
t= clip_uint8(t);
|
t= av_clip_uint8(t);
|
||||||
dst[out] = t;
|
dst[out] = t;
|
||||||
out++;
|
out++;
|
||||||
}
|
}
|
||||||
@ -121,11 +121,11 @@ static int ir2_decode_plane_inter(Ir2Context *ctx, int width, int height, uint8_
|
|||||||
out += c * 2;
|
out += c * 2;
|
||||||
} else { /* add two deltas from table */
|
} else { /* add two deltas from table */
|
||||||
t = dst[out] + (((table[c * 2] - 128)*3) >> 2);
|
t = dst[out] + (((table[c * 2] - 128)*3) >> 2);
|
||||||
t= clip_uint8(t);
|
t= av_clip_uint8(t);
|
||||||
dst[out] = t;
|
dst[out] = t;
|
||||||
out++;
|
out++;
|
||||||
t = dst[out] + (((table[(c * 2) + 1] - 128)*3) >> 2);
|
t = dst[out] + (((table[(c * 2) + 1] - 128)*3) >> 2);
|
||||||
t= clip_uint8(t);
|
t= av_clip_uint8(t);
|
||||||
dst[out] = t;
|
dst[out] = t;
|
||||||
out++;
|
out++;
|
||||||
}
|
}
|
||||||
|
@ -366,10 +366,10 @@ static inline void ls_decode_line(JLSState *state, MJpegDecodeContext *s, void *
|
|||||||
}
|
}
|
||||||
|
|
||||||
if(sign){
|
if(sign){
|
||||||
pred = clip(pred - state->C[context], 0, state->maxval);
|
pred = av_clip(pred - state->C[context], 0, state->maxval);
|
||||||
err = -ls_get_code_regular(&s->gb, state, context);
|
err = -ls_get_code_regular(&s->gb, state, context);
|
||||||
} else {
|
} else {
|
||||||
pred = clip(pred + state->C[context], 0, state->maxval);
|
pred = av_clip(pred + state->C[context], 0, state->maxval);
|
||||||
err = ls_get_code_regular(&s->gb, state, context);
|
err = ls_get_code_regular(&s->gb, state, context);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -381,7 +381,7 @@ static inline void ls_decode_line(JLSState *state, MJpegDecodeContext *s, void *
|
|||||||
pred += state->range * state->twonear;
|
pred += state->range * state->twonear;
|
||||||
else if(pred > state->maxval + state->near)
|
else if(pred > state->maxval + state->near)
|
||||||
pred -= state->range * state->twonear;
|
pred -= state->range * state->twonear;
|
||||||
pred = clip(pred, 0, state->maxval);
|
pred = av_clip(pred, 0, state->maxval);
|
||||||
}
|
}
|
||||||
|
|
||||||
pred &= state->maxval;
|
pred &= state->maxval;
|
||||||
@ -623,9 +623,9 @@ static inline void ls_encode_line(JLSState *state, PutBitContext *pb, void *last
|
|||||||
err = -(state->near - err) / state->twonear;
|
err = -(state->near - err) / state->twonear;
|
||||||
|
|
||||||
if(RItype || (Rb >= Ra))
|
if(RItype || (Rb >= Ra))
|
||||||
Ra = clip(pred + err * state->twonear, 0, state->maxval);
|
Ra = av_clip(pred + err * state->twonear, 0, state->maxval);
|
||||||
else
|
else
|
||||||
Ra = clip(pred - err * state->twonear, 0, state->maxval);
|
Ra = av_clip(pred - err * state->twonear, 0, state->maxval);
|
||||||
W(cur, x, Ra);
|
W(cur, x, Ra);
|
||||||
}
|
}
|
||||||
if(err < 0)
|
if(err < 0)
|
||||||
@ -646,11 +646,11 @@ static inline void ls_encode_line(JLSState *state, PutBitContext *pb, void *last
|
|||||||
if(context < 0){
|
if(context < 0){
|
||||||
context = -context;
|
context = -context;
|
||||||
sign = 1;
|
sign = 1;
|
||||||
pred = clip(pred - state->C[context], 0, state->maxval);
|
pred = av_clip(pred - state->C[context], 0, state->maxval);
|
||||||
err = pred - R(cur, x);
|
err = pred - R(cur, x);
|
||||||
}else{
|
}else{
|
||||||
sign = 0;
|
sign = 0;
|
||||||
pred = clip(pred + state->C[context], 0, state->maxval);
|
pred = av_clip(pred + state->C[context], 0, state->maxval);
|
||||||
err = R(cur, x) - pred;
|
err = R(cur, x) - pred;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -660,9 +660,9 @@ static inline void ls_encode_line(JLSState *state, PutBitContext *pb, void *last
|
|||||||
else
|
else
|
||||||
err = -(state->near - err) / state->twonear;
|
err = -(state->near - err) / state->twonear;
|
||||||
if(!sign)
|
if(!sign)
|
||||||
Ra = clip(pred + err * state->twonear, 0, state->maxval);
|
Ra = av_clip(pred + err * state->twonear, 0, state->maxval);
|
||||||
else
|
else
|
||||||
Ra = clip(pred - err * state->twonear, 0, state->maxval);
|
Ra = av_clip(pred - err * state->twonear, 0, state->maxval);
|
||||||
W(cur, x, Ra);
|
W(cur, x, Ra);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1798,15 +1798,15 @@ static inline int direct_search(MpegEncContext * s, int mb_x, int mb_y)
|
|||||||
c->pred_x=0;
|
c->pred_x=0;
|
||||||
c->pred_y=0;
|
c->pred_y=0;
|
||||||
|
|
||||||
P_LEFT[0] = clip(mv_table[mot_xy - 1][0], xmin<<shift, xmax<<shift);
|
P_LEFT[0] = av_clip(mv_table[mot_xy - 1][0], xmin<<shift, xmax<<shift);
|
||||||
P_LEFT[1] = clip(mv_table[mot_xy - 1][1], ymin<<shift, ymax<<shift);
|
P_LEFT[1] = av_clip(mv_table[mot_xy - 1][1], ymin<<shift, ymax<<shift);
|
||||||
|
|
||||||
/* special case for first line */
|
/* special case for first line */
|
||||||
if (!s->first_slice_line) { //FIXME maybe allow this over thread boundary as its clipped
|
if (!s->first_slice_line) { //FIXME maybe allow this over thread boundary as its clipped
|
||||||
P_TOP[0] = clip(mv_table[mot_xy - mot_stride ][0], xmin<<shift, xmax<<shift);
|
P_TOP[0] = av_clip(mv_table[mot_xy - mot_stride ][0], xmin<<shift, xmax<<shift);
|
||||||
P_TOP[1] = clip(mv_table[mot_xy - mot_stride ][1], ymin<<shift, ymax<<shift);
|
P_TOP[1] = av_clip(mv_table[mot_xy - mot_stride ][1], ymin<<shift, ymax<<shift);
|
||||||
P_TOPRIGHT[0] = clip(mv_table[mot_xy - mot_stride + 1 ][0], xmin<<shift, xmax<<shift);
|
P_TOPRIGHT[0] = av_clip(mv_table[mot_xy - mot_stride + 1 ][0], xmin<<shift, xmax<<shift);
|
||||||
P_TOPRIGHT[1] = clip(mv_table[mot_xy - mot_stride + 1 ][1], ymin<<shift, ymax<<shift);
|
P_TOPRIGHT[1] = av_clip(mv_table[mot_xy - mot_stride + 1 ][1], ymin<<shift, ymax<<shift);
|
||||||
|
|
||||||
P_MEDIAN[0]= mid_pred(P_LEFT[0], P_TOP[0], P_TOPRIGHT[0]);
|
P_MEDIAN[0]= mid_pred(P_LEFT[0], P_TOP[0], P_TOPRIGHT[0]);
|
||||||
P_MEDIAN[1]= mid_pred(P_LEFT[1], P_TOP[1], P_TOPRIGHT[1]);
|
P_MEDIAN[1]= mid_pred(P_LEFT[1], P_TOP[1], P_TOPRIGHT[1]);
|
||||||
|
@ -188,7 +188,7 @@ static void convert_matrix(DSPContext *dsp, int (*qmat)[64], uint16_t (*qmat16)[
|
|||||||
|
|
||||||
static inline void update_qscale(MpegEncContext *s){
|
static inline void update_qscale(MpegEncContext *s){
|
||||||
s->qscale= (s->lambda*139 + FF_LAMBDA_SCALE*64) >> (FF_LAMBDA_SHIFT + 7);
|
s->qscale= (s->lambda*139 + FF_LAMBDA_SCALE*64) >> (FF_LAMBDA_SHIFT + 7);
|
||||||
s->qscale= clip(s->qscale, s->avctx->qmin, s->avctx->qmax);
|
s->qscale= av_clip(s->qscale, s->avctx->qmin, s->avctx->qmax);
|
||||||
|
|
||||||
s->lambda2= (s->lambda*s->lambda + FF_LAMBDA_SCALE/2) >> FF_LAMBDA_SHIFT;
|
s->lambda2= (s->lambda*s->lambda + FF_LAMBDA_SCALE/2) >> FF_LAMBDA_SHIFT;
|
||||||
}
|
}
|
||||||
@ -1713,10 +1713,10 @@ void MPV_frame_end(MpegEncContext *s)
|
|||||||
static void draw_line(uint8_t *buf, int sx, int sy, int ex, int ey, int w, int h, int stride, int color){
|
static void draw_line(uint8_t *buf, int sx, int sy, int ex, int ey, int w, int h, int stride, int color){
|
||||||
int x, y, fr, f;
|
int x, y, fr, f;
|
||||||
|
|
||||||
sx= clip(sx, 0, w-1);
|
sx= av_clip(sx, 0, w-1);
|
||||||
sy= clip(sy, 0, h-1);
|
sy= av_clip(sy, 0, h-1);
|
||||||
ex= clip(ex, 0, w-1);
|
ex= av_clip(ex, 0, w-1);
|
||||||
ey= clip(ey, 0, h-1);
|
ey= av_clip(ey, 0, h-1);
|
||||||
|
|
||||||
buf[sy*stride + sx]+= color;
|
buf[sy*stride + sx]+= color;
|
||||||
|
|
||||||
@ -1762,10 +1762,10 @@ static void draw_line(uint8_t *buf, int sx, int sy, int ex, int ey, int w, int h
|
|||||||
static void draw_arrow(uint8_t *buf, int sx, int sy, int ex, int ey, int w, int h, int stride, int color){
|
static void draw_arrow(uint8_t *buf, int sx, int sy, int ex, int ey, int w, int h, int stride, int color){
|
||||||
int dx,dy;
|
int dx,dy;
|
||||||
|
|
||||||
sx= clip(sx, -100, w+100);
|
sx= av_clip(sx, -100, w+100);
|
||||||
sy= clip(sy, -100, h+100);
|
sy= av_clip(sy, -100, h+100);
|
||||||
ex= clip(ex, -100, w+100);
|
ex= av_clip(ex, -100, w+100);
|
||||||
ey= clip(ey, -100, h+100);
|
ey= av_clip(ey, -100, h+100);
|
||||||
|
|
||||||
dx= ex - sx;
|
dx= ex - sx;
|
||||||
dy= ey - sy;
|
dy= ey - sy;
|
||||||
@ -2664,10 +2664,10 @@ static inline void gmc1_motion(MpegEncContext *s,
|
|||||||
src_y = s->mb_y * 16 + (motion_y >> (s->sprite_warping_accuracy+1));
|
src_y = s->mb_y * 16 + (motion_y >> (s->sprite_warping_accuracy+1));
|
||||||
motion_x<<=(3-s->sprite_warping_accuracy);
|
motion_x<<=(3-s->sprite_warping_accuracy);
|
||||||
motion_y<<=(3-s->sprite_warping_accuracy);
|
motion_y<<=(3-s->sprite_warping_accuracy);
|
||||||
src_x = clip(src_x, -16, s->width);
|
src_x = av_clip(src_x, -16, s->width);
|
||||||
if (src_x == s->width)
|
if (src_x == s->width)
|
||||||
motion_x =0;
|
motion_x =0;
|
||||||
src_y = clip(src_y, -16, s->height);
|
src_y = av_clip(src_y, -16, s->height);
|
||||||
if (src_y == s->height)
|
if (src_y == s->height)
|
||||||
motion_y =0;
|
motion_y =0;
|
||||||
|
|
||||||
@ -2706,10 +2706,10 @@ static inline void gmc1_motion(MpegEncContext *s,
|
|||||||
src_y = s->mb_y * 8 + (motion_y >> (s->sprite_warping_accuracy+1));
|
src_y = s->mb_y * 8 + (motion_y >> (s->sprite_warping_accuracy+1));
|
||||||
motion_x<<=(3-s->sprite_warping_accuracy);
|
motion_x<<=(3-s->sprite_warping_accuracy);
|
||||||
motion_y<<=(3-s->sprite_warping_accuracy);
|
motion_y<<=(3-s->sprite_warping_accuracy);
|
||||||
src_x = clip(src_x, -8, s->width>>1);
|
src_x = av_clip(src_x, -8, s->width>>1);
|
||||||
if (src_x == s->width>>1)
|
if (src_x == s->width>>1)
|
||||||
motion_x =0;
|
motion_x =0;
|
||||||
src_y = clip(src_y, -8, s->height>>1);
|
src_y = av_clip(src_y, -8, s->height>>1);
|
||||||
if (src_y == s->height>>1)
|
if (src_y == s->height>>1)
|
||||||
motion_y =0;
|
motion_y =0;
|
||||||
|
|
||||||
@ -2879,10 +2879,10 @@ static inline int hpel_motion(MpegEncContext *s,
|
|||||||
src_y += motion_y >> 1;
|
src_y += motion_y >> 1;
|
||||||
|
|
||||||
/* WARNING: do no forget half pels */
|
/* WARNING: do no forget half pels */
|
||||||
src_x = clip(src_x, -16, width); //FIXME unneeded for emu?
|
src_x = av_clip(src_x, -16, width); //FIXME unneeded for emu?
|
||||||
if (src_x == width)
|
if (src_x == width)
|
||||||
dxy &= ~1;
|
dxy &= ~1;
|
||||||
src_y = clip(src_y, -16, height);
|
src_y = av_clip(src_y, -16, height);
|
||||||
if (src_y == height)
|
if (src_y == height)
|
||||||
dxy &= ~2;
|
dxy &= ~2;
|
||||||
src += src_y * stride + src_x;
|
src += src_y * stride + src_x;
|
||||||
@ -3358,10 +3358,10 @@ static inline void chroma_4mv_motion(MpegEncContext *s,
|
|||||||
|
|
||||||
src_x = s->mb_x * 8 + mx;
|
src_x = s->mb_x * 8 + mx;
|
||||||
src_y = s->mb_y * 8 + my;
|
src_y = s->mb_y * 8 + my;
|
||||||
src_x = clip(src_x, -8, s->width/2);
|
src_x = av_clip(src_x, -8, s->width/2);
|
||||||
if (src_x == s->width/2)
|
if (src_x == s->width/2)
|
||||||
dxy &= ~1;
|
dxy &= ~1;
|
||||||
src_y = clip(src_y, -8, s->height/2);
|
src_y = av_clip(src_y, -8, s->height/2);
|
||||||
if (src_y == s->height/2)
|
if (src_y == s->height/2)
|
||||||
dxy &= ~2;
|
dxy &= ~2;
|
||||||
|
|
||||||
@ -3574,10 +3574,10 @@ static inline void MPV_motion(MpegEncContext *s,
|
|||||||
src_y = mb_y * 16 + (motion_y >> 2) + (i >>1) * 8;
|
src_y = mb_y * 16 + (motion_y >> 2) + (i >>1) * 8;
|
||||||
|
|
||||||
/* WARNING: do no forget half pels */
|
/* WARNING: do no forget half pels */
|
||||||
src_x = clip(src_x, -16, s->width);
|
src_x = av_clip(src_x, -16, s->width);
|
||||||
if (src_x == s->width)
|
if (src_x == s->width)
|
||||||
dxy &= ~3;
|
dxy &= ~3;
|
||||||
src_y = clip(src_y, -16, s->height);
|
src_y = av_clip(src_y, -16, s->height);
|
||||||
if (src_y == s->height)
|
if (src_y == s->height)
|
||||||
dxy &= ~12;
|
dxy &= ~12;
|
||||||
|
|
||||||
@ -4343,7 +4343,7 @@ static av_always_inline void encode_mb_internal(MpegEncContext *s, int motion_x,
|
|||||||
s->dquant= s->qscale - last_qp;
|
s->dquant= s->qscale - last_qp;
|
||||||
|
|
||||||
if(s->out_format==FMT_H263){
|
if(s->out_format==FMT_H263){
|
||||||
s->dquant= clip(s->dquant, -2, 2);
|
s->dquant= av_clip(s->dquant, -2, 2);
|
||||||
|
|
||||||
if(s->codec_id==CODEC_ID_MPEG4){
|
if(s->codec_id==CODEC_ID_MPEG4){
|
||||||
if(!s->mb_intra){
|
if(!s->mb_intra){
|
||||||
@ -5742,7 +5742,7 @@ static int encode_picture(MpegEncContext *s, int picture_number)
|
|||||||
for(i=1;i<64;i++){
|
for(i=1;i<64;i++){
|
||||||
int j= s->dsp.idct_permutation[i];
|
int j= s->dsp.idct_permutation[i];
|
||||||
|
|
||||||
s->intra_matrix[j] = clip_uint8((ff_mpeg1_default_intra_matrix[i] * s->qscale) >> 3);
|
s->intra_matrix[j] = av_clip_uint8((ff_mpeg1_default_intra_matrix[i] * s->qscale) >> 3);
|
||||||
}
|
}
|
||||||
convert_matrix(&s->dsp, s->q_intra_matrix, s->q_intra_matrix16,
|
convert_matrix(&s->dsp, s->q_intra_matrix, s->q_intra_matrix16,
|
||||||
s->intra_matrix, s->intra_quant_bias, 8, 8, 1);
|
s->intra_matrix, s->intra_quant_bias, 8, 8, 1);
|
||||||
|
@ -280,7 +280,7 @@ int ff_vbv_update(MpegEncContext *s, int frame_size){
|
|||||||
}
|
}
|
||||||
|
|
||||||
left= buffer_size - rcc->buffer_index - 1;
|
left= buffer_size - rcc->buffer_index - 1;
|
||||||
rcc->buffer_index += clip(left, min_rate, max_rate);
|
rcc->buffer_index += av_clip(left, min_rate, max_rate);
|
||||||
|
|
||||||
if(rcc->buffer_index > buffer_size){
|
if(rcc->buffer_index > buffer_size){
|
||||||
int stuffing= ceil((rcc->buffer_index - buffer_size)/8);
|
int stuffing= ceil((rcc->buffer_index - buffer_size)/8);
|
||||||
@ -417,8 +417,8 @@ static void get_qminmax(int *qmin_ret, int *qmax_ret, MpegEncContext *s, int pic
|
|||||||
qmax= (int)(qmax*FFABS(s->avctx->i_quant_factor)+s->avctx->i_quant_offset + 0.5);
|
qmax= (int)(qmax*FFABS(s->avctx->i_quant_factor)+s->avctx->i_quant_offset + 0.5);
|
||||||
}
|
}
|
||||||
|
|
||||||
qmin= clip(qmin, 1, FF_LAMBDA_MAX);
|
qmin= av_clip(qmin, 1, FF_LAMBDA_MAX);
|
||||||
qmax= clip(qmax, 1, FF_LAMBDA_MAX);
|
qmax= av_clip(qmax, 1, FF_LAMBDA_MAX);
|
||||||
|
|
||||||
if(qmax<qmin) qmax= qmin;
|
if(qmax<qmin) qmax= qmin;
|
||||||
|
|
||||||
@ -915,7 +915,7 @@ static int init_pass2(MpegEncContext *s)
|
|||||||
for(i=0; i<rcc->num_entries; i++){
|
for(i=0; i<rcc->num_entries; i++){
|
||||||
/* av_log(s->avctx, AV_LOG_DEBUG, "[lavc rc] entry[%d].new_qscale = %.3f qp = %.3f\n",
|
/* av_log(s->avctx, AV_LOG_DEBUG, "[lavc rc] entry[%d].new_qscale = %.3f qp = %.3f\n",
|
||||||
i, rcc->entry[i].new_qscale, rcc->entry[i].new_qscale / FF_QP2LAMBDA); */
|
i, rcc->entry[i].new_qscale, rcc->entry[i].new_qscale / FF_QP2LAMBDA); */
|
||||||
qscale_sum += clip(rcc->entry[i].new_qscale / FF_QP2LAMBDA, s->avctx->qmin, s->avctx->qmax);
|
qscale_sum += av_clip(rcc->entry[i].new_qscale / FF_QP2LAMBDA, s->avctx->qmin, s->avctx->qmax);
|
||||||
}
|
}
|
||||||
assert(toobig <= 40);
|
assert(toobig <= 40);
|
||||||
av_log(s->avctx, AV_LOG_DEBUG,
|
av_log(s->avctx, AV_LOG_DEBUG,
|
||||||
|
@ -121,7 +121,7 @@ void av_build_filter(FELEM *filter, double factor, int tap_count, int phase_coun
|
|||||||
|
|
||||||
/* normalize so that an uniform color remains the same */
|
/* normalize so that an uniform color remains the same */
|
||||||
for(i=0;i<tap_count;i++) {
|
for(i=0;i<tap_count;i++) {
|
||||||
v = clip(lrintf(tab[i] * scale / norm + e), FELEM_MIN, FELEM_MAX);
|
v = av_clip(lrintf(tab[i] * scale / norm + e), FELEM_MIN, FELEM_MAX);
|
||||||
filter[ph * tap_count + i] = v;
|
filter[ph * tap_count + i] = v;
|
||||||
e += tab[i] * scale / norm - v;
|
e += tab[i] * scale / norm - v;
|
||||||
}
|
}
|
||||||
|
@ -1810,7 +1810,7 @@ static inline void unpack_coeffs(SnowContext *s, SubBand *b, SubBand * parent, i
|
|||||||
static inline void decode_subband_slice_buffered(SnowContext *s, SubBand *b, slice_buffer * sb, int start_y, int h, int save_state[1]){
|
static inline void decode_subband_slice_buffered(SnowContext *s, SubBand *b, slice_buffer * sb, int start_y, int h, int save_state[1]){
|
||||||
const int w= b->width;
|
const int w= b->width;
|
||||||
int y;
|
int y;
|
||||||
const int qlog= clip(s->qlog + b->qlog, 0, QROOT*16);
|
const int qlog= av_clip(s->qlog + b->qlog, 0, QROOT*16);
|
||||||
int qmul= qexp[qlog&(QROOT-1)]<<(qlog>>QSHIFT);
|
int qmul= qexp[qlog&(QROOT-1)]<<(qlog>>QSHIFT);
|
||||||
int qadd= (s->qbias*qmul)>>QBIAS_SHIFT;
|
int qadd= (s->qbias*qmul)>>QBIAS_SHIFT;
|
||||||
int new_index = 0;
|
int new_index = 0;
|
||||||
@ -2898,7 +2898,7 @@ static int get_dc(SnowContext *s, int mb_x, int mb_y, int plane_index){
|
|||||||
}
|
}
|
||||||
*b= backup;
|
*b= backup;
|
||||||
|
|
||||||
return clip(((ab<<LOG2_OBMC_MAX) + aa/2)/aa, 0, 255); //FIXME we shouldnt need cliping
|
return av_clip(((ab<<LOG2_OBMC_MAX) + aa/2)/aa, 0, 255); //FIXME we shouldnt need cliping
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline int get_block_bits(SnowContext *s, int x, int y, int w){
|
static inline int get_block_bits(SnowContext *s, int x, int y, int w){
|
||||||
@ -3407,7 +3407,7 @@ static void quantize(SnowContext *s, SubBand *b, DWTELEM *src, int stride, int b
|
|||||||
const int level= b->level;
|
const int level= b->level;
|
||||||
const int w= b->width;
|
const int w= b->width;
|
||||||
const int h= b->height;
|
const int h= b->height;
|
||||||
const int qlog= clip(s->qlog + b->qlog, 0, QROOT*16);
|
const int qlog= av_clip(s->qlog + b->qlog, 0, QROOT*16);
|
||||||
const int qmul= qexp[qlog&(QROOT-1)]<<(qlog>>QSHIFT);
|
const int qmul= qexp[qlog&(QROOT-1)]<<(qlog>>QSHIFT);
|
||||||
int x,y, thres1, thres2;
|
int x,y, thres1, thres2;
|
||||||
// START_TIMER
|
// START_TIMER
|
||||||
@ -3466,7 +3466,7 @@ static void quantize(SnowContext *s, SubBand *b, DWTELEM *src, int stride, int b
|
|||||||
|
|
||||||
static void dequantize_slice_buffered(SnowContext *s, slice_buffer * sb, SubBand *b, DWTELEM *src, int stride, int start_y, int end_y){
|
static void dequantize_slice_buffered(SnowContext *s, slice_buffer * sb, SubBand *b, DWTELEM *src, int stride, int start_y, int end_y){
|
||||||
const int w= b->width;
|
const int w= b->width;
|
||||||
const int qlog= clip(s->qlog + b->qlog, 0, QROOT*16);
|
const int qlog= av_clip(s->qlog + b->qlog, 0, QROOT*16);
|
||||||
const int qmul= qexp[qlog&(QROOT-1)]<<(qlog>>QSHIFT);
|
const int qmul= qexp[qlog&(QROOT-1)]<<(qlog>>QSHIFT);
|
||||||
const int qadd= (s->qbias*qmul)>>QBIAS_SHIFT;
|
const int qadd= (s->qbias*qmul)>>QBIAS_SHIFT;
|
||||||
int x,y;
|
int x,y;
|
||||||
@ -3494,7 +3494,7 @@ static void dequantize_slice_buffered(SnowContext *s, slice_buffer * sb, SubBand
|
|||||||
static void dequantize(SnowContext *s, SubBand *b, DWTELEM *src, int stride){
|
static void dequantize(SnowContext *s, SubBand *b, DWTELEM *src, int stride){
|
||||||
const int w= b->width;
|
const int w= b->width;
|
||||||
const int h= b->height;
|
const int h= b->height;
|
||||||
const int qlog= clip(s->qlog + b->qlog, 0, QROOT*16);
|
const int qlog= av_clip(s->qlog + b->qlog, 0, QROOT*16);
|
||||||
const int qmul= qexp[qlog&(QROOT-1)]<<(qlog>>QSHIFT);
|
const int qmul= qexp[qlog&(QROOT-1)]<<(qlog>>QSHIFT);
|
||||||
const int qadd= (s->qbias*qmul)>>QBIAS_SHIFT;
|
const int qadd= (s->qbias*qmul)>>QBIAS_SHIFT;
|
||||||
int x,y;
|
int x,y;
|
||||||
@ -3869,7 +3869,7 @@ static int ratecontrol_1pass(SnowContext *s, AVFrame *pict)
|
|||||||
const int w= b->width;
|
const int w= b->width;
|
||||||
const int h= b->height;
|
const int h= b->height;
|
||||||
const int stride= b->stride;
|
const int stride= b->stride;
|
||||||
const int qlog= clip(2*QROOT + b->qlog, 0, QROOT*16);
|
const int qlog= av_clip(2*QROOT + b->qlog, 0, QROOT*16);
|
||||||
const int qmul= qexp[qlog&(QROOT-1)]<<(qlog>>QSHIFT);
|
const int qmul= qexp[qlog&(QROOT-1)]<<(qlog>>QSHIFT);
|
||||||
const int qdiv= (1<<16)/qmul;
|
const int qdiv= (1<<16)/qmul;
|
||||||
int x, y;
|
int x, y;
|
||||||
|
@ -1004,8 +1004,8 @@ static int encode_block(SVQ1Context *s, uint8_t *src, uint8_t *ref, uint8_t *dec
|
|||||||
diff= block_sum[stage] - sum;
|
diff= block_sum[stage] - sum;
|
||||||
mean= (diff + (size>>1)) >> (level+3);
|
mean= (diff + (size>>1)) >> (level+3);
|
||||||
assert(mean >-300 && mean<300);
|
assert(mean >-300 && mean<300);
|
||||||
if(intra) mean= clip(mean, 0, 255);
|
if(intra) mean= av_clip(mean, 0, 255);
|
||||||
else mean= clip(mean, -256, 255);
|
else mean= av_clip(mean, -256, 255);
|
||||||
score= sqr - ((diff*(int64_t)diff)>>(level+3)); //FIXME 64bit slooow
|
score= sqr - ((diff*(int64_t)diff)>>(level+3)); //FIXME 64bit slooow
|
||||||
if(score < best_vector_score){
|
if(score < best_vector_score){
|
||||||
best_vector_score= score;
|
best_vector_score= score;
|
||||||
|
@ -285,8 +285,8 @@ static inline void svq3_mc_dir_part (MpegEncContext *s,
|
|||||||
emu = 1;
|
emu = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
mx = clip (mx, -16, (s->h_edge_pos - width + 15));
|
mx = av_clip (mx, -16, (s->h_edge_pos - width + 15));
|
||||||
my = clip (my, -16, (s->v_edge_pos - height + 15));
|
my = av_clip (my, -16, (s->v_edge_pos - height + 15));
|
||||||
}
|
}
|
||||||
|
|
||||||
/* form component predictions */
|
/* form component predictions */
|
||||||
@ -361,8 +361,8 @@ static inline int svq3_mc_dir (H264Context *h, int size, int mode, int dir, int
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* clip motion vector prediction to frame border */
|
/* clip motion vector prediction to frame border */
|
||||||
mx = clip (mx, extra_width - 6*x, h_edge_pos - 6*x);
|
mx = av_clip (mx, extra_width - 6*x, h_edge_pos - 6*x);
|
||||||
my = clip (my, extra_width - 6*y, v_edge_pos - 6*y);
|
my = av_clip (my, extra_width - 6*y, v_edge_pos - 6*y);
|
||||||
|
|
||||||
/* get (optional) motion vector differential */
|
/* get (optional) motion vector differential */
|
||||||
if (mode == PREDICT_MODE) {
|
if (mode == PREDICT_MODE) {
|
||||||
|
@ -384,7 +384,7 @@ static inline void tm2_apply_deltas(TM2Context *ctx, int* Y, int stride, int *de
|
|||||||
d = deltas[i + j * 4];
|
d = deltas[i + j * 4];
|
||||||
ct += d;
|
ct += d;
|
||||||
last[i] += ct;
|
last[i] += ct;
|
||||||
Y[i] = clip_uint8(last[i]);
|
Y[i] = av_clip_uint8(last[i]);
|
||||||
}
|
}
|
||||||
Y += stride;
|
Y += stride;
|
||||||
ctx->D[j] = ct;
|
ctx->D[j] = ct;
|
||||||
@ -735,7 +735,7 @@ static int tm2_decode_blocks(TM2Context *ctx, AVFrame *p)
|
|||||||
src = (ctx->cur?ctx->Y2:ctx->Y1);
|
src = (ctx->cur?ctx->Y2:ctx->Y1);
|
||||||
for(j = 0; j < ctx->avctx->height; j++){
|
for(j = 0; j < ctx->avctx->height; j++){
|
||||||
for(i = 0; i < ctx->avctx->width; i++){
|
for(i = 0; i < ctx->avctx->width; i++){
|
||||||
Y[i] = clip_uint8(*src++);
|
Y[i] = av_clip_uint8(*src++);
|
||||||
}
|
}
|
||||||
Y += p->linesize[0];
|
Y += p->linesize[0];
|
||||||
}
|
}
|
||||||
@ -743,7 +743,7 @@ static int tm2_decode_blocks(TM2Context *ctx, AVFrame *p)
|
|||||||
src = (ctx->cur?ctx->U2:ctx->U1);
|
src = (ctx->cur?ctx->U2:ctx->U1);
|
||||||
for(j = 0; j < (ctx->avctx->height + 1) >> 1; j++){
|
for(j = 0; j < (ctx->avctx->height + 1) >> 1; j++){
|
||||||
for(i = 0; i < (ctx->avctx->width + 1) >> 1; i++){
|
for(i = 0; i < (ctx->avctx->width + 1) >> 1; i++){
|
||||||
U[i] = clip_uint8(*src++);
|
U[i] = av_clip_uint8(*src++);
|
||||||
}
|
}
|
||||||
U += p->linesize[2];
|
U += p->linesize[2];
|
||||||
}
|
}
|
||||||
@ -751,7 +751,7 @@ static int tm2_decode_blocks(TM2Context *ctx, AVFrame *p)
|
|||||||
src = (ctx->cur?ctx->V2:ctx->V1);
|
src = (ctx->cur?ctx->V2:ctx->V1);
|
||||||
for(j = 0; j < (ctx->avctx->height + 1) >> 1; j++){
|
for(j = 0; j < (ctx->avctx->height + 1) >> 1; j++){
|
||||||
for(i = 0; i < (ctx->avctx->width + 1) >> 1; i++){
|
for(i = 0; i < (ctx->avctx->width + 1) >> 1; i++){
|
||||||
V[i] = clip_uint8(*src++);
|
V[i] = av_clip_uint8(*src++);
|
||||||
}
|
}
|
||||||
V += p->linesize[1];
|
V += p->linesize[1];
|
||||||
}
|
}
|
||||||
|
@ -281,7 +281,7 @@ static void truespeech_synth(TSContext *dec, int16_t *out, int quart)
|
|||||||
for(k = 0; k < 8; k++)
|
for(k = 0; k < 8; k++)
|
||||||
sum += ptr0[k] * ptr1[k];
|
sum += ptr0[k] * ptr1[k];
|
||||||
sum = (sum + (out[i] << 12) + 0x800) >> 12;
|
sum = (sum + (out[i] << 12) + 0x800) >> 12;
|
||||||
out[i] = clip(sum, -0x7FFE, 0x7FFE);
|
out[i] = av_clip(sum, -0x7FFE, 0x7FFE);
|
||||||
for(k = 7; k > 0; k--)
|
for(k = 7; k > 0; k--)
|
||||||
ptr0[k] = ptr0[k - 1];
|
ptr0[k] = ptr0[k - 1];
|
||||||
ptr0[0] = out[i];
|
ptr0[0] = out[i];
|
||||||
@ -311,11 +311,11 @@ static void truespeech_synth(TSContext *dec, int16_t *out, int quart)
|
|||||||
sum += ptr0[k] * t[k];
|
sum += ptr0[k] * t[k];
|
||||||
for(k = 7; k > 0; k--)
|
for(k = 7; k > 0; k--)
|
||||||
ptr0[k] = ptr0[k - 1];
|
ptr0[k] = ptr0[k - 1];
|
||||||
ptr0[0] = clip((sum + 0x800) >> 12, -0x7FFE, 0x7FFE);
|
ptr0[0] = av_clip((sum + 0x800) >> 12, -0x7FFE, 0x7FFE);
|
||||||
|
|
||||||
sum = ((ptr0[1] * (dec->filtval - (dec->filtval >> 2))) >> 4) + sum;
|
sum = ((ptr0[1] * (dec->filtval - (dec->filtval >> 2))) >> 4) + sum;
|
||||||
sum = sum - (sum >> 3);
|
sum = sum - (sum >> 3);
|
||||||
out[i] = clip((sum + 0x800) >> 12, -0x7FFE, 0x7FFE);
|
out[i] = av_clip((sum + 0x800) >> 12, -0x7FFE, 0x7FFE);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -821,10 +821,10 @@ static void vc1_mc_1mv(VC1Context *v, int dir)
|
|||||||
uvsrc_x = s->mb_x * 8 + (uvmx >> 2);
|
uvsrc_x = s->mb_x * 8 + (uvmx >> 2);
|
||||||
uvsrc_y = s->mb_y * 8 + (uvmy >> 2);
|
uvsrc_y = s->mb_y * 8 + (uvmy >> 2);
|
||||||
|
|
||||||
src_x = clip( src_x, -16, s->mb_width * 16);
|
src_x = av_clip( src_x, -16, s->mb_width * 16);
|
||||||
src_y = clip( src_y, -16, s->mb_height * 16);
|
src_y = av_clip( src_y, -16, s->mb_height * 16);
|
||||||
uvsrc_x = clip(uvsrc_x, -8, s->mb_width * 8);
|
uvsrc_x = av_clip(uvsrc_x, -8, s->mb_width * 8);
|
||||||
uvsrc_y = clip(uvsrc_y, -8, s->mb_height * 8);
|
uvsrc_y = av_clip(uvsrc_y, -8, s->mb_height * 8);
|
||||||
|
|
||||||
srcY += src_y * s->linesize + src_x;
|
srcY += src_y * s->linesize + src_x;
|
||||||
srcU += uvsrc_y * s->uvlinesize + uvsrc_x;
|
srcU += uvsrc_y * s->uvlinesize + uvsrc_x;
|
||||||
@ -944,8 +944,8 @@ static void vc1_mc_4mv_luma(VC1Context *v, int n)
|
|||||||
src_x = s->mb_x * 16 + (n&1) * 8 + (mx >> 2);
|
src_x = s->mb_x * 16 + (n&1) * 8 + (mx >> 2);
|
||||||
src_y = s->mb_y * 16 + (n&2) * 4 + (my >> 2);
|
src_y = s->mb_y * 16 + (n&2) * 4 + (my >> 2);
|
||||||
|
|
||||||
src_x = clip( src_x, -16, s->mb_width * 16);
|
src_x = av_clip( src_x, -16, s->mb_width * 16);
|
||||||
src_y = clip( src_y, -16, s->mb_height * 16);
|
src_y = av_clip( src_y, -16, s->mb_height * 16);
|
||||||
|
|
||||||
srcY += src_y * s->linesize + src_x;
|
srcY += src_y * s->linesize + src_x;
|
||||||
|
|
||||||
@ -1071,8 +1071,8 @@ static void vc1_mc_4mv_chroma(VC1Context *v)
|
|||||||
uvsrc_x = s->mb_x * 8 + (uvmx >> 2);
|
uvsrc_x = s->mb_x * 8 + (uvmx >> 2);
|
||||||
uvsrc_y = s->mb_y * 8 + (uvmy >> 2);
|
uvsrc_y = s->mb_y * 8 + (uvmy >> 2);
|
||||||
|
|
||||||
uvsrc_x = clip(uvsrc_x, -8, s->mb_width * 8);
|
uvsrc_x = av_clip(uvsrc_x, -8, s->mb_width * 8);
|
||||||
uvsrc_y = clip(uvsrc_y, -8, s->mb_height * 8);
|
uvsrc_y = av_clip(uvsrc_y, -8, s->mb_height * 8);
|
||||||
srcU = s->last_picture.data[1] + uvsrc_y * s->uvlinesize + uvsrc_x;
|
srcU = s->last_picture.data[1] + uvsrc_y * s->uvlinesize + uvsrc_x;
|
||||||
srcV = s->last_picture.data[2] + uvsrc_y * s->uvlinesize + uvsrc_x;
|
srcV = s->last_picture.data[2] + uvsrc_y * s->uvlinesize + uvsrc_x;
|
||||||
if(v->rangeredfrm || (v->mv_mode == MV_PMODE_INTENSITY_COMP)
|
if(v->rangeredfrm || (v->mv_mode == MV_PMODE_INTENSITY_COMP)
|
||||||
@ -1499,8 +1499,8 @@ static int vc1_parse_frame_header(VC1Context *v, GetBitContext* gb)
|
|||||||
shift = v->lumshift << 6;
|
shift = v->lumshift << 6;
|
||||||
}
|
}
|
||||||
for(i = 0; i < 256; i++) {
|
for(i = 0; i < 256; i++) {
|
||||||
v->luty[i] = clip_uint8((scale * i + shift + 32) >> 6);
|
v->luty[i] = av_clip_uint8((scale * i + shift + 32) >> 6);
|
||||||
v->lutuv[i] = clip_uint8((scale * (i - 128) + 128*64 + 32) >> 6);
|
v->lutuv[i] = av_clip_uint8((scale * (i - 128) + 128*64 + 32) >> 6);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if(v->mv_mode == MV_PMODE_1MV_HPEL || v->mv_mode == MV_PMODE_1MV_HPEL_BILIN)
|
if(v->mv_mode == MV_PMODE_1MV_HPEL || v->mv_mode == MV_PMODE_1MV_HPEL_BILIN)
|
||||||
@ -1740,8 +1740,8 @@ static int vc1_parse_frame_header_adv(VC1Context *v, GetBitContext* gb)
|
|||||||
shift = v->lumshift << 6;
|
shift = v->lumshift << 6;
|
||||||
}
|
}
|
||||||
for(i = 0; i < 256; i++) {
|
for(i = 0; i < 256; i++) {
|
||||||
v->luty[i] = clip_uint8((scale * i + shift + 32) >> 6);
|
v->luty[i] = av_clip_uint8((scale * i + shift + 32) >> 6);
|
||||||
v->lutuv[i] = clip_uint8((scale * (i - 128) + 128*64 + 32) >> 6);
|
v->lutuv[i] = av_clip_uint8((scale * (i - 128) + 128*64 + 32) >> 6);
|
||||||
}
|
}
|
||||||
v->use_ic = 1;
|
v->use_ic = 1;
|
||||||
}
|
}
|
||||||
@ -2116,10 +2116,10 @@ static void vc1_interp_mc(VC1Context *v)
|
|||||||
uvsrc_x = s->mb_x * 8 + (uvmx >> 2);
|
uvsrc_x = s->mb_x * 8 + (uvmx >> 2);
|
||||||
uvsrc_y = s->mb_y * 8 + (uvmy >> 2);
|
uvsrc_y = s->mb_y * 8 + (uvmy >> 2);
|
||||||
|
|
||||||
src_x = clip( src_x, -16, s->mb_width * 16);
|
src_x = av_clip( src_x, -16, s->mb_width * 16);
|
||||||
src_y = clip( src_y, -16, s->mb_height * 16);
|
src_y = av_clip( src_y, -16, s->mb_height * 16);
|
||||||
uvsrc_x = clip(uvsrc_x, -8, s->mb_width * 8);
|
uvsrc_x = av_clip(uvsrc_x, -8, s->mb_width * 8);
|
||||||
uvsrc_y = clip(uvsrc_y, -8, s->mb_height * 8);
|
uvsrc_y = av_clip(uvsrc_y, -8, s->mb_height * 8);
|
||||||
|
|
||||||
srcY += src_y * s->linesize + src_x;
|
srcY += src_y * s->linesize + src_x;
|
||||||
srcU += uvsrc_y * s->uvlinesize + uvsrc_x;
|
srcU += uvsrc_y * s->uvlinesize + uvsrc_x;
|
||||||
|
@ -355,7 +355,7 @@ static void vc1_mspel_mc(uint8_t *dst, const uint8_t *src, int stride, int mode,
|
|||||||
tptr = tmp;
|
tptr = tmp;
|
||||||
for(j = 0; j < 11; j++) {
|
for(j = 0; j < 11; j++) {
|
||||||
for(i = 0; i < 8; i++)
|
for(i = 0; i < 8; i++)
|
||||||
tptr[i] = clip_uint8(vc1_mspel_filter(src + i, 1, m, r));
|
tptr[i] = av_clip_uint8(vc1_mspel_filter(src + i, 1, m, r));
|
||||||
src += stride;
|
src += stride;
|
||||||
tptr += 8;
|
tptr += 8;
|
||||||
}
|
}
|
||||||
@ -365,7 +365,7 @@ static void vc1_mspel_mc(uint8_t *dst, const uint8_t *src, int stride, int mode,
|
|||||||
tptr = tmp + 8;
|
tptr = tmp + 8;
|
||||||
for(j = 0; j < 8; j++) {
|
for(j = 0; j < 8; j++) {
|
||||||
for(i = 0; i < 8; i++)
|
for(i = 0; i < 8; i++)
|
||||||
dst[i] = clip_uint8(vc1_mspel_filter(tptr + i, 8, m, r));
|
dst[i] = av_clip_uint8(vc1_mspel_filter(tptr + i, 8, m, r));
|
||||||
dst += stride;
|
dst += stride;
|
||||||
tptr += 8;
|
tptr += 8;
|
||||||
}
|
}
|
||||||
|
@ -462,7 +462,7 @@ static void vmdaudio_decode_audio(VmdAudioContext *s, unsigned char *data,
|
|||||||
s->predictors[chan] -= vmdaudio_table[buf[i] & 0x7F];
|
s->predictors[chan] -= vmdaudio_table[buf[i] & 0x7F];
|
||||||
else
|
else
|
||||||
s->predictors[chan] += vmdaudio_table[buf[i]];
|
s->predictors[chan] += vmdaudio_table[buf[i]];
|
||||||
s->predictors[chan] = clip(s->predictors[chan], -32768, 32767);
|
s->predictors[chan] = av_clip(s->predictors[chan], -32768, 32767);
|
||||||
out[i] = s->predictors[chan];
|
out[i] = s->predictors[chan];
|
||||||
chan ^= stereo;
|
chan ^= stereo;
|
||||||
}
|
}
|
||||||
|
@ -633,7 +633,7 @@ static void init_dequantizer(Vp3DecodeContext *s)
|
|||||||
int qmin= 8<<(inter + !i);
|
int qmin= 8<<(inter + !i);
|
||||||
int qscale= i ? ac_scale_factor : dc_scale_factor;
|
int qscale= i ? ac_scale_factor : dc_scale_factor;
|
||||||
|
|
||||||
s->qmat[inter][plane][i]= clip((qscale * coeff)/100 * 4, qmin, 4096);
|
s->qmat[inter][plane][i]= av_clip((qscale * coeff)/100 * 4, qmin, 4096);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1729,8 +1729,8 @@ static void horizontal_filter(unsigned char *first_pixel, int stride,
|
|||||||
(first_pixel[-2] - first_pixel[ 1])
|
(first_pixel[-2] - first_pixel[ 1])
|
||||||
+3*(first_pixel[ 0] - first_pixel[-1]);
|
+3*(first_pixel[ 0] - first_pixel[-1]);
|
||||||
filter_value = bounding_values[(filter_value + 4) >> 3];
|
filter_value = bounding_values[(filter_value + 4) >> 3];
|
||||||
first_pixel[-1] = clip_uint8(first_pixel[-1] + filter_value);
|
first_pixel[-1] = av_clip_uint8(first_pixel[-1] + filter_value);
|
||||||
first_pixel[ 0] = clip_uint8(first_pixel[ 0] - filter_value);
|
first_pixel[ 0] = av_clip_uint8(first_pixel[ 0] - filter_value);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1746,8 +1746,8 @@ static void vertical_filter(unsigned char *first_pixel, int stride,
|
|||||||
(first_pixel[2 * nstride] - first_pixel[ stride])
|
(first_pixel[2 * nstride] - first_pixel[ stride])
|
||||||
+3*(first_pixel[0 ] - first_pixel[nstride]);
|
+3*(first_pixel[0 ] - first_pixel[nstride]);
|
||||||
filter_value = bounding_values[(filter_value + 4) >> 3];
|
filter_value = bounding_values[(filter_value + 4) >> 3];
|
||||||
first_pixel[nstride] = clip_uint8(first_pixel[nstride] + filter_value);
|
first_pixel[nstride] = av_clip_uint8(first_pixel[nstride] + filter_value);
|
||||||
first_pixel[0] = clip_uint8(first_pixel[0] - filter_value);
|
first_pixel[0] = av_clip_uint8(first_pixel[0] - filter_value);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -164,7 +164,7 @@ static void vp5_parse_coeff_models(vp56_context_t *s)
|
|||||||
for (pt=0; pt<2; pt++)
|
for (pt=0; pt<2; pt++)
|
||||||
for (ctx=0; ctx<36; ctx++)
|
for (ctx=0; ctx<36; ctx++)
|
||||||
for (node=0; node<5; node++)
|
for (node=0; node<5; node++)
|
||||||
s->coeff_model_dcct[pt][ctx][node] = clip(((s->coeff_model_dccv[pt][node] * vp5_dccv_lc[node][ctx][0] + 128) >> 8) + vp5_dccv_lc[node][ctx][1], 1, 254);
|
s->coeff_model_dcct[pt][ctx][node] = av_clip(((s->coeff_model_dccv[pt][node] * vp5_dccv_lc[node][ctx][0] + 128) >> 8) + vp5_dccv_lc[node][ctx][1], 1, 254);
|
||||||
|
|
||||||
/* coeff_model_acct is a linear combination of coeff_model_ract */
|
/* coeff_model_acct is a linear combination of coeff_model_ract */
|
||||||
for (ct=0; ct<3; ct++)
|
for (ct=0; ct<3; ct++)
|
||||||
@ -172,7 +172,7 @@ static void vp5_parse_coeff_models(vp56_context_t *s)
|
|||||||
for (cg=0; cg<3; cg++)
|
for (cg=0; cg<3; cg++)
|
||||||
for (ctx=0; ctx<6; ctx++)
|
for (ctx=0; ctx<6; ctx++)
|
||||||
for (node=0; node<5; node++)
|
for (node=0; node<5; node++)
|
||||||
s->coeff_model_acct[pt][ct][cg][ctx][node] = clip(((s->coeff_model_ract[pt][ct][cg][node] * vp5_ract_lc[ct][cg][node][ctx][0] + 128) >> 8) + vp5_ract_lc[ct][cg][node][ctx][1], 1, 254);
|
s->coeff_model_acct[pt][ct][cg][ctx][node] = av_clip(((s->coeff_model_ract[pt][ct][cg][node] * vp5_ract_lc[ct][cg][node][ctx][0] + 128) >> 8) + vp5_ract_lc[ct][cg][node][ctx][1], 1, 254);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void vp5_parse_coeff(vp56_context_t *s)
|
static void vp5_parse_coeff(vp56_context_t *s)
|
||||||
|
@ -308,8 +308,8 @@ static void vp56_edge_filter(vp56_context_t *s, uint8_t *yuv,
|
|||||||
for (i=0; i<12; i++) {
|
for (i=0; i<12; i++) {
|
||||||
v = (yuv[-pix2_inc] + 3*(yuv[0]-yuv[-pix_inc]) - yuv[pix_inc] + 4) >>3;
|
v = (yuv[-pix2_inc] + 3*(yuv[0]-yuv[-pix_inc]) - yuv[pix_inc] + 4) >>3;
|
||||||
v = s->adjust(v, t);
|
v = s->adjust(v, t);
|
||||||
yuv[-pix_inc] = clip_uint8(yuv[-pix_inc] + v);
|
yuv[-pix_inc] = av_clip_uint8(yuv[-pix_inc] + v);
|
||||||
yuv[0] = clip_uint8(yuv[0] - v);
|
yuv[0] = av_clip_uint8(yuv[0] - v);
|
||||||
yuv += line_inc;
|
yuv += line_inc;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -236,7 +236,7 @@ static void vp6_parse_coeff_models(vp56_context_t *s)
|
|||||||
for (pt=0; pt<2; pt++)
|
for (pt=0; pt<2; pt++)
|
||||||
for (ctx=0; ctx<3; ctx++)
|
for (ctx=0; ctx<3; ctx++)
|
||||||
for (node=0; node<5; node++)
|
for (node=0; node<5; node++)
|
||||||
s->coeff_model_dcct[pt][ctx][node] = clip(((s->coeff_model_dccv[pt][node] * vp6_dccv_lc[ctx][node][0] + 128) >> 8) + vp6_dccv_lc[ctx][node][1], 1, 255);
|
s->coeff_model_dcct[pt][ctx][node] = av_clip(((s->coeff_model_dccv[pt][node] * vp6_dccv_lc[ctx][node][0] + 128) >> 8) + vp6_dccv_lc[ctx][node][1], 1, 255);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void vp6_parse_vector_adjustment(vp56_context_t *s, vp56_mv_t *vect)
|
static void vp6_parse_vector_adjustment(vp56_context_t *s, vp56_mv_t *vect)
|
||||||
@ -395,7 +395,7 @@ static void vp6_filter_hv4(uint8_t *dst, uint8_t *src, int stride,
|
|||||||
|
|
||||||
for (y=0; y<8; y++) {
|
for (y=0; y<8; y++) {
|
||||||
for (x=0; x<8; x++) {
|
for (x=0; x<8; x++) {
|
||||||
dst[x] = clip_uint8(( src[x-delta ] * weights[0]
|
dst[x] = av_clip_uint8(( src[x-delta ] * weights[0]
|
||||||
+ src[x ] * weights[1]
|
+ src[x ] * weights[1]
|
||||||
+ src[x+delta ] * weights[2]
|
+ src[x+delta ] * weights[2]
|
||||||
+ src[x+2*delta] * weights[3] + 64) >> 7);
|
+ src[x+2*delta] * weights[3] + 64) >> 7);
|
||||||
@ -434,7 +434,7 @@ static void vp6_filter_diag4(uint8_t *dst, uint8_t *src, int stride,
|
|||||||
|
|
||||||
for (y=0; y<11; y++) {
|
for (y=0; y<11; y++) {
|
||||||
for (x=0; x<8; x++) {
|
for (x=0; x<8; x++) {
|
||||||
t[x] = clip_uint8(( src[x-1] * h_weights[0]
|
t[x] = av_clip_uint8(( src[x-1] * h_weights[0]
|
||||||
+ src[x ] * h_weights[1]
|
+ src[x ] * h_weights[1]
|
||||||
+ src[x+1] * h_weights[2]
|
+ src[x+1] * h_weights[2]
|
||||||
+ src[x+2] * h_weights[3] + 64) >> 7);
|
+ src[x+2] * h_weights[3] + 64) >> 7);
|
||||||
@ -446,7 +446,7 @@ static void vp6_filter_diag4(uint8_t *dst, uint8_t *src, int stride,
|
|||||||
t = tmp + 8;
|
t = tmp + 8;
|
||||||
for (y=0; y<8; y++) {
|
for (y=0; y<8; y++) {
|
||||||
for (x=0; x<8; x++) {
|
for (x=0; x<8; x++) {
|
||||||
dst[x] = clip_uint8(( t[x-8 ] * v_weights[0]
|
dst[x] = av_clip_uint8(( t[x-8 ] * v_weights[0]
|
||||||
+ t[x ] * v_weights[1]
|
+ t[x ] * v_weights[1]
|
||||||
+ t[x+8 ] * v_weights[2]
|
+ t[x+8 ] * v_weights[2]
|
||||||
+ t[x+16] * v_weights[3] + 64) >> 7);
|
+ t[x+16] * v_weights[3] + 64) >> 7);
|
||||||
|
@ -641,8 +641,8 @@ void ff_mspel_motion(MpegEncContext *s,
|
|||||||
|
|
||||||
/* WARNING: do no forget half pels */
|
/* WARNING: do no forget half pels */
|
||||||
v_edge_pos = s->v_edge_pos;
|
v_edge_pos = s->v_edge_pos;
|
||||||
src_x = clip(src_x, -16, s->width);
|
src_x = av_clip(src_x, -16, s->width);
|
||||||
src_y = clip(src_y, -16, s->height);
|
src_y = av_clip(src_y, -16, s->height);
|
||||||
|
|
||||||
if(src_x<=-16 || src_x >= s->width)
|
if(src_x<=-16 || src_x >= s->width)
|
||||||
dxy &= ~3;
|
dxy &= ~3;
|
||||||
@ -688,10 +688,10 @@ void ff_mspel_motion(MpegEncContext *s,
|
|||||||
|
|
||||||
src_x = s->mb_x * 8 + mx;
|
src_x = s->mb_x * 8 + mx;
|
||||||
src_y = s->mb_y * 8 + my;
|
src_y = s->mb_y * 8 + my;
|
||||||
src_x = clip(src_x, -8, s->width >> 1);
|
src_x = av_clip(src_x, -8, s->width >> 1);
|
||||||
if (src_x == (s->width >> 1))
|
if (src_x == (s->width >> 1))
|
||||||
dxy &= ~1;
|
dxy &= ~1;
|
||||||
src_y = clip(src_y, -8, s->height >> 1);
|
src_y = av_clip(src_y, -8, s->height >> 1);
|
||||||
if (src_y == (s->height >> 1))
|
if (src_y == (s->height >> 1))
|
||||||
dxy &= ~2;
|
dxy &= ~2;
|
||||||
offset = (src_y * uvlinesize) + src_x;
|
offset = (src_y * uvlinesize) + src_x;
|
||||||
|
@ -163,7 +163,7 @@ static inline int mid_pred(int a, int b, int c)
|
|||||||
* @param amax maximum value of the clip range
|
* @param amax maximum value of the clip range
|
||||||
* @return clipped value
|
* @return clipped value
|
||||||
*/
|
*/
|
||||||
static inline int clip(int a, int amin, int amax)
|
static inline int av_clip(int a, int amin, int amax)
|
||||||
{
|
{
|
||||||
if (a < amin) return amin;
|
if (a < amin) return amin;
|
||||||
else if (a > amax) return amax;
|
else if (a > amax) return amax;
|
||||||
@ -175,7 +175,7 @@ static inline int clip(int a, int amin, int amax)
|
|||||||
* @param a value to clip
|
* @param a value to clip
|
||||||
* @return clipped value
|
* @return clipped value
|
||||||
*/
|
*/
|
||||||
static inline uint8_t clip_uint8(int a)
|
static inline uint8_t av_clip_uint8(int a)
|
||||||
{
|
{
|
||||||
if (a&(~255)) return (-a)>>31;
|
if (a&(~255)) return (-a)>>31;
|
||||||
else return a;
|
else return a;
|
||||||
|
Loading…
Reference in New Issue
Block a user