comparison mpegvideo.c @ 4594:a96d905dcbaa libavcodec

Add av_ prefix to clip functions
author reimar
date Sun, 25 Feb 2007 10:27:12 +0000
parents 5af00e83f439
children c81aa982b72b
comparison
equal deleted inserted replaced
4593:2aea8bf268d8 4594:a96d905dcbaa
186 } 186 }
187 } 187 }
188 188
189 static inline void update_qscale(MpegEncContext *s){ 189 static inline void update_qscale(MpegEncContext *s){
190 s->qscale= (s->lambda*139 + FF_LAMBDA_SCALE*64) >> (FF_LAMBDA_SHIFT + 7); 190 s->qscale= (s->lambda*139 + FF_LAMBDA_SCALE*64) >> (FF_LAMBDA_SHIFT + 7);
191 s->qscale= clip(s->qscale, s->avctx->qmin, s->avctx->qmax); 191 s->qscale= av_clip(s->qscale, s->avctx->qmin, s->avctx->qmax);
192 192
193 s->lambda2= (s->lambda*s->lambda + FF_LAMBDA_SCALE/2) >> FF_LAMBDA_SHIFT; 193 s->lambda2= (s->lambda*s->lambda + FF_LAMBDA_SCALE/2) >> FF_LAMBDA_SHIFT;
194 } 194 }
195 #endif //CONFIG_ENCODERS 195 #endif //CONFIG_ENCODERS
196 196
1711 * @param color color of the arrow 1711 * @param color color of the arrow
1712 */ 1712 */
1713 static void draw_line(uint8_t *buf, int sx, int sy, int ex, int ey, int w, int h, int stride, int color){ 1713 static void draw_line(uint8_t *buf, int sx, int sy, int ex, int ey, int w, int h, int stride, int color){
1714 int x, y, fr, f; 1714 int x, y, fr, f;
1715 1715
1716 sx= clip(sx, 0, w-1); 1716 sx= av_clip(sx, 0, w-1);
1717 sy= clip(sy, 0, h-1); 1717 sy= av_clip(sy, 0, h-1);
1718 ex= clip(ex, 0, w-1); 1718 ex= av_clip(ex, 0, w-1);
1719 ey= clip(ey, 0, h-1); 1719 ey= av_clip(ey, 0, h-1);
1720 1720
1721 buf[sy*stride + sx]+= color; 1721 buf[sy*stride + sx]+= color;
1722 1722
1723 if(FFABS(ex - sx) > FFABS(ey - sy)){ 1723 if(FFABS(ex - sx) > FFABS(ey - sy)){
1724 if(sx > ex){ 1724 if(sx > ex){
1760 * @param color color of the arrow 1760 * @param color color of the arrow
1761 */ 1761 */
1762 static void draw_arrow(uint8_t *buf, int sx, int sy, int ex, int ey, int w, int h, int stride, int color){ 1762 static void draw_arrow(uint8_t *buf, int sx, int sy, int ex, int ey, int w, int h, int stride, int color){
1763 int dx,dy; 1763 int dx,dy;
1764 1764
1765 sx= clip(sx, -100, w+100); 1765 sx= av_clip(sx, -100, w+100);
1766 sy= clip(sy, -100, h+100); 1766 sy= av_clip(sy, -100, h+100);
1767 ex= clip(ex, -100, w+100); 1767 ex= av_clip(ex, -100, w+100);
1768 ey= clip(ey, -100, h+100); 1768 ey= av_clip(ey, -100, h+100);
1769 1769
1770 dx= ex - sx; 1770 dx= ex - sx;
1771 dy= ey - sy; 1771 dy= ey - sy;
1772 1772
1773 if(dx*dx + dy*dy > 3*3){ 1773 if(dx*dx + dy*dy > 3*3){
2662 motion_y= s->sprite_offset[0][1]; 2662 motion_y= s->sprite_offset[0][1];
2663 src_x = s->mb_x * 16 + (motion_x >> (s->sprite_warping_accuracy+1)); 2663 src_x = s->mb_x * 16 + (motion_x >> (s->sprite_warping_accuracy+1));
2664 src_y = s->mb_y * 16 + (motion_y >> (s->sprite_warping_accuracy+1)); 2664 src_y = s->mb_y * 16 + (motion_y >> (s->sprite_warping_accuracy+1));
2665 motion_x<<=(3-s->sprite_warping_accuracy); 2665 motion_x<<=(3-s->sprite_warping_accuracy);
2666 motion_y<<=(3-s->sprite_warping_accuracy); 2666 motion_y<<=(3-s->sprite_warping_accuracy);
2667 src_x = clip(src_x, -16, s->width); 2667 src_x = av_clip(src_x, -16, s->width);
2668 if (src_x == s->width) 2668 if (src_x == s->width)
2669 motion_x =0; 2669 motion_x =0;
2670 src_y = clip(src_y, -16, s->height); 2670 src_y = av_clip(src_y, -16, s->height);
2671 if (src_y == s->height) 2671 if (src_y == s->height)
2672 motion_y =0; 2672 motion_y =0;
2673 2673
2674 linesize = s->linesize; 2674 linesize = s->linesize;
2675 uvlinesize = s->uvlinesize; 2675 uvlinesize = s->uvlinesize;
2704 motion_y= s->sprite_offset[1][1]; 2704 motion_y= s->sprite_offset[1][1];
2705 src_x = s->mb_x * 8 + (motion_x >> (s->sprite_warping_accuracy+1)); 2705 src_x = s->mb_x * 8 + (motion_x >> (s->sprite_warping_accuracy+1));
2706 src_y = s->mb_y * 8 + (motion_y >> (s->sprite_warping_accuracy+1)); 2706 src_y = s->mb_y * 8 + (motion_y >> (s->sprite_warping_accuracy+1));
2707 motion_x<<=(3-s->sprite_warping_accuracy); 2707 motion_x<<=(3-s->sprite_warping_accuracy);
2708 motion_y<<=(3-s->sprite_warping_accuracy); 2708 motion_y<<=(3-s->sprite_warping_accuracy);
2709 src_x = clip(src_x, -8, s->width>>1); 2709 src_x = av_clip(src_x, -8, s->width>>1);
2710 if (src_x == s->width>>1) 2710 if (src_x == s->width>>1)
2711 motion_x =0; 2711 motion_x =0;
2712 src_y = clip(src_y, -8, s->height>>1); 2712 src_y = av_clip(src_y, -8, s->height>>1);
2713 if (src_y == s->height>>1) 2713 if (src_y == s->height>>1)
2714 motion_y =0; 2714 motion_y =0;
2715 2715
2716 offset = (src_y * uvlinesize) + src_x; 2716 offset = (src_y * uvlinesize) + src_x;
2717 ptr = ref_picture[1] + offset; 2717 ptr = ref_picture[1] + offset;
2877 dxy = ((motion_y & 1) << 1) | (motion_x & 1); 2877 dxy = ((motion_y & 1) << 1) | (motion_x & 1);
2878 src_x += motion_x >> 1; 2878 src_x += motion_x >> 1;
2879 src_y += motion_y >> 1; 2879 src_y += motion_y >> 1;
2880 2880
2881 /* WARNING: do no forget half pels */ 2881 /* WARNING: do no forget half pels */
2882 src_x = clip(src_x, -16, width); //FIXME unneeded for emu? 2882 src_x = av_clip(src_x, -16, width); //FIXME unneeded for emu?
2883 if (src_x == width) 2883 if (src_x == width)
2884 dxy &= ~1; 2884 dxy &= ~1;
2885 src_y = clip(src_y, -16, height); 2885 src_y = av_clip(src_y, -16, height);
2886 if (src_y == height) 2886 if (src_y == height)
2887 dxy &= ~2; 2887 dxy &= ~2;
2888 src += src_y * stride + src_x; 2888 src += src_y * stride + src_x;
2889 2889
2890 if(s->unrestricted_mv && (s->flags&CODEC_FLAG_EMU_EDGE)){ 2890 if(s->unrestricted_mv && (s->flags&CODEC_FLAG_EMU_EDGE)){
3356 mx >>= 1; 3356 mx >>= 1;
3357 my >>= 1; 3357 my >>= 1;
3358 3358
3359 src_x = s->mb_x * 8 + mx; 3359 src_x = s->mb_x * 8 + mx;
3360 src_y = s->mb_y * 8 + my; 3360 src_y = s->mb_y * 8 + my;
3361 src_x = clip(src_x, -8, s->width/2); 3361 src_x = av_clip(src_x, -8, s->width/2);
3362 if (src_x == s->width/2) 3362 if (src_x == s->width/2)
3363 dxy &= ~1; 3363 dxy &= ~1;
3364 src_y = clip(src_y, -8, s->height/2); 3364 src_y = av_clip(src_y, -8, s->height/2);
3365 if (src_y == s->height/2) 3365 if (src_y == s->height/2)
3366 dxy &= ~2; 3366 dxy &= ~2;
3367 3367
3368 offset = (src_y * (s->uvlinesize)) + src_x; 3368 offset = (src_y * (s->uvlinesize)) + src_x;
3369 ptr = ref_picture[1] + offset; 3369 ptr = ref_picture[1] + offset;
3572 dxy = ((motion_y & 3) << 2) | (motion_x & 3); 3572 dxy = ((motion_y & 3) << 2) | (motion_x & 3);
3573 src_x = mb_x * 16 + (motion_x >> 2) + (i & 1) * 8; 3573 src_x = mb_x * 16 + (motion_x >> 2) + (i & 1) * 8;
3574 src_y = mb_y * 16 + (motion_y >> 2) + (i >>1) * 8; 3574 src_y = mb_y * 16 + (motion_y >> 2) + (i >>1) * 8;
3575 3575
3576 /* WARNING: do no forget half pels */ 3576 /* WARNING: do no forget half pels */
3577 src_x = clip(src_x, -16, s->width); 3577 src_x = av_clip(src_x, -16, s->width);
3578 if (src_x == s->width) 3578 if (src_x == s->width)
3579 dxy &= ~3; 3579 dxy &= ~3;
3580 src_y = clip(src_y, -16, s->height); 3580 src_y = av_clip(src_y, -16, s->height);
3581 if (src_y == s->height) 3581 if (src_y == s->height)
3582 dxy &= ~12; 3582 dxy &= ~12;
3583 3583
3584 ptr = ref_picture[0] + (src_y * s->linesize) + (src_x); 3584 ptr = ref_picture[0] + (src_y * s->linesize) + (src_x);
3585 if(s->flags&CODEC_FLAG_EMU_EDGE){ 3585 if(s->flags&CODEC_FLAG_EMU_EDGE){
4341 if(!(s->flags&CODEC_FLAG_QP_RD)){ 4341 if(!(s->flags&CODEC_FLAG_QP_RD)){
4342 s->qscale= s->current_picture_ptr->qscale_table[mb_xy]; 4342 s->qscale= s->current_picture_ptr->qscale_table[mb_xy];
4343 s->dquant= s->qscale - last_qp; 4343 s->dquant= s->qscale - last_qp;
4344 4344
4345 if(s->out_format==FMT_H263){ 4345 if(s->out_format==FMT_H263){
4346 s->dquant= clip(s->dquant, -2, 2); 4346 s->dquant= av_clip(s->dquant, -2, 2);
4347 4347
4348 if(s->codec_id==CODEC_ID_MPEG4){ 4348 if(s->codec_id==CODEC_ID_MPEG4){
4349 if(!s->mb_intra){ 4349 if(!s->mb_intra){
4350 if(s->pict_type == B_TYPE){ 4350 if(s->pict_type == B_TYPE){
4351 if(s->dquant&1 || s->mv_dir&MV_DIRECT) 4351 if(s->dquant&1 || s->mv_dir&MV_DIRECT)
5740 /* for mjpeg, we do include qscale in the matrix */ 5740 /* for mjpeg, we do include qscale in the matrix */
5741 s->intra_matrix[0] = ff_mpeg1_default_intra_matrix[0]; 5741 s->intra_matrix[0] = ff_mpeg1_default_intra_matrix[0];
5742 for(i=1;i<64;i++){ 5742 for(i=1;i<64;i++){
5743 int j= s->dsp.idct_permutation[i]; 5743 int j= s->dsp.idct_permutation[i];
5744 5744
5745 s->intra_matrix[j] = clip_uint8((ff_mpeg1_default_intra_matrix[i] * s->qscale) >> 3); 5745 s->intra_matrix[j] = av_clip_uint8((ff_mpeg1_default_intra_matrix[i] * s->qscale) >> 3);
5746 } 5746 }
5747 convert_matrix(&s->dsp, s->q_intra_matrix, s->q_intra_matrix16, 5747 convert_matrix(&s->dsp, s->q_intra_matrix, s->q_intra_matrix16,
5748 s->intra_matrix, s->intra_quant_bias, 8, 8, 1); 5748 s->intra_matrix, s->intra_quant_bias, 8, 8, 1);
5749 s->qscale= 8; 5749 s->qscale= 8;
5750 } 5750 }